
/* What-A-Rental lightweight site styles */
:root{
  --brand-yellow:#F2D01C;
  --brand-dark:#111111;
  --text:#222;
  --muted:#666;
  --bg:#fafafa;
}

*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}

.container{max-width:1100px;margin:0 auto;padding:0 20px}
.header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:1000}
.header .wrap {
  display: flex;          /* keep flexbox for nav + logo layout */
  align-items: center;
  justify-content: space-between;
  height: auto;           /* stop the bar from stretching too tall */
  padding: 10px 20px;     /* control spacing manually */
}

.logo img {
  height: 120px;          /* bigger logo */
  width: auto;            /* keep proportions */
  display: block;
}

.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}
.logo img{height:120px}
.logo .brand{font-weight:800;letter-spacing:.5px}

.nav a{margin-left:18px;text-decoration:none;color:var(--text)}
.nav .btn{background:var(--brand-yellow);padding:10px 14px;border-radius:10px;color:#000;font-weight:700}

.hero{background:linear-gradient(180deg, rgba(242,208,28,.15), rgba(0,0,0,.03));padding:70px 0 40px}
.hero .content{display:grid;grid-template-columns: 1.1fr .9fr;gap:28px;align-items:center}
.hero h1{font-size:44px;line-height:1.1;margin:0 0 12px}
.hero p{color:var(--muted);margin:0 0 24px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--brand-yellow);color:#000;padding:12px 18px;border-radius:12px;font-weight:700;font-size:16px;letter-spacing:0.2px;text-decoration:none}
.btn.outline{background:#fff;border:2px solid var(--brand-yellow);font-weight:700;font-size:16px;letter-spacing:0.2px}

button.btn {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  cursor: pointer;
  border: none;
  background: none;
  padding: 0;
}

button.btn,
button.btn.outline {
  appearance: none;
  -webkit-appearance: none;
}

.widget{background:#fff;border:1px solid #eee;border-radius:14px;padding:16px}

.section{padding:60px 0}
.section h2{font-size:28px;margin:0 0 22px}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid #eee;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;height:170px;object-fit:cover}
.card .body{padding:14px}
.card h3{margin:0 0 8px;font-size:18px}
.card ul{margin:0 0 10px 18px}
.card .muted{color:var(--muted);font-size:12px;margin-bottom:10px}
.card .actions{margin-top:auto;padding:14px}
.card .actions .btn{width:100%;text-align:center}

.banner{background:#fff;border:1px dashed #ddd;border-radius:12px;padding:18px;color:var(--muted)}

.footer{background:#0f0f0f;color:#bbb;padding:40px 0;margin-top:40px}
.footer a{color:#bbb}
.small{font-size:12px;color:#888}
@media (max-width:900px){
  .hero .content{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .grid{grid-template-columns:1fr}
}
/* Smooth scroll for anchor links */
html { scroll-behavior: smooth; }

/* Intake form layout */
#apply form { background:#fff; border:1px solid #eee; border-radius:12px; padding:16px; }
#apply .row { display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; }
#apply label { display:flex; flex-direction:column; font-size:14px; gap:6px; }
#apply input, #apply select, #apply textarea {
  padding:10px; border:1px solid #ddd; border-radius:8px; font:inherit;
}
#apply .actions { margin-top:12px; display:flex; align-items:center; gap:12px; }
#apply #formMessage.ok { color:#0a7a0a; }
#apply #formMessage.err { color:#b00020; }
#apply .hp { display:none !important; }
#apply .agree { margin-top:8px; font-size:14px; gap:8px; align-items:center; }

/* Responsive */
@media (max-width: 900px){ #apply .row { grid-template-columns: 1fr; } }
.banner.full {
  background: var(--brand-yellow);
  color: #000;
  padding: 40px 20px;
  text-align: center;
  border-radius: 0; /* full strip, no rounded corners */
  margin: 40px 0;
}
.footer .social {
  margin: 12px 0;
}
.footer .social a {
  color: #bbb;
  font-size: 20px;
  margin: 0 8px;
  text-decoration: none;
}
.footer .social a:hover {
  color: var(--brand-yellow);
}
.footer .container{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.footer .social{
  display:flex;
  gap:12px;
  margin-left:auto;
}
.footer .social a{
  color:#bbb;
  font-size:20px;
  text-decoration:none;
}
.footer .social a:hover{
  color:var(--brand-yellow);
}
.footer .small{
  width:100%;
  margin-top:6px;
}
/* Make the entire card behave like a link */
.card-link {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: transform .08s ease, box-shadow .08s ease;
}
.card-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
/* Card specs: seats & bags row */
.card .specs {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
  color: var(--muted);
  font-size: 14px;
  margin: 4px 0 8px;
}
.card .specs span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.card .specs i { font-size: 15px; }
.flag-badge{
  width:28px; height:auto;
  margin-left:8px;
  vertical-align:middle;
  border-radius:2px;
  box-shadow:0 1px 2px rgba(0,0,0,.12);
}
@media (max-width:480px){
  .flag-badge{ display:none; } /* keep the headline clean on small screens */
}

/* Subtle American flag watermark across hero */
.hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(0,0,0,0.00), rgba(0,0,0,0.02)); /* tiny depth */
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("assets/img/us-flag.svg") center/cover no-repeat;
  opacity: 0.08;                /* adjust between .05 and .12 to taste */
  pointer-events: none;         /* keep it non-interactive */
}

/* Optional: fade it out under the widget for readability */
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(60% 60% at 70% 40%, rgba(255,255,255,0.65), transparent 60%);
  pointer-events: none;
}

@media (max-width: 800px) {
  .hero::before { opacity: 0.06; }
  .hero::after  { background: radial-gradient(60% 60% at 70% 40%, rgba(255,255,255,0.75), transparent 60%); }
}
/* Collapsible Quick Quote (home) */
#reserve .booking-collapsible { border:1px solid #eee; border-radius:12px; background:#fff; }
#reserve summary { cursor:pointer; padding:12px 16px; font-weight:700; }
#reserve .booking-wrap { padding:0 16px 16px; }
#reserve #homeBookingFrame { width:100%; border:0; min-height:420px; }
@media (max-width:768px){ #reserve #homeBookingFrame { min-height:540px; } }
/* ----- Mobile improvements ----- */
.menu-toggle {
  display: none;
  font-size: 26px;
  line-height: 1;
  background: transparent;
  border: 0;
  padding: 8px;
  cursor: pointer;
}

@media (max-width: 900px){
  .header .wrap { padding: 8px 16px; }
  .logo img { height: 64px; }           /* was 120px; scale down for phones */
  .menu-toggle { display: block; }
  .nav { display: none; }                /* hide inline nav on mobile */
  .nav.open {
    display: flex;
    position: absolute;
    right: 16px;
    top: 72px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 10px;
    flex-direction: column;
    gap: 6px;
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
    z-index: 20;
  }
  .nav.open a { margin: 0; padding: 8px 10px; }

  .hero h1 { font-size: 30px; }         /* down from 44px */
  .hero p  { font-size: 15px; }

  .container { padding: 0 16px; }

  .card img { height: 140px; }          /* reduce crop height on phones */
}

@media (max-width: 600px){
  .logo img { height: 56px; }           /* even tighter on very small screens */
  .hero { padding: 48px 0 28px; }
  .btn { padding: 10px 14px; border-radius: 10px; }
}
.seasonal-blurb {
  position: absolute;
  right: 5%;
  top: 40%;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 8px;
  padding: 10px 18px;
  font-weight: 600;
  font-size: 1.1rem;
  color: #222;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

@media (max-width: 768px) {
  .seasonal-blurb {
    position: static;
    margin-top: 20px;
    text-align: center;
  }
}.seasonal-banner {
  position: absolute;
  right: 5%;
  top: 30%;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 12px;
  padding: 20px 25px;
  text-align: center;
  color: #2a2a2a;
  max-width: 300px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  overflow: hidden;
}

.seasonal-message h2 {
  font-size: 1.5rem;
  margin: 0 0 6px;
}

.seasonal-message p {
  font-size: 1rem;
  margin: 0;
}

/* Falling leaves animation */
.falling-leaves span {
  position: absolute;
  top: -50px;
  width: 20px;
  height: 20px;
  background-image: url('assets/img/leaf.png'); /* Replace with your small transparent leaf image */
  background-size: cover;
  opacity: 0.8;
  animation: fall 8s linear infinite;
}

.falling-leaves span:nth-child(1) { left: 10%; animation-delay: 0s; }
.falling-leaves span:nth-child(2) { left: 30%; animation-delay: 2s; }
.falling-leaves span:nth-child(3) { left: 50%; animation-delay: 4s; }
.falling-leaves span:nth-child(4) { left: 70%; animation-delay: 6s; }
.falling-leaves span:nth-child(5) { left: 90%; animation-delay: 1s; }

@keyframes fall {
  0% { transform: translateY(0) rotate(0deg); opacity: 1; }
  100% { transform: translateY(400px) rotate(360deg); opacity: 0; }
}
/* Seasonal banner block */
.seasonal-banner{
  position:absolute; right:5%; top:24%;
  background:rgba(255,255,255,.92);
  border-radius:12px; padding:22px 26px; max-width:360px;
  box-shadow:0 8px 24px rgba(0,0,0,.15);
  overflow:hidden; z-index:2;
}
.seasonal-message h2{ margin:0 0 6px; font-size:1.7rem; }
.seasonal-message p { margin:0; font-size:1.05rem; color:#333; }

/* particles */
.seasonal-particles{ position:absolute; inset:0; pointer-events:none; }
.seasonal-particles span{
  position:absolute; top:-48px; width:28px; height:28px;
  background-size:contain; background-repeat:no-repeat;
  opacity:.9; animation:fall 9s linear infinite;
}

/* fall vs winter assets via class */
.season--fall .seasonal-particles span{ background-image:url('assets/img/leaf.png'); }
.season--winter .seasonal-particles span{ background-image:url('assets/img/snowflake.png'); }

/* stagger & drift */
.seasonal-particles span:nth-child(odd){ animation-duration:10.5s; }
.seasonal-particles span:nth-child(3n){ width:22px; height:22px; opacity:.8; }
.seasonal-particles span:nth-child(4n){ width:32px; height:32px; opacity:.95; }

@keyframes fall{
  0%   { transform:translate3d(var(--x,0), -60px, 0) rotate(0deg); opacity:1; }
  100% { transform:translate3d(var(--x-end,0), 420px, 0) rotate(360deg); opacity:0; }
}

@media (max-width: 900px){
  .seasonal-banner{ position:static; margin:16px auto 0; }
}
.hero .container.content { position: relative; }
.seasonal-banner { position: absolute; right: 5%; top: 24%; }
@media (max-width: 900px){
  .seasonal-banner { position: static; margin-top: 16px; }
}
/* container/typography from earlier */
.hero .container.content { position: relative; }
.seasonal-banner{
  position:absolute; right:5%; top:24%;
  background:rgba(255,255,255,.92);
  border-radius:12px; padding:22px 26px; max-width:360px;
  box-shadow:0 8px 24px rgba(0,0,0,.15);
  overflow:hidden; z-index:2;
}
.seasonal-message h2{ margin:0 0 6px; font-size:1.7rem; }
.seasonal-message p { margin:0; font-size:1.05rem; color:#333; }

.seasonal-particles{ position:absolute; inset:0; pointer-events:none; }
.seasonal-particles span{
  position:absolute; top:-48px; width:28px; height:28px;
  background-size:contain; background-repeat:no-repeat;
  opacity:.9; animation:fall 9s linear infinite;
}
.seasonal-particles span:nth-child(odd){ animation-duration:10.5s; }
.seasonal-particles span:nth-child(3n){ width:22px; height:22px; opacity:.8; }
.seasonal-particles span:nth-child(4n){ width:32px; height:32px; opacity:.95; }

@keyframes fall{
  0%   { transform:translate3d(var(--x,0), -60px, 0) rotate(0deg); opacity:1; }
  100% { transform:translate3d(var(--x-end,0), 420px, 0) rotate(360deg); opacity:0; }
}

/* one line per season: swap the particle asset */
.season--valentines .seasonal-particles span { background-image:url('assets/img/heart.png'); }
.season--easter     .seasonal-particles span { background-image:url('assets/img/egg.png'); }
.season--spring     .seasonal-particles span { background-image:url('assets/img/beachball.png'); }
.season--memorial   .seasonal-particles span { background-image:url('assets/img/flag-mini.png'); }
.season--labor      .seasonal-particles span { background-image:url('assets/img/wrenchhammer.png'); }
.season--fall       .seasonal-particles span { background-image:url('assets/img/leaf.png'); }
.season--winter     .seasonal-particles span { background-image:url('assets/img/snowflake.png'); }

@media (max-width: 900px){
  .seasonal-banner{ position:static; margin:16px auto 0; }
}
/* === Fireworks for July 4 (auto-activated by JS) === */
.seasonal-banner .fireworks {
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:visible;
  z-index: 3;
}

/* Small bright dot that “rises” before the burst */
.fw-launch {
  position:absolute;
  left:var(--x, 50%);
  bottom:0;
  width:4px; height:4px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 8px #fff, 0 0 14px rgba(255,255,255,.8);
  animation: fw-rise var(--t, 1000ms) ease-out forwards;
}
@keyframes fw-rise {
  to {
    transform: translateY(calc(-1 * var(--h, 220px)));
    opacity:.85;
  }
}

/* Sparks from the explosion */
.fw-spark {
  position:absolute;
  left:var(--x, 50%);
  bottom:var(--h, 220px);
  width:4px; height:4px;
  border-radius:50%;
  background: var(--c, #fff);
  box-shadow: 0 0 8px var(--c);
  transform: translate(0,0);
  animation: fw-spark 900ms ease-out forwards;
}
@keyframes fw-spark {
  to {
    transform: translate(var(--sx, 0), var(--sy, 0));
    opacity: 0;
  }
}
/* Ensure the header can position the dropdown nav */
.header .wrap { position: relative; }

/* Base: desktop */
.menu-toggle { display: none; }

/* Mobile styles */
@media (max-width: 900px){
  .menu-toggle{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px; height: 42px;
    border: 1px solid #eee;
    border-radius: 10px;
    background: #fff;
    font-size: 22px;
    cursor: pointer;
  }

  .nav{
    position: absolute;
    top: 64px;         /* below header bar */
    right: 20px;
    display: none;     /* closed by default */
    flex-direction: column;
    gap: 10px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 12px;
    z-index: 999;
    min-width: 220px;
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
  }
  .nav.open{ display: flex; }

  .nav a{
    margin: 0;              /* reset desktop margin */
    padding: 10px 8px;
    border-radius: 8px;
  }
  .nav .btn{
    width: 100%;
    text-align: center;
  }
}
/* Credentials grid */
.cred-grid{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:18px;
}
.cred-card{
  background:#fff; border:1px solid #eee; border-radius:14px;
  padding:18px;
}
.cred-card h3{ margin:8px 0 8px; font-size:18px; }
.cred-card p{ margin:0 0 10px; color:var(--text); }
.cred-card ul{ margin:0 0 0 18px; }
.cred-icon{
  font-size:24px; line-height:1; width:42px; height:42px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid #eee; border-radius:10px; background:#fff;
}

/* Stack on mobile */
@media (max-width:900px){
  .cred-grid{ grid-template-columns:1fr; }
}

.cred-cta{
  margin-top:18px; display:flex; gap:12px; flex-wrap:wrap;
}
/* Workflow Section */
.workflow-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 24px;
}
.workflow-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 14px;
  padding: 20px;
  text-align: left;
}
.workflow-icon {
  font-size: 26px;
  width: 46px;
  height: 46px;
  border-radius: 10px;
  border: 1px solid #eee;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.workflow-card h3 {
  margin: 6px 0 8px;
  font-size: 18px;
}
.workflow-card p {
  margin: 0;
  color: var(--text);
}
.workflow-cta {
  margin-top: 28px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}

@media (max-width: 900px) {
  .workflow-grid {
    grid-template-columns: 1fr;
  }
}
/* Behind the Scenes Photo Grid */
.photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 24px;
}
.photo img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid #eee;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.photo img:hover {
  transform: scale(1.03);
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}
.caption {
  text-align: center;
  font-size: 14px;
  color: var(--muted);
  margin-top: 6px;
}
@media (max-width:900px) {
  .photo-grid { grid-template-columns: 1fr; }
  .photo img { height: auto; }
}
/* Gig+ logo sizing and alignment */
.gigplus-logo {
  width: 300px;          /* balanced size */
  max-width: 90%;        /* prevent overflow on small screens */
  height: auto;
  display: block;
  margin-bottom: 10px;
}

.hero .logo-area {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

@media (max-width: 900px) {
  .gigplus-logo {
    width: 240px;
    margin: 0 auto 10px;
  }
  .hero .logo-area {
    align-items: center;
    text-align: center;
  }
}
/* Dropdown menu for Buy A Car */
.dropdown {
  position: relative;
  display: inline-block;
}
.dropbtn {
  cursor: pointer;
}
.dropdown-content {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border: 1px solid #eee;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  padding: 12px 0;
  min-width: 300px;
  z-index: 999;
}
.dropdown-content a {
  display: block;
  padding: 10px 16px;
  text-decoration: none;
  color: var(--text);
  line-height: 1.3;
}
.dropdown-content a span {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
}
.dropdown:hover .dropdown-content {
  display: block;
}
/* ===== App-Ready block ===== */
.app-ready-wrap { padding-top: 2rem; padding-bottom: 2rem; }
.app-ready-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr; /* text left, visual right */
  gap: clamp(1rem, 3vw, 2rem);
  align-items: stretch;
}
@media (max-width: 900px) {
  .app-ready-grid { grid-template-columns: 1fr; }
}

.app-ready-copy h2 { margin: 0 0 .5rem; }
.app-ready-copy p { margin: 0 0 1rem; }

/* Right-side visual card */
.app-ready-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  min-height: 300px;
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(30,110,235,0.7), rgba(0,0,0,0.6)),
    linear-gradient(135deg, #0b1a34, #1E6EEB 60%, #0c1730);
  box-shadow: 0 10px 30px rgba(0,0,0,0.25);
  isolation: isolate;
}

/* Driver silhouette */
.driver-silhouette {
  position: absolute; inset: auto auto 0 0;
  width: 55%; max-width: 360px; aspect-ratio: 1 / 1;
  opacity: 0.18; transform: translate(-6%, 10%) scale(1.1);
}

/* Blurred “app” bubbles (generic) */
.app-bubble {
  background: white;
  box-shadow: 0 8px 22px rgba(0,0,0,0.25) inset, 0 2px 10px rgba(0,0,0,0.15);
  opacity: 0.8;
}
.app-bubble::after {
  /* inner glyph: simple generic icon via CSS (no brand) */
  content: "•";
  display: grid; place-items: center;
  color: #1E6EEB; font-weight: 900; font-size: 22px;
  width: 100%; height: 100%;
}

/* Positions/sizes for bubbles */
.app-bubble.b1 { width: 74px; height: 74px; top: 18%; right: 12%; }
.app-bubble.b2 { width: 52px; height: 52px; top: 42%; right: 28%; }
.app-bubble.b3 { width: 60px; height: 60px; top: 62%; right: 8%; }
.app-bubble.b4 { width: 46px; height: 46px; top: 28%; right: 2%; }

@keyframes floaty {
  0% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
  100% { transform: translateY(0); }
}
.app-bubble { animation: floaty 4.5s ease-in-out infinite; }
.app-bubble.b2 { animation-duration: 5.5s; }
.app-bubble.b3 { animation-duration: 6.2s; }
.app-bubble.b4 { animation-duration: 5.0s; }

.app-caption, .app-disclaimer {
  position: absolute; left: 16px; right: 16px; color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,0.35);
}
.app-caption { bottom: 40px; font-weight: 600; }
.app-disclaimer { bottom: 16px; font-size: 12px; opacity: 0.85; }

/* ===== Capability strip (animated horizontal scroll) ===== */
.capability-strip {
  margin-top: 18px;
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(255,255,255,0.7), rgba(255,255,255,0.6));
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.06);
}
.strip-track {
  display: inline-flex; gap: 2rem; padding: 12px 0;
  white-space: nowrap;
  animation: strip-scroll 18s linear infinite;
}
.strip-track span {
  display: inline-flex; align-items: center; gap: .5rem;
  font-weight: 600; color: #0b1a34;
  opacity: 0.95;
}
.strip-track i { font-size: 1rem; }

@keyframes strip-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); } /* because content duplicated */
}

/* Motion sensitivity */
@media (prefers-reduced-motion: reduce) {
  .app-bubble, .strip-track { animation: none !important; }
}
/* ===== App-Ready block ===== */
.app-ready-wrap { padding-top: 2rem; padding-bottom: 2rem; }
.app-ready-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;  /* copy left, visual right */
  gap:clamp(1rem,3vw,2rem);
  align-items:stretch;
}
@media (max-width: 900px){ .app-ready-grid{ grid-template-columns:1fr; } }

.app-ready-copy h2{ margin:0 0 .5rem; }
.app-ready-copy p{ margin:0 0 1rem; }

/* Right-side visual card */
.app-ready-card{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  min-height:300px;
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(30,110,235,.7), rgba(0,0,0,.6)),
    linear-gradient(135deg,#0b1a34,#1E6EEB 60%,#0c1730);
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  isolation:isolate;
}

/* Driver silhouette */
.driver-silhouette{
  position:absolute; inset:auto auto 0 0;
  width:55%; max-width:360px; aspect-ratio:1/1;
  opacity:.18; transform:translate(-6%,10%) scale(1.1);
}

/* Blurred generic “app” bubbles (no logos) */
.app-bubble{
  background:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,.25) inset, 0 2px 10px rgba(0,0,0,.15);
  opacity:.85;
}
.app-bubble::after{
  content:"•";
  display:grid; place-items:center;
  color:#1E6EEB; font-weight:900; font-size:22px;
  width:100%; height:100%;
}

/* bubble positions */
.app-bubble.b1{ width:74px; height:74px; top:18%; right:12%; }
.app-bubble.b2{ width:52px; height:52px; top:42%; right:28%; }
.app-bubble.b3{ width:60px; height:60px; top:62%; right:8%; }
.app-bubble.b4{ width:46px; height:46px; top:28%; right:2%; }

@keyframes floaty{ 0%{transform:translateY(0)} 50%{transform:translateY(-6px)} 100%{transform:translateY(0)} }
.app-bubble{ animation:floaty 4.5s ease-in-out infinite; }
.app-bubble.b2{ animation-duration:5.5s; }
.app-bubble.b3{ animation-duration:6.2s; }
.app-bubble.b4{ animation-duration:5.0s; }

.app-caption,.app-disclaimer{
  position:absolute; left:16px; right:16px; color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.app-caption{ bottom:40px; font-weight:600; }
.app-disclaimer{ bottom:16px; font-size:12px; opacity:.85; }

/* ===== Capability strip (animated horizontal scroll) ===== */
.capability-strip{
  margin-top:18px;
  border-radius:12px;
  background:linear-gradient(90deg, rgba(255,255,255,.7), rgba(255,255,255,.6));
  overflow:hidden;
  border:1px solid rgba(0,0,0,.06);
}
.strip-track{
  display:inline-flex; gap:2rem; padding:12px 0;
  white-space:nowrap;
  animation:strip-scroll 18s linear infinite;
}
.strip-track span{
  display:inline-flex; align-items:center; gap:.5rem;
  font-weight:600; color:#0b1a34; opacity:.95;
}
.strip-track i{ font-size:1rem; }

@keyframes strip-scroll{ 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

@media (prefers-reduced-motion: reduce){
  .app-bubble, .strip-track{ animation:none !important; }
}
/* === Gig+ two-column hero (split) === */
.hero--split .hero-split-grid{
  display: grid !important;                 /* force grid over any flex */
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
  min-height: clamp(280px, 36vh, 420px);
}
@media (max-width: 960px){
  .hero--split .hero-split-grid{ grid-template-columns: 1fr; }
}

/* Right visual card */
.hero-visual{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: 300px;
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(30,110,235,.75), rgba(10,20,45,.8)),
    linear-gradient(135deg,#0b1a34 10%, #1E6EEB 60%, #0c1730 100%);
  box-shadow: 0 12px 34px rgba(0,0,0,.24);
  isolation: isolate;
}

/* Driver silhouette holding phone */
.driver-phone{
  position: absolute; left: -6%; bottom: -6%;
  width: min(64%, 360px); height: auto;
  opacity: .22;
  pointer-events: none;
}

/* Abstract app bubbles (generic, no brands) */
.app-bubble{
  background: #fff;
  box-shadow: 0 8px 22px rgba(0,0,0,.25) inset, 0 2px 10px rgba(0,0,0,.15);
  opacity: .9;
}
.app-bubble::after{
  content: "•";
  display: grid; place-items: center;
  color: #1E6EEB; font-weight: 900; font-size: 22px;
  width: 100%; height: 100%;
}
/* positions */
.app-bubble.b1{ width:78px; height:78px; top:18%; right:14%; }
.app-bubble.b2{ width:54px; height:54px; top:44%; right:30%; }
.app-bubble.b3{ width:62px; height:62px; top:64%; right:10%; }
.app-bubble.b4{ width:46px; height:46px; top:28%; right:3%; }

@keyframes floaty{ 0%{transform:translateY(0)} 50%{transform:translateY(-6px)} 100%{transform:translateY(0)} }
.app-bubble{ animation: floaty 4.5s ease-in-out infinite; }
.app-bubble.b2{ animation-duration: 5.4s; }
.app-bubble.b3{ animation-duration: 6.1s; }
.app-bubble.b4{ animation-duration: 5.0s; }

.app-caption, .app-disclaimer{
  position: absolute; left: 16px; right: 16px; color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,.35);
}
.app-caption{ bottom: 44px; font-weight: 600; }
.app-disclaimer{ bottom: 18px; font-size: 12px; opacity: .86; }

/* Optional: tighten space below the hero */
.hero--split{ margin-bottom: 1.25rem; }

@media (prefers-reduced-motion: reduce){
  .app-bubble{ animation: none !important; }
}
/* Capability strip */
.capability-strip{
  margin: 14px auto 0;
  max-width: var(--container-max, 1200px);
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(255,255,255,.8), rgba(255,255,255,.7));
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.strip-track{
  display: inline-flex; gap: 2rem; padding: 12px 0;
  white-space: nowrap;
  animation: strip-scroll 18s linear infinite;
}
.strip-track span{
  display: inline-flex; align-items: center; gap: .5rem;
  font-weight: 600; color: #0b1a34; opacity: .95;
}
.strip-track i{ font-size: 1rem; }
@keyframes strip-scroll{ 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@media (prefers-reduced-motion: reduce){ .strip-track{ animation:none!important; } }
.driver-phone{
  position:absolute; left:-4%; bottom:-8%;
  width:min(66%, 400px); height:auto;
  opacity:.28;
  pointer-events:none; z-index:1;
}
/* ===== FINAL GIG+ HERO OVERRIDES (place at end of file) ===== */

/* Ensure 2-col hero grid is used */
.hero--split .hero-split-grid{
  display:grid !important;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(1rem,3vw,2rem);
  align-items:center;
  min-height: clamp(320px, 38vh, 460px);
}
@media (max-width: 960px){
  .hero--split .hero-split-grid{ grid-template-columns:1fr; }
}

/* Right card background + layering */
.hero-visual{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  min-height:300px;
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(30,110,235,.72), rgba(10,20,45,.78)),
    linear-gradient(135deg,#0b1a34 10%, #1E6EEB 60%, #0c1730 100%);
  box-shadow:0 12px 34px rgba(0,0,0,.24);
  isolation:isolate;
}

/* Use the PNG silhouette; remove earlier duplicates */
.driver-phone{
  position:absolute;
  left:15%;
  bottom:-2%;
  width:70%;
  max-width:380px;
  height:auto;
  opacity:.35;
  transform:rotate(-5deg);
  pointer-events:none;
  z-index:1;
}

/* App bubbles — single definition, circular + soft */
.app-bubble{
  position:absolute;
  width:60px; height:60px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, #fff 0%, #eaf1ff 55%, #d0dbff 100%);
  box-shadow: 0 10px 24px rgba(0,0,0,.22), inset 0 2px 8px rgba(255,255,255,.6);
  z-index:2;
}
.app-bubble::after{
  content:"";
  position:absolute; inset:0; margin:18%; border-radius:50%;
  background:#1E6EEB; box-shadow:0 0 12px rgba(30,110,235,.6);
}
.app-bubble.b1{ width:78px; height:78px; top:18%; right:14%; }
.app-bubble.b2{ width:54px; height:54px; top:44%; right:30%; }
.app-bubble.b3{ width:62px; height:62px; top:64%; right:10%; }
.app-bubble.b4{ width:46px; height:46px; top:28%; right:3%; }
@keyframes floaty{ 0%{transform:translateY(0) scale(1)} 50%{transform:translateY(-6px) scale(1.03)} 100%{transform:translateY(0) scale(1)} }
.app-bubble{ animation: floaty 4.8s ease-in-out infinite; }
.app-bubble.b2{ animation-duration:5.4s; }
.app-bubble.b3{ animation-duration:6.1s; }
.app-bubble.b4{ animation-duration:5.0s; }

.app-caption,.app-disclaimer{ position:absolute; left:16px; right:16px; color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.35); z-index:3; }
.app-caption{ bottom:42px; font-weight:600; }
.app-disclaimer{ bottom:18px; font-size:12px; opacity:.86; }

/* Capability strip animation — single definition */
.capability-strip{
  margin:14px auto 0;
  max-width:var(--container-max, 1200px);
  border-radius:12px;
  background:linear-gradient(90deg, rgba(255,255,255,.8), rgba(255,255,255,.7));
  overflow:hidden; border:1px solid rgba(0,0,0,.06);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.strip-track{
  display:inline-flex; gap:2rem; padding:12px 0; white-space:nowrap;
  animation:strip-scroll 18s linear infinite;
}
.strip-track span{ display:inline-flex; align-items:center; gap:.5rem; font-weight:600; color:#0b1a34; opacity:.95; }
.strip-track i{ font-size:1rem; }
@keyframes strip-scroll{ 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@media (prefers-reduced-motion: reduce){ .app-bubble, .strip-track{ animation:none !important; } }
/* ===== GIG+ HERO — FINAL PHOTO + BUBBLES OVERRIDES ===== */

/* Card container */
.hero-visual{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  min-height:320px;
  /* keep a subtle blue base in case image fails to load */
  background: linear-gradient(135deg,#0b1a34 10%, #1E6EEB 60%, #0c1730 100%);
  box-shadow:0 12px 34px rgba(0,0,0,.24);
  isolation:isolate;
}

/* Make the PHOTO act like a background and fill the card */
.hero-visual .driver-phone{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;        /* <-- fills without distortion */
  object-position: 50% 45%;
  opacity:1;               /* remove the old .22/.28 opacity */
  transform:none;          /* remove any rotate/translate */
  pointer-events:none;
  z-index:1;
}

/* Gentle vignette + bottom scrim for caption readability */
.hero-visual::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(120% 120% at 20% 40%, rgba(0,0,0,.15), transparent 55%),
    linear-gradient(to bottom, transparent 60%, rgba(0,0,0,.32));
  z-index:2;
}

/* Brand-safe bubbles stay on top */
.app-bubble{
  position:absolute;
  width:60px; height:60px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, #fff 0%, #eaf1ff 55%, #d0dbff 100%);
  box-shadow: 0 10px 24px rgba(0,0,0,.22), inset 0 2px 8px rgba(255,255,255,.6);
  z-index:3;                /* above photo + vignette */
  animation: floaty 4.8s ease-in-out infinite;
}
.app-bubble::after{
  content:"";
  position:absolute; inset:0; margin:18%; border-radius:50%;
  background:#1E6EEB; box-shadow:0 0 12px rgba(30,110,235,.6);
}

/* positions + stagger timing */
.app-bubble.b1{ width:78px; height:78px; top:18%; right:14%; }
.app-bubble.b2{ width:54px; height:54px; top:44%; right:30%; animation-duration:5.4s; }
.app-bubble.b3{ width:62px; height:62px; top:64%; right:10%; animation-duration:6.1s; }
.app-bubble.b4{ width:46px; height:46px; top:28%; right:3%;  animation-duration:5.0s; }

@keyframes floaty{
  0%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-6px) scale(1.03)}
  100%{transform:translateY(0) scale(1)}
}

/* Caption layer above everything */
.app-caption, .app-disclaimer{
  position:absolute; left:16px; right:16px; color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
  z-index:4;
}
.app-caption{ bottom:42px; font-weight:600; }
.app-disclaimer{ bottom:18px; font-size:12px; opacity:.9; }

/* Mobile: keep composition tidy */
@media (max-width: 900px){
  .hero-visual{ min-height:280px; }
  .app-bubble.b3{ top:66%; right:8%; }
}
/* ===== GIG+ HERO — PHOTO + GENERIC APP TILES ===== */
.hero-visual{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  min-height:320px;
  background: linear-gradient(135deg,#0b1a34 10%, #1E6EEB 60%, #0c1730 100%);
  box-shadow:0 12px 34px rgba(0,0,0,.24);
  isolation:isolate;
}

/* Photo fills card */
.hero-visual .driver-photo{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover; object-position:50% 45%;
  z-index:1; pointer-events:none;
}

/* App tiles (look like app icons, not blobs) */
.app-chip{
  position:absolute;
  width:64px; height:64px; border-radius:18px;
  display:grid; place-items:center;
  box-shadow:
    0 12px 26px rgba(0,0,0,.22),
    inset 0 2px 8px rgba(255,255,255,.6);
  z-index:3;
  animation: chip-float 4.8s ease-in-out infinite;
}

/* Neutral gradients — NOT brand colors */
.app-chip.c1{ background:linear-gradient(135deg,#eaf1ff,#d6e2ff); }
.app-chip.c2{ background:linear-gradient(135deg,#e9fff6,#c8f5e5); }
.app-chip.c3{ background:linear-gradient(135deg,#fff4e2,#ffe1b0); }
.app-chip.c4{ background:linear-gradient(135deg,#efe9ff,#d9cdff); }

/* Icon + letter inside each tile */
.app-chip i{
  font-size:18px; color:#0b1a34; opacity:.9;
  position:absolute; top:8px; left:8px;
}
.app-chip span{
  font: 900 18px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:#1E6EEB; text-shadow:0 0 10px rgba(30,110,235,.35);
}

/* Positions + staggered timing */
.app-chip.c1{ top:18%; right:14%; animation-duration:4.8s; }
.app-chip.c2{ top:44%; right:30%; animation-duration:5.4s; }
.app-chip.c3{ top:64%; right:10%; animation-duration:6.1s; }
.app-chip.c4{ top:28%; right:3%;  animation-duration:5.0s; }

@keyframes chip-float{
  0%{ transform:translateY(0) scale(1) }
  50%{ transform:translateY(-8px) scale(1.03) }
  100%{ transform:translateY(0) scale(1) }
}

/* Readable caption layer */
.app-caption,.app-disclaimer{
  position:absolute; left:16px; right:16px; color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
  z-index:4;
}
.app-caption{ bottom:42px; font-weight:600; }
.app-disclaimer{ bottom:18px; font-size:12px; opacity:.92; }

/* Mobile tweaks */
@media (max-width:900px){
  .hero-visual{ min-height:280px; }
  .app-chip{ width:56px; height:56px; border-radius:16px; }
}
@media (prefers-reduced-motion: reduce){
  .app-chip{ animation:none !important; }
}
/* ===== Gig+ logo sizing (scoped) ===== */
.gigplus-logo {
  width: 260px;           /* adjust size here */
  max-width: 90%;         /* stays responsive on small screens */
  height: auto;           /* keeps proportions */
  margin-bottom: 12px;    /* adds breathing room above text */
  display: block;
}
@media (max-width: 900px) {
  .gigplus-logo {
    width: 200px;         /* smaller on mobile */
    margin: 0 auto 10px;  /* centers it */
  }
}
/* Force Gig+ hero logo size (scoped to .hero) */
.hero .gigplus-logo{
  width: 220px !important;
  height: auto !important;
  display: block;
  margin: 0 0 10px 0;
}
@media (max-width: 900px){
  .hero .gigplus-logo{
    width: 180px !important;
    margin: 0 auto 10px;
  }
}
/* ===== Gig+ premium category badges (no letters) ===== */
.gig-page .chip{
  --ring:#1E6EEB;              /* per-badge ring color (overridden below)  */
  --icon:#0b1a34;              /* icon color */
  --glow: rgba(30,110,235,.30);/* outer glow color (overridden below)      */

  position:absolute; width:70px; height:70px; border-radius:20px;
  display:grid; place-items:center;
  background:
    radial-gradient(120% 120% at 15% 10%, rgba(255,255,255,.85), rgba(255,255,255,.55) 38%, rgba(255,255,255,.12) 62%),
    linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,255,255,.65));
  border:1px solid rgba(255,255,255,.55);
  box-shadow:
    0 16px 30px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.6),
    inset 0 -8px 14px rgba(0,0,0,.12);
  z-index:3;
  animation: gp-float 5.4s ease-in-out infinite;
  pointer-events:auto;
  transform-style:preserve-3d;
}

/* Colored ring (subtle, premium) */
.gig-page .chip::before{
  content:""; position:absolute; inset:-3px; border-radius:inherit;
  background:
    radial-gradient(60% 60% at 50% 50%, rgba(255,255,255,.75), transparent 65%),
    conic-gradient(from 210deg, var(--ring), transparent 35%, var(--ring) 65%, transparent 100%);
}

/* Soft outer glow tuned to the ring color */
.gig-page .chip::after{
  content:""; position:absolute; inset:-8px; border-radius:inherit;
  box-shadow: 0 0 26px var(--glow);
  pointer-events:none; opacity:.55;
}

/* Icon styling */
.gig-page .chip i {
  position: relative;              /* remove absolute placement */
  font-size: 32px;                 /* larger icon for better balance */
  color: var(--icon);
  text-shadow: 0 1px 0 rgba(255,255,255,.4);
  transform: translateZ(12px);     /* slight depth for the 3D effect */
  margin: 0 auto;                  /* centers inside the grid badge */
}


/* Hover micro-tilt + tooltip label */
.gig-page .visual:hover .chip{ transition: transform .35s ease, box-shadow .35s ease; }
.gig-page .chip:hover{ transform: translateY(-10px) rotateX(6deg) rotateY(-6deg); }

.gig-page .chip[data-label]::after{
  content:attr(data-label);
  position:absolute; bottom:-30px; left:50%; transform:translateX(-50%);
  font:700 12px/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:#fff; background:rgba(0,0,0,.55); padding:6px 8px; border-radius:8px;
  pointer-events:none; opacity:0; translate:0 4px; transition:opacity .25s, translate .25s;
  box-shadow:0 6px 16px rgba(0,0,0,.25);
}
.gig-page .chip:hover[data-label]::after{ opacity:1; translate:0 0; }

/* Category color themes */
.gig-page .badge-rs   { --ring:#6366F1; --glow:rgba(99,102,241,.28); }    /* indigo */
.gig-page .badge-food { --ring:#FF9500; --glow:rgba(255,149,0,.28); }     /* orange */
.gig-page .badge-grocery{ --ring:#34C759; --glow:rgba(52,199,89,.28); }   /* green */
.gig-page .badge-parcel{ --ring:#0EA5E9; --glow:rgba(14,165,233,.28); }   /* sky */

/* Desynced float so they don’t bob in sync */
@keyframes gp-float{
  0% { transform:translateY(0) }
  38%{ transform:translateY(-9px) translateX(2px) }
  70%{ transform:translateY(-4px) translateX(-2px) }
  100%{ transform:translateY(0) }
}

/* Keep your existing positions, or nudge as desired */
.gig-page .chip.c1{ top:17%; right:14%; animation-duration:4.9s; }
.gig-page .chip.c2{ top:46%; right:30%; animation-duration:5.6s; }
.gig-page .chip.c3{ top:66%; right:11%; animation-duration:6.2s; }
.gig-page .chip.c4{ top:26%; right: 4%; animation-duration:5.1s; }
.nav a.active {
  font-weight: 700;
  border-bottom: 2px solid var(--brand-yellow, #F2D01C);
}
.events-hero picture,
.events-hero img {
  width: 100%;
  display: block;
}

.events-hero img {
  border-radius: 14px;
  margin-bottom: 25px;
  object-fit: cover;
}
.events-hero {
  max-height: 420px;
  overflow: hidden;
  border-radius: 14px;
}
.events-divider {
  margin: 40px 0;
  overflow: hidden;
  border-radius: 14px;
}

.events-divider picture,
.events-divider img {
  width: 100%;
  display: block;
}

.events-divider img {
  object-fit: cover;
}
/* Events page photo scroller */
.events-gallery {
  margin: 40px 0;
}

.events-gallery-track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.events-gallery-item {
  flex: 0 0 100%;
  scroll-snap-align: center;
  position: relative;
  max-height: 380px;
  overflow: hidden;
}

.events-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.events-gallery-item figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,0.6);
  color: #fff;
  font-size: 13px;
}

.events-gallery-hint {
  text-align: center;
  color: var(--muted);
  margin-top: 8px;
  font-size: 13px;
}

/* Optional: on wider screens, make the gallery a bit shorter */
@media (min-width: 900px) {
  .events-gallery-item {
    max-height: 420px;
  }
}
/* Disable pointer clicks on this specific card */
.coming-soon-card {
  position: relative;
  overflow: hidden;
  pointer-events: none;  /* Makes it unclickable */
}

/* Diagonal banner */
.coming-soon-banner {
  position: absolute;
  top: 20px;
  left: -45px;
  background: #F2D01C; /* What-A-Rental yellow */
  color: #000;
  font-weight: bold;
  padding: 8px 60px;
  font-size: 16px;
  transform: rotate(-25deg);
  z-index: 5;
  text-transform: uppercase;
  border: 2px solid #000;
  box-shadow: 0 2px 6px rgba(0,0,0,0.25);
}




/* Header stacked CTA buttons */
.header-cta {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-end;
}
.header-cta .btn.small {
  padding: 6px 12px;
  font-size: 13px;
}
.header-mini-link {
  font-size: 12px;
  font-weight: 700;
  color: #111;
  text-decoration: none;
  padding: 0 6px;
  border-bottom: 2px solid transparent;
}
.header-mini-link:hover {
  border-bottom-color: #F2D01C;
}


/* Header stacked CTA buttons v2 (Book Now primary, Manage secondary) */
.header-cta{
  gap:8px;
}
.header-cta .btn + .btn{
  background: transparent !important;
  border: 2px solid #F2D01C !important;
  color: #111 !important;
  padding: 7px 14px !important;
  font-size: 13px !important;
}

/* Header nav hover underline (match Manage Reservation) */
.header .nav a{
  border-bottom: 2px solid transparent;
  padding-bottom: 2px;
}
.header .nav a:hover{
  border-bottom-color: #F2D01C;
}
.manage-link {
  white-space: nowrap;
}

/* Header CTA: keep Book Now inline with nav; show Manage link under it without wrapping layout */
.header-cta{
  position: relative;
  display: inline-block;
}

/* If Manage is the mini link, place it under Book Now WITHOUT taking layout space */
.header-mini-link{
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
  color: #111;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  padding-bottom: 2px;
}
.header-mini-link:hover{
  border-bottom-color: #F2D01C;
}

/* Give the header a tiny bit of breathing room so the link isn't clipped */
.header{
  padding-bottom: 14px;
}

/* Manage reservation page */
.manage-page .container{
  max-width: 900px;
}
.manage-intro{
  margin-bottom: 20px;
}
.manage-widget{
  margin: 18px 0 26px;
}
.manage-help{
  background: #fff7d6;
  border: 1px solid #f3e3a1;
  border-radius: 12px;
  padding: 18px 20px;
}
.manage-help .actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 12px;
}

/* Site-wide notice bar (weather / closures) */
.site-notice {
  background: #111;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.site-notice .container {
  padding: 10px 16px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  justify-content: space-between;
}
.site-notice strong { color: #F2D01C; }
.site-notice p {
  margin: 0;
  line-height: 1.35;
  font-size: 0.95rem;
}
.site-notice a {
  color: #F2D01C;
  text-decoration: underline;
}
.site-notice .small {
  opacity: .9;
  font-size: .9rem;
}
@media (max-width: 640px) {
  .site-notice .container { flex-direction: column; }
}

/* === WAR BOOKING PAUSE (TEMP) === */
.war-booking-paused-link{
  opacity:.55;
  pointer-events:none;
  cursor:not-allowed;
}
.war-booking-overlay{
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(0,0,0,.86);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.war-booking-overlay .panel{
  width: min(680px, 100%);
  background: #111;
  color: #fff;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 14px;
  padding: 18px 18px 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.4);
}
.war-booking-overlay .title{
  font-weight: 800;
  font-size: 1.15rem;
  margin: 0 0 8px 0;
  color: #F2D01C;
}
.war-booking-overlay p{
  margin: 0 0 10px 0;
  line-height: 1.45;
}
.war-booking-overlay .actions{
  display:flex;
  gap:10px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.war-booking-overlay a{
  color:#F2D01C;
  text-decoration: underline;
}
.war-booking-overlay .btnlike{
  display:inline-block;
  background:#F2D01C;
  color:#111;
  font-weight: 800;
  padding: 10px 14px;
  border-radius: 10px;
  text-decoration: none;
}
.war-booking-overlay .muted{
  opacity:.9;
  font-size:.95rem;
}
/* === END WAR BOOKING PAUSE (TEMP) === */

/* === WAR NOTICE VISIBILITY (TEMP) ===
   site-notice is hidden by default and shown only when JS adds .is-active
*/
.site-notice { display: none; }
.site-notice.is-active { display: block; }
/* === END WAR NOTICE VISIBILITY (TEMP) === */
/* ================================
   HOTFIX: Header + Weather Banner
   (appended for storm ops)
   ================================ */

/* --- Header layout fixes --- */
.nav{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
}

/* Keep links on one line and consistent spacing */
.nav > a,
.nav .dropdown > a{
  position:relative;
  display:inline-block;
  padding:6px 0;
}

/* Yellow underline hover (all header links) */
.nav > a:not(.btn)::after,
.nav .dropdown > a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:100%;
  height:3px;
  background: var(--brand-yellow);
  transform: scaleX(0);
  transform-origin:left;
  transition: transform .18s ease;
}
.nav > a:not(.btn):hover::after,
.nav .dropdown:hover > a::after{
  transform: scaleX(1);
}

/* CTA area: Book Now above Manage Rental */
.header-cta{
  margin-left:18px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
}
.header-mini-link{
  font-size:13px;
  font-weight:700;
  color: var(--text);
  text-decoration:none;
}
.header-mini-link:hover{
  color:#000;
}

/* Keep Book Now button from stretching oddly */
.header-cta .btn{
  line-height:1;
  white-space:nowrap;
}

/* Dropdown menu should not push layout around */
.dropdown{ position:relative; display:inline-block; }
.dropdown-content{
  min-width:320px;
  right:0;
  left:auto;
}

/* --- Severe weather banner styling --- */
.site-notice{
  background:#0f0f0f;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-notice .container{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:10px 20px;
}
.site-notice strong{ color: var(--brand-yellow); }
.site-notice p{ margin:0; color:#fff; }
.site-notice .small{ color: rgba(255,255,255,.68); }
.site-notice a{ color: var(--brand-yellow); text-decoration:none; font-weight:800; }
.site-notice a:hover{ text-decoration:underline; }

/* Mobile: banner stacks cleanly */
@media (max-width: 900px){
  .site-notice .container{ flex-direction:column; }
  .header-cta{ align-items:flex-start; }
}

/* Make sure nav dropdown works on mobile open state too */
@media (max-width: 900px){
  .nav.open{ align-items:stretch; }
  .header-cta{ margin-left:0; align-items:stretch; }
  .header-cta .btn{ width:100%; text-align:center; }
  .header-mini-link{ text-align:center; padding:8px 10px; border-radius:10px; }
  .nav > a:not(.btn)::after,
  .nav .dropdown > a::after{ display:none; } /* avoid weird underline in mobile menu */
}

/* ================================
   BRAND-LOCK-HOTFIX (2026-01-21)
   Forces What-A-Rental colors back
   and removes any lingering filters.
   ================================ */
:root{
  --brand-yellow:#F2D01C !important;
  --brand-dark:#111111 !important;
  --text:#222222 !important;
  --muted:#666666 !important;
  --bg:#fafafa !important;
}

html, body, .header, .hero, img, svg, .logo img, .nav, .btn{
  filter:none !important;
  -webkit-filter:none !important;
}

.btn,
.nav .btn{
  background: var(--brand-yellow) !important;
  color:#000 !important;
}

/* keep header hover underline yellow */
.nav a{
  position: relative;
}
.nav a:hover::after{
  content:"";
  position:absolute;
  left:0; right:0;
  bottom:-6px;
  height:2px;
  background: var(--brand-yellow) !important;
}

/* Mobile nav visibility override (must be last) */
@media (max-width: 900px){
  #primary-nav { display:none !important; }
  #primary-nav.open { display:flex !important; }
}
/* ================================
   WAR Booking Help Modal (HubSpot)
================================ */
.war-modal-open { overflow: hidden !important; }

.war-help-overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.55);
  opacity:0; pointer-events:none;
  transition:opacity .15s ease;
  z-index:2000;
}
.war-help-overlay.is-open{
  opacity:1; pointer-events:auto;
}

.war-help-modal{
  position:fixed;
  left:50%; top:50%;
  transform:translate(-50%,-50%) scale(.98);
  width:min(680px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  overflow:auto;
  background:#fff;
  border-radius:16px;
  border:1px solid #eee;
  box-shadow: 0 20px 60px rgba(0,0,0,.22);
  opacity:0; pointer-events:none;
  transition: opacity .15s ease, transform .15s ease;
  z-index:2001;
}
.war-help-modal.is-open{
  opacity:1; pointer-events:auto;
  transform:translate(-50%,-50%) scale(1);
}

.war-help-header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:16px 18px;
  border-bottom:1px solid #eee;
}
.war-help-title{
  font-weight:900;
  font-size:20px;
  margin:0;
}
.war-help-subtitle{
  color:var(--muted);
  font-size:14px;
  margin-top:4px;
}
.war-help-close{
  border:0;
  background:#fff;
  cursor:pointer;
  font-size:18px;
  line-height:1;
  padding:8px 10px;
  border-radius:10px;
}
.war-help-close:hover{
  background: rgba(0,0,0,.06);
}

.war-help-body{
  padding:16px 18px 18px;
}
.war-help-footnote{
  margin-top:10px;
  color:var(--muted);
}
.war-help-footnote a{
  color:#000;
  font-weight:800;
  text-decoration:none;
}
.war-help-footnote a:hover{
  text-decoration:underline;
}

/* ================================
   HubSpot submit button override
================================ */
.war-help-modal .hs-button,
.war-help-modal input.hs-button,
.war-help-modal .hs-submit input[type="submit"]{
  background: var(--brand-yellow) !important;
  color:#000 !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 12px 18px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
.war-help-modal .hs-button:hover,
.war-help-modal input.hs-button:hover,
.war-help-modal .hs-submit input[type="submit"]:hover{
  filter: brightness(.97) !important;
}

/* HubSpot field polish inside modal */
.war-help-modal .hs-form-field label{
  font-weight:700 !important;
}
.war-help-modal .hs-input{
  border-radius:10px !important;
}

/* === WAR HubSpot Help Modal === */
.war-help-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease;
  z-index: 9998;
}
.war-help-overlay.is-open{
  opacity: 1;
  pointer-events: auto;
}

.war-help-modal{
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(720px, 92vw);
  max-height: 88vh;
  overflow: auto;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease;
  z-index: 9999;
  -webkit-overflow-scrolling: touch;
}
.war-help-modal.is-open{
  opacity: 1;
  pointer-events: auto;
}

html.war-modal-open, body.war-modal-open{
  overflow: hidden !important;
}
