/*
Theme Name: Rocket Self Storage App Theme
Theme URI: https://example.com/rocket-self-storage-app
Author: Vieczorek
Description: Clean, configurable theme for StorageProfessional with fixed hero banner and built-in style controls.
\g<1>1.1.3
License: GPLv2 or later
Text Domain: rocket-self-storage-app
*/
:root{
  --rs-font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  --rs-heading-font: var(--rs-font);
  --rs-brand: #1e3a8a;
  --rs-link: #1d4ed8;
  --rs-text: #1f2937;
  --rs-muted: #6b7280;
  --rs-border: #e5e7eb;
  --rs-nav-link: #1f2937;
  --rs-max: 980px;
  --rs-base: 16px;
  --rs-h1: 40px;
  --rs-radius: 10px;
  --rs-btn-radius: 8px;
  --rs-btn-bg: #f8fafc;
  --rs-btn-text: #1f2937;
  --rs-hero-height: 340px;
  --rs-hero-overlay: 0.4; /* 0..1 */
}
*{box-sizing:border-box}
body{font-family:var(--rs-font);margin:0;color:var(--rs-text);line-height:1.5;background:#fff;font-size:var(--rs-base)}
a{color:var(--rs-link);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--rs-max);margin:0 auto;padding:0 20px}
.site-header{position:relative}
.rs-hero{position:relative;width:100%;height:var(--rs-hero-height);background-position:center;background-size:cover;background-repeat:no-repeat}
.rs-hero::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,var(--rs-hero-overlay))}
.rs-hero-inner{position:relative;z-index:1;height:100%;display:flex;align-items:center}
.rs-hero-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:10px 20px}
.site-branding{display:flex;align-items:center;gap:12px}
.site-logo img{height:44px;width:auto;display:block;border-radius:3px}
.site-title{font-weight:700;font-size:18px;margin:0;color:#111827}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:22px}
.main-nav a{font-weight:600;color:var(--rs-nav-link)}
.main-nav a:hover{color:#111827}
.site-main{padding:28px 0}
.page-title,h1{font-size:var(--rs-h1);letter-spacing:.2px;margin:8px 0 20px;font-family:var(--rs-heading-font)}
h2,h3,h4{font-family:var(--rs-heading-font)}
p{margin:0 0 12px}
ul{padding-left:22px}
.site-footer{border-top:1px solid var(--rs-border);padding:28px 0;margin-top:40px;color:var(--rs-muted);font-size:14px}
/* StorageProfessional UI */
.sp-units-wrap{margin:10px 0 24px}
.sp-list{padding-left:20px}
.sp-item{margin:6px 0;display:flex;align-items:center;gap:10px}
.sp-unit-label{font-weight:600}
.sp-unit-size{color:var(--rs-muted);font-size:14px}
.vdp-btn,.sp-button{display:inline-block;padding:8px 14px;border:1px solid var(--rs-border);border-radius:var(--rs-btn-radius);background:var(--rs-btn-bg);color:var(--rs-btn-text)}
.vdp-btn:hover,.sp-button:hover{filter:brightness(0.98)}
.vdp-input,input[type="text"],input[type="email"],input[type="tel"],input[type="date"]{width:100%;padding:12px;border:1px solid var(--rs-border);border-radius:var(--rs-radius);background:#fff}
.vdp-fieldset{border:1px solid var(--rs-border);padding:12px 14px;border-radius:var(--rs-radius);margin:12px 0}
.vdp-fieldset legend{padding:0 6px;font-weight:600}
.sp-grid{display:grid;gap:12px}
.sp-grid-2{grid-template-columns:repeat(2, 1fr)}
.sp-grid-3{grid-template-columns:2fr 1fr 1fr}
@media (max-width:720px){
  .sp-grid-2,.sp-grid-3{grid-template-columns:1fr}
  .page-title,h1{font-size:32px}
  .rs-hero{height:220px}
}
.notice{border-radius:8px;padding:10px 12px;border:1px solid var(--rs-border);background:#f8fafc}
.notice-success{background:#ecfdf5;border-color:#a7f3d0}
.notice-error{background:#fef2f2;border-color:#fecaca}
.sp-date-locked{background:#f3f4f6}
.wp-block{max-width:var(--rs-max)}


/* Rocket v1.1.4 footer layout */
.rocket-footer-grid{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
  margin-top: 20px;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,.08);
}
.rf-col{ font-size:14px; line-height:1.55; }
.rf-center{ text-align:center; }
.rf-right{ text-align:right; }
.rocket-footer-copy{ opacity:.8; font-size:13px; }
.rf-directions{ text-decoration:none; border:1px solid #d0d7de; border-radius:8px; padding:6px 10px; }
.rf-directions:hover{ background:#f3f4f6; }
@media (max-width: 720px){
  .rocket-footer-grid{
    grid-template-columns: 1fr;
    text-align:left;
  }
  .rf-right{ text-align:left; margin-top:8px; }
  .rf-center{ text-align:left; margin:8px 0; }
}
/* Rocket v1.1.5 footer cleanup */
.rocket-footer-grid{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
  margin-top: 20px;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,.08);
}
.rf-col{ font-size:14px; line-height:1.55; }
.rf-center{ text-align:center; }
.rf-right{ text-align:right; }
.rocket-footer-copy{ opacity:.8; font-size:13px; }
.rf-directions{ text-decoration:none; border:1px solid #d0d7de; border-radius:8px; padding:6px 10px; }
.rf-directions:hover{ background:#f3f4f6; }
@media (max-width: 720px){
  .rocket-footer-grid{ grid-template-columns: 1fr; }
  .rf-right, .rf-center{ text-align:left; margin-top:8px; }
}


/* Rocket v1.1.6 unified footer (hooked) */
.rocket-footer-grid{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
  margin-top: 20px;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,.08);
}
.rf-col{ font-size:14px; line-height:1.55; }
.rf-center{ text-align:center; }
.rf-right{ text-align:right; }
.rocket-footer-copy{ opacity:.8; font-size:13px; }
.rf-directions{ text-decoration:none; border:1px solid #d0d7de; border-radius:8px; padding:6px 10px; }
.rf-directions:hover{ background:#f3f4f6; }
@media (max-width: 720px){
  .rocket-footer-grid{ grid-template-columns: 1fr; }
  .rf-right, .rf-center{ text-align:left; margin-top:8px; }
}
/* === StorageProfessional — form field styling & inline layout ================= */

/* Make First/Last/Email/Phone/Date inputs match theme colors */
.sp-reserve-form input[type="text"],
.sp-reserve-form input[type="email"],
.sp-reserve-form input[type="tel"],
.sp-reserve-form input[type="date"] {
  width: 100%;
  border: 1px solid var(--rs-border, #e0e0e0);
  border-radius: var(--rs-radius, 10px);
  padding: 10px 12px;
  background: #fff;
  color: var(--rs-text, #1f2937);
  box-shadow: none;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.sp-reserve-form input[type="text"]:focus,
.sp-reserve-form input[type="email"]:focus,
.sp-reserve-form input[type="tel"]:focus,
.sp-reserve-form input[type="date"]:focus {
  border-color: var(--rs-link, #14de8d);
  box-shadow: 0 0 0 2px rgba(20, 222, 141, .12);
}

/* Equal-thirds row for Phone | Email | Move-In Date */
.sp-reserve-form .sp-inline3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; /* equal thirds */
  gap: 12px;
  margin: 8px 0 12px;
}

.sp-reserve-form .sp-inline3 .sp-field {
  min-width: 0; /* allow shrink to fit */
}

/* Mobile: stack fields vertically */
@media (max-width: 768px) {
  .sp-reserve-form .sp-inline3 {
    grid-template-columns: 1fr;
  }
}

/* Keep the small “Window: …” helper tight under the date field */
.sp-reserve-form .sp-inline3 .sp-field[data-field="start_date"] small,
.sp-reserve-form .sp-inline3 .sp-field[data-field="start_date"] .help,
.sp-reserve-form .sp-inline3 .sp-field[data-field="start_date"] + * {
  display: block;
  margin-top: 6px;
}
