:root{
  --navy:#062238; --navy2:#0b3148; --green:#13b653; --green2:#0b8f42;
  --blue:#1877d2; --text:#122235; --muted:#657383; --light:#f5faf7;
  --white:#fff; --shadow:0 14px 40px rgba(8,35,56,.12); --radius:18px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.55}
a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}
.site-header{position:absolute;z-index:20;top:0;width:100%;color:#fff}.nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0;gap:24px}
.brand{display:flex;gap:12px;align-items:center}.brand-mark{font-size:36px;filter:grayscale(1) brightness(4)}.brand strong{display:block;line-height:1.05;font-size:15px}.brand small{display:block;margin-top:5px;opacity:.8;font-size:11px}
.nav-links{display:flex;gap:25px;font-size:14px;font-weight:600}.nav-links a:hover{color:#47df81}.language{border:1px solid rgba(255,255,255,.7);background:transparent;color:#fff;border-radius:9px;padding:10px 14px;font-weight:700}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:28px}
.hero{position:relative;min-height:680px;padding-top:120px;color:#fff;overflow:hidden;
background:
linear-gradient(90deg,rgba(2,25,39,.94) 0%,rgba(3,38,54,.74) 48%,rgba(3,29,40,.22) 100%),
url('assets/arenal-road.jpeg') center 52%/cover no-repeat}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:190px;background:linear-gradient(0deg,#0a1e2c,transparent);opacity:.6}
.hero-content{position:relative;z-index:2;display:flex;align-items:center;min-height:430px}.hero-copy{max-width:680px}.eyebrow,.section-kicker{font-size:13px;font-weight:800;letter-spacing:2px;color:#25ca65}.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.02;margin:14px 0 20px;letter-spacing:-2px}.hero h1 span{color:#22cf63}.hero p{font-size:18px;max-width:620px;color:#eef5f7}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:9px;font-weight:800;border:0;cursor:pointer}.btn-whatsapp,.btn-green{background:var(--green);color:#fff}.btn-card{background:var(--blue);color:#fff}.btn-light{background:#fff;color:#172b3a}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.vehicle-card{margin-left:auto;width:420px;text-align:center;transform:translateY(25px)}.vehicle-silhouette{font-size:220px;filter:drop-shadow(0 25px 20px rgba(0,0,0,.35));line-height:1}.vehicle-card span{display:inline-block;background:rgba(0,0,0,.3);padding:8px 14px;border-radius:20px;font-size:12px}
.feature-bar{position:relative;z-index:5;margin-top:-15px;background:#06273c;color:#fff;border-radius:15px;display:grid;grid-template-columns:repeat(5,1fr);box-shadow:var(--shadow);padding:17px}.feature-bar div{display:flex;align-items:center;justify-content:center;gap:12px;font-size:24px;border-right:1px solid rgba(255,255,255,.2)}.feature-bar div:last-child{border:0}.feature-bar span{font-size:12px;font-weight:700;line-height:1.2}
.section{padding:82px 0}.section h2{text-align:center;font-size:34px;margin:7px 0 10px}.section-lead{text-align:center;color:var(--muted);max-width:680px;margin:0 auto 35px}.section-kicker{text-align:center;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:35px}.service-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e6ecea;border-radius:16px;box-shadow:0 6px 22px rgba(10,30,45,.08);padding-bottom:20px;transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-card .photo{height:135px;background-size:cover;background-position:center}.service-icon{position:absolute;top:110px;left:14px;background:var(--green);width:45px;height:45px;border-radius:50%;display:grid;place-items:center;font-size:21px;border:4px solid #fff}.service-card h3,.service-card p{margin-left:18px;margin-right:18px}.service-card h3{margin-top:24px;margin-bottom:5px;font-size:17px}.service-card p{margin-top:0;color:var(--muted);font-size:13px}.photo{background-image:linear-gradient(135deg,#5b8e70,#b8d9bd)}.airport{background:linear-gradient(135deg,#6b8ba8,#d5e4ee)}.hotel{background:linear-gradient(135deg,#285b42,#9ab89a)}.arenal{background:linear-gradient(135deg,#345e42,#aac28d)}.beach{background:linear-gradient(135deg,#2387a7,#e7d39b)}.trip{background:linear-gradient(135deg,#1f5942,#7fa66e)}.family{background:linear-gradient(135deg,#3e8ca8,#f0cfac)}.daytrip{background:linear-gradient(135deg,#315d42,#82a47d)}.payment{background:linear-gradient(135deg,#b4b8ba,#34383b)}
.why{padding:35px 0;background:#f2faf5}.why-grid{display:grid;grid-template-columns:repeat(8,1fr);margin-top:20px;border:1px solid #dfece4;border-radius:16px;background:#fff;overflow:hidden}.why-grid div{min-height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;color:var(--green);font-size:22px;border-right:1px solid #e1ebe5}.why-grid div:last-child{border:0}.why-grid strong{font-size:11px;color:var(--text);line-height:1.2}
.destination-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:30px}.destination{height:170px;border-radius:9px;display:flex;align-items:end;padding:14px;color:#fff;font-weight:800;background:linear-gradient(145deg,#27634c,#0a3142);position:relative;overflow:hidden}.destination:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.35),transparent 35%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 60%)}.destination span{position:relative;z-index:1}.waterfall-bg{background:linear-gradient(145deg,#2b7358,#8dc7bd)}.beach-bg{background:linear-gradient(145deg,#1f91b0,#f0d29c)}.forest-bg{background:linear-gradient(145deg,#0c4e39,#7aa56e)}.sunset-bg{background:linear-gradient(145deg,#d87845,#18394a)}.outline-btn{display:block;width:max-content;margin:25px auto 0;border:1px solid var(--green);color:var(--green);padding:10px 20px;border-radius:9px;font-weight:800;font-size:13px}
.reviews{background:#f7fbf9;padding:70px 0}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}.review{background:#fff;border-radius:16px;padding:26px;box-shadow:0 5px 22px rgba(10,30,45,.07)}.stars{color:#f2a400;letter-spacing:2px}.review p{color:#53616c}.review strong{color:var(--green);font-size:13px}
.booking-wrap{background:#f3faf6;border:1px solid #dcebe2;border-radius:20px;padding:38px;display:grid;grid-template-columns:.8fr 1.5fr;gap:45px}.booking-copy h2{text-align:left;font-size:35px}.booking-copy p{color:var(--muted)}.mini-points{display:grid;gap:8px;color:var(--green);font-weight:700;font-size:13px}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-form label{font-size:12px;font-weight:800}.quote-form input{display:block;width:100%;height:46px;border:1px solid #d5e0db;border-radius:8px;margin-top:5px;padding:0 12px;font:inherit;background:#fff}.quote-form .wide{grid-column:1/-1}.form-note{grid-column:1/-1;color:var(--muted)}
.faq-list{max-width:850px;margin:30px auto 0}.faq-list details{border-bottom:1px solid #dce5e1;padding:18px 0}.faq-list summary{font-weight:800;cursor:pointer}.faq-list p{color:var(--muted)}
.floating-whatsapp{position:fixed;right:24px;bottom:22px;z-index:50;background:var(--green);color:#fff;border-radius:50%;width:70px;height:70px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:23px;box-shadow:0 12px 30px rgba(0,0,0,.2)}.floating-whatsapp span{font-size:9px;font-weight:800;line-height:1.1;text-align:center}
footer{background:#061f31;color:#fff;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1.4fr;gap:35px}.footer-grid h4{font-size:12px;color:#25ca65;letter-spacing:1px}.footer-grid a{display:block;color:#c8d4db;font-size:13px;margin:7px 0}.footer-grid p{color:#c8d4db;font-size:13px}.placeholder{color:#65e394}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:18px;display:flex;justify-content:space-between;color:#9db0bd;font-size:11px}

@media(max-width:1000px){.nav-links{display:none}.menu-toggle{display:block;margin-left:auto}.language{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:repeat(4,1fr)}.why-grid div:nth-child(4n){border-right:0}.destination-grid{grid-template-columns:repeat(3,1fr)}.destination:nth-child(n+4){display:none}.vehicle-card{width:300px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.hero{min-height:760px}.hero-content{align-items:flex-start;padding-top:45px}.vehicle-card{display:none}.hero h1{font-size:43px}.hero p{font-size:16px}.feature-bar{grid-template-columns:repeat(2,1fr);gap:0}.feature-bar div{min-height:65px}.feature-bar div:nth-child(2n){border-right:0}.service-grid,.review-grid{grid-template-columns:1fr}.why-grid{grid-template-columns:repeat(2,1fr)}.why-grid div:nth-child(2n){border-right:0}.destination-grid{grid-template-columns:1fr 1fr}.destination{height:145px}.booking-wrap{grid-template-columns:1fr;padding:25px}.booking-copy h2{font-size:28px}.quote-form{grid-template-columns:1fr}.quote-form .wide{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.nav{padding:16px 0}}

.hero-vehicle-photo{width:100%;max-height:310px;object-fit:cover;border-radius:24px;box-shadow:0 24px 55px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.25)}
.vehicle-card{width:410px}
.airport{background-image:url('assets/city-view.jpeg')!important}
.hotel{background-image:url('assets/vehicle-front.jpeg')!important}
.arenal{background-image:url('assets/arenal-road.jpeg')!important}
.beach{background-image:url('assets/wide-sunset.jpeg')!important}
.trip{background-image:url('assets/coastal-stairs.jpeg')!important}
.family{background-image:url('assets/vehicle-side.jpeg')!important}
.daytrip{background-image:url('assets/kayaks.jpeg')!important}
.payment{background-image:url('assets/vehicles-rainforest.jpeg')!important}
.arenal-bg{background-image:url('assets/arenal-road.jpeg')!important;background-size:cover!important;background-position:center!important}
.waterfall-bg{background-image:url('assets/coastal-stairs.jpeg')!important;background-size:cover!important;background-position:center!important}
.beach-bg{background-image:url('assets/coastal-view.jpeg')!important;background-size:cover!important;background-position:center!important}
.forest-bg{background-image:url('assets/vehicles-rainforest.jpeg')!important;background-size:cover!important;background-position:center!important}
.sunset-bg{background-image:url('assets/wide-sunset.jpeg')!important;background-size:cover!important;background-position:center!important}
.real-gallery{background:#fff}
.real-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.real-gallery-grid figure{margin:0;position:relative;height:260px;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(10,30,45,.1)}
.real-gallery-grid .gallery-feature{grid-row:span 2;height:534px}
.real-gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.real-gallery-grid figure:hover img{transform:scale(1.035)}
.real-gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:32px 16px 14px;color:#fff;font-weight:800;background:linear-gradient(transparent,rgba(0,0,0,.75))}
@media(max-width:800px){.real-gallery-grid{grid-template-columns:1fr 1fr}.real-gallery-grid .gallery-feature{grid-row:auto;height:300px}.real-gallery-grid figure{height:240px}}
@media(max-width:520px){.real-gallery-grid{grid-template-columns:1fr}.real-gallery-grid figure,.real-gallery-grid .gallery-feature{height:270px}}


/* ==========================================================
   PHOTO FIT FIX — optimized for real vertical phone photos
   ========================================================== */

/* Hero: keep the entire vehicle visible instead of cropping it */
.hero-vehicle-photo{
  width:100% !important;
  height:300px !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:24px;
  background:
    linear-gradient(rgba(3,30,42,.12),rgba(3,30,42,.12)),
    url('assets/optimized/vehicle-front-landscape.jpg') center/cover no-repeat;
  padding:10px;
  box-shadow:0 24px 55px rgba(0,0,0,.35);
}

/* Service cards now use web-optimized landscape images */
.service-card .photo{
  height:170px !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
}

.airport{background-image:url('assets/optimized/city-view-landscape.jpg')!important}
.hotel{background-image:url('assets/optimized/vehicle-front-landscape.jpg')!important}
.arenal{background-image:url('assets/optimized/arenal-road-landscape.jpg')!important}
.beach{background-image:url('assets/optimized/wide-sunset-landscape.jpg')!important}
.trip{background-image:url('assets/optimized/coastal-stairs-landscape.jpg')!important}
.family{background-image:url('assets/optimized/vehicle-side-landscape.jpg')!important}
.daytrip{background-image:url('assets/optimized/kayaks-landscape.jpg')!important}
.payment{background-image:url('assets/optimized/vehicles-rainforest-landscape.jpg')!important}

/* Destination cards */
.arenal-bg{background-image:url('assets/optimized/arenal-road-landscape.jpg')!important}
.waterfall-bg{background-image:url('assets/optimized/coastal-stairs-landscape.jpg')!important}
.beach-bg{background-image:url('assets/optimized/coastal-view-landscape.jpg')!important}
.forest-bg{background-image:url('assets/optimized/vehicles-rainforest-landscape.jpg')!important}
.sunset-bg{background-image:url('assets/optimized/wide-sunset-landscape.jpg')!important}

/* Gallery: use landscape derivatives so nothing important is cut */
.real-gallery-grid figure{
  height:300px !important;
  background:#102b2d;
}
.real-gallery-grid .gallery-feature{
  height:614px !important;
}
.real-gallery-grid img{
  width:100%;
  height:100%;
  object-fit:cover !important;
  object-position:center !important;
}
.real-gallery-grid figure.vehicle-photo img{
  object-fit:contain !important;
  background:#0c2c2d;
}

/* More breathing room around text overlays */
.real-gallery-grid figcaption{
  padding:48px 18px 16px !important;
  font-size:16px;
}

@media(max-width:1000px){
  .hero-vehicle-photo{height:260px !important}
}
@media(max-width:800px){
  .real-gallery-grid figure,
  .real-gallery-grid .gallery-feature{height:280px !important}
}
@media(max-width:700px){
  /* Previously the vehicle disappeared on phones; now it remains visible */
  .vehicle-card{
    display:block !important;
    width:100% !important;
    margin:20px 0 0 !important;
    transform:none !important;
  }
  .hero-content{
    display:block !important;
  }
  .hero-vehicle-photo{
    height:245px !important;
    border-radius:18px;
  }
  .hero{
    min-height:980px !important;
  }
}


/* AIRPORT TRANSFERS PHOTO — preserve full airport image on desktop and mobile */
.airport{
  background-image:url('assets/optimized/airport-transfers-landscape.jpg')!important;
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:#dfe8ee!important;
}

@media(max-width:700px){
  .service-card .airport{
    height:190px!important;
    background-size:contain!important;
    background-position:center!important;
  }
}


/* ==========================================================
   HERO / BLUE INFO BAR SPACING FIX
   Prevent overlap with CTA buttons on desktop and mobile
   ========================================================== */

.hero{
  padding-bottom:110px !important;
}

.hero-content{
  padding-bottom:50px !important;
}

.hero-actions{
  margin-bottom:28px !important;
}

.feature-bar{
  margin-top:0 !important;
  position:absolute !important;
  left:50% !important;
  bottom:28px !important;
  transform:translateX(-50%) !important;
  width:min(1180px,92%) !important;
  z-index:8 !important;
}

.feature-bar div{
  min-width:0 !important;
  padding:10px 12px !important;
}

.feature-bar span{
  white-space:normal !important;
}

/* Tablet */
@media(max-width:1000px){
  .hero{
    padding-bottom:155px !important;
  }

  .hero-content{
    padding-bottom:35px !important;
  }

  .feature-bar{
    bottom:24px !important;
    grid-template-columns:repeat(3,1fr) !important;
    row-gap:0 !important;
  }

  .feature-bar div{
    min-height:62px !important;
    border-right:1px solid rgba(255,255,255,.18) !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
  }

  .feature-bar div:nth-child(3n){
    border-right:0 !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .hero{
    min-height:auto !important;
    padding-top:105px !important;
    padding-bottom:245px !important;
  }

  .hero-content{
    padding-top:20px !important;
    padding-bottom:20px !important;
  }

  .hero-copy{
    max-width:100% !important;
  }

  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:24px !important;
    margin-bottom:24px !important;
  }

  .hero-actions .btn{
    width:100% !important;
    min-height:50px !important;
  }

  .feature-bar{
    bottom:18px !important;
    width:92% !important;
    grid-template-columns:repeat(2,1fr) !important;
    padding:10px !important;
    border-radius:14px !important;
  }

  .feature-bar div{
    min-height:66px !important;
    padding:8px !important;
    font-size:20px !important;
    gap:8px !important;
  }

  .feature-bar div:nth-child(2n){
    border-right:0 !important;
  }

  .feature-bar div:last-child{
    grid-column:1/-1 !important;
    border-top:1px solid rgba(255,255,255,.12) !important;
  }

  .feature-bar span{
    font-size:11px !important;
    line-height:1.25 !important;
  }
}

/* Extra-small phones */
@media(max-width:420px){
  .hero{
    padding-bottom:270px !important;
  }

  .feature-bar{
    grid-template-columns:1fr 1fr !important;
    width:94% !important;
  }

  .feature-bar div{
    min-height:62px !important;
  }
}


/* SERVICE GRID — 6 cards after removing Beach Transportation and Family & Group */
.service-grid{
  grid-template-columns:repeat(3,1fr) !important;
  max-width:1050px;
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:900px){
  .service-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media(max-width:600px){
  .service-grid{
    grid-template-columns:1fr !important;
  }
}


/* DESTINATIONS SECTION REMOVED */
#destinations{display:none!important}


/* CASH / CARD PAYMENT POSTER */
.payment{
  background-image:url('assets/cash-card-payments.png')!important;
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:#f8f3e5!important;
}

/* 5 service cards after removing La Fortuna & Arenal */
.service-grid{
  grid-template-columns:repeat(3,1fr)!important;
  max-width:1050px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Center the last row cleanly on desktop */
@media(min-width:901px){
  .service-grid .service-card:nth-last-child(2){
    grid-column:1 / 2;
    margin-left:52%;
    width:100%;
  }
  .service-grid .service-card:last-child{
    grid-column:2 / 3;
    margin-left:52%;
    width:100%;
  }
}

/* Tablet */
@media(max-width:900px){
  .service-grid{
    grid-template-columns:repeat(2,1fr)!important;
  }
  .service-grid .service-card:nth-last-child(2),
  .service-grid .service-card:last-child{
    grid-column:auto!important;
    margin-left:0!important;
    width:auto!important;
  }
}

/* Mobile */
@media(max-width:600px){
  .service-grid{
    grid-template-columns:1fr!important;
  }

  .service-card .payment{
    height:270px!important;
    background-size:contain!important;
  }
}


/* HERO CLEANUP — Pay by Card + vehicle photo removed */
.hero-content{
  display:block !important;
}

.hero-copy{
  max-width:760px !important;
}

.hero-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  align-items:center !important;
}

.hero-actions .btn{
  min-width:220px !important;
}

.vehicle-card,
.hero-vehicle-photo{
  display:none !important;
}

/* Keep the hero compact now that the vehicle card is gone */
.hero{
  min-height:650px !important;
}

@media(max-width:700px){
  .hero{
    min-height:auto !important;
    padding-bottom:245px !important;
  }

  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .hero-actions .btn{
    width:100% !important;
    min-width:0 !important;
  }
}


/* Keep the country name together in the hero title */
.costa-rica-nowrap{
  white-space:nowrap !important;
  display:inline-block !important;
}

@media(max-width:700px){
  .hero h1{
    font-size:clamp(44px,12vw,64px) !important;
    line-height:.98 !important;
    letter-spacing:-2px !important;
  }
  .costa-rica-nowrap{
    white-space:nowrap !important;
    font-size:.88em !important;
  }
}


/* Airport Transfers — fill the entire image frame with no margins */
.service-card .airport{
  background-image:url('assets/airport-transfers.jpeg')!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:transparent!important;
}

@media(max-width:700px){
  .service-card .airport{
    width:100%!important;
    height:190px!important;
    background-size:cover!important;
    background-position:center!important;
  }
}


/* HOTEL TRANSFERS — updated image only */
.service-card .hotel{
  background-image:url('assets/hotel-transfers-wide.png')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:transparent!important;
}

@media(max-width:700px){
  .service-card .hotel{
    width:100%!important;
    background-size:cover!important;
    background-position:center center!important;
  }
}


/* PRIVATE TRIPS — use the 24-destination Costa Rica tourist map */
.service-card .trip{
  background-image:url('assets/private-trips-map.png')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:transparent!important;
}

@media(max-width:700px){
  .service-card .trip{
    width:100%!important;
    height:210px!important;
    background-size:cover!important;
    background-position:center center!important;
  }
}


/* CASH OR CARD PAYMENTS — horizontal artwork */
.service-card .payment{
  background-image:url('assets/cash-card-payments-wide.png')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:transparent!important;
}

@media(max-width:700px){
  .service-card .payment{
    width:100%!important;
    height:210px!important;
    background-size:cover!important;
    background-position:center center!important;
  }
}


/* PRIVATE DAY TRIPS — horizontal promotional banner */
.service-card .daytrip{
  background-image:url('assets/private-day-trips-wide.png')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:transparent!important;
}

@media(max-width:700px){
  .service-card .daytrip{
    width:100%!important;
    height:220px!important;
    background-size:cover!important;
    background-position:center center!important;
  }
}


/* OUR SERVICES — remove green icon circles completely */
.service-icon{
  display:none!important;
}

/* Rebalance spacing now that icons are gone */
.service-card h3{
  margin-top:18px!important;
}

.service-card .photo{
  border-top-left-radius:16px;
  border-top-right-radius:16px;
}

@media(max-width:700px){
  .service-card h3{
    margin-top:18px!important;
  }
}


/* ==========================================================
   FULL IMAGE FIT — Private Trips + Cash or Card Payments
   Shows the complete artwork while filling the full card frame.
   ========================================================== */

.service-card .trip{
  background-image:url('assets/optimized/private-trips-full.jpg')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:transparent!important;
}

.service-card .payment{
  background-image:url('assets/optimized/cash-card-full.jpg')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:transparent!important;
}

/* Give image-heavy cards a little more vertical room */
.service-card .trip,
.service-card .payment{
  height:190px!important;
}

@media(max-width:700px){
  .service-card .trip,
  .service-card .payment{
    width:100%!important;
    height:220px!important;
    background-size:cover!important;
    background-position:center center!important;
  }
}


/* ==========================================================
   TRAVEL WITH US — 3 destination cards only
   Arenal Volcano, Pacific Coast, Caribbean Coast
   ========================================================== */

.real-gallery-grid.travel-three{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:18px!important;
  margin-top:30px!important;
}

.real-gallery-grid.travel-three figure{
  height:320px!important;
  margin:0!important;
  border-radius:16px!important;
  overflow:hidden!important;
  position:relative!important;
  background:#0f2f2b!important;
}

.real-gallery-grid.travel-three img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
}

/* Make Arenal fill the frame cleanly */
.real-gallery-grid.travel-three figure:first-child img{
  object-fit:cover!important;
  object-position:center 55%!important;
}

.real-gallery-grid.travel-three figcaption{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  padding:46px 18px 16px!important;
  color:#fff!important;
  font-weight:800!important;
  background:linear-gradient(transparent,rgba(0,0,0,.78))!important;
}

/* Tablet */
@media(max-width:900px){
  .real-gallery-grid.travel-three{
    grid-template-columns:repeat(2,1fr)!important;
  }

  .real-gallery-grid.travel-three figure:last-child{
    grid-column:1/-1!important;
  }
}

/* Mobile */
@media(max-width:600px){
  .real-gallery-grid.travel-three{
    grid-template-columns:1fr!important;
  }

  .real-gallery-grid.travel-three figure,
  .real-gallery-grid.travel-three figure:last-child{
    grid-column:auto!important;
    height:270px!important;
  }
}


/* Travel With Us — HD coast photos */
.real-gallery-grid.travel-three figure:nth-child(2) img,
.real-gallery-grid.travel-three figure:nth-child(3) img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}

.photo-credit{
  width:min(1180px,92%);
  margin:24px auto 0;
  color:#8fa4b1;
  font-size:10px;
  line-height:1.4;
  text-align:center;
}


/* Arenal Volcano — horizontal image fitted to Travel With Us card */
.real-gallery-grid.travel-three figure:first-child img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}


/* Keep “Tell us where you want to go” on one line */
@media (min-width: 700px){
  .cta h2,
  .quote h2,
  .contact h2,
  .booking h2 {
    white-space: nowrap;
    font-size: clamp(1.7rem, 3.1vw, 3rem);
  }
}


/* Readability improvement — “Tell us where you want to go” section */
.quote p,
.quote label,
.quote input,
.quote select,
.quote textarea,
.contact p,
.contact label,
.contact input,
.contact select,
.contact textarea,
.booking p,
.booking label,
.booking input,
.booking select,
.booking textarea,
.cta p,
.cta label,
.cta input,
.cta select,
.cta textarea {
  font-size: 1.08rem;
  line-height: 1.55;
}

.quote input,
.quote select,
.quote textarea,
.contact input,
.contact select,
.contact textarea,
.booking input,
.booking select,
.booking textarea {
  min-height: 48px;
}

@media (max-width: 699px) {
  .quote p,
  .quote label,
  .quote input,
  .quote select,
  .quote textarea,
  .contact p,
  .contact label,
  .contact input,
  .contact select,
  .contact textarea,
  .booking p,
  .booking label,
  .booking input,
  .booking select,
  .booking textarea,
  .cta p,
  .cta label,
  .cta input,
  .cta select,
  .cta textarea {
    font-size: 1.05rem;
  }
}


/* ==========================================================
   INTERACTIVE CLIENT REVIEWS
   ========================================================== */

.reviews .section-lead{
  margin-bottom:28px;
}

.review-grid{
  align-items:stretch;
}

.review-card{
  background:#fff;
  border:1px solid #e5ece8;
  border-radius:16px;
  padding:24px;
  box-shadow:0 6px 22px rgba(10,30,45,.07);
  display:flex;
  flex-direction:column;
  min-height:220px;
}

.review-card .stars{
  color:#f2a400;
  letter-spacing:2px;
  font-size:18px;
  margin-bottom:10px;
}

.review-card p{
  color:#53616c;
  margin:0 0 18px;
  flex:1;
}

.review-card strong{
  color:var(--green);
  font-size:13px;
}

.review-card .review-date{
  display:block;
  margin-top:4px;
  color:#8a969d;
  font-size:11px;
}

.reviews-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}

.review-action-btn{
  min-width:190px;
}

.reviews-panel,
.review-form-panel{
  margin-top:30px;
  background:#fff;
  border:1px solid #e2eae5;
  border-radius:18px;
  padding:24px;
  box-shadow:0 10px 30px rgba(10,30,45,.08);
}

.reviews-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}

.reviews-panel-head h3{
  margin:5px 0 0;
  font-size:26px;
}

.reviews-close{
  border:0;
  background:#f2f6f3;
  width:40px;
  height:40px;
  border-radius:50%;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  color:#21343f;
}

.all-reviews-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}

.review-form{
  display:grid;
  gap:18px;
  max-width:760px;
}

.review-form label,
.star-rating-fieldset legend{
  font-weight:700;
  font-size:15px;
}

.review-form input,
.review-form textarea{
  display:block;
  width:100%;
  margin-top:7px;
  border:1px solid #ccd9d2;
  border-radius:10px;
  padding:12px 14px;
  font:inherit;
  color:var(--text);
  background:#fff;
}

.review-form textarea{
  resize:vertical;
  min-height:130px;
}

.star-rating-fieldset{
  border:0;
  padding:0;
  margin:0;
}

.star-rating-input{
  display:inline-flex;
  flex-direction:row-reverse;
  justify-content:flex-end;
  gap:4px;
  margin-top:8px;
}

.star-rating-input input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.star-rating-input label{
  font-size:34px;
  color:#cfd7d2;
  cursor:pointer;
  line-height:1;
  transition:color .15s, transform .15s;
}

.star-rating-input label:hover,
.star-rating-input label:hover ~ label,
.star-rating-input input:checked ~ label{
  color:#f2a400;
}

.star-rating-input label:hover{
  transform:scale(1.06);
}

.review-storage-note{
  margin:0;
  font-size:12px;
  color:#7a878e;
}

.review-form-status{
  margin:0;
  min-height:20px;
  color:var(--green);
  font-weight:700;
}

@media(max-width:800px){
  .all-reviews-list{
    grid-template-columns:1fr;
  }
}

@media(max-width:600px){
  .review-card{
    min-height:auto;
  }

  .reviews-panel,
  .review-form-panel{
    padding:18px;
  }

  .reviews-panel-head h3{
    font-size:22px;
  }

  .review-action-btn{
    width:100%;
  }
}


/* ==========================================================
   TRAVEL WITH US — 10 clickable destinations
   ========================================================== */
.destination-showcase-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  margin-top:30px;
}

.destination-card{
  appearance:none;
  border:0;
  padding:0;
  margin:0;
  position:relative;
  height:210px;
  overflow:hidden;
  border-radius:15px;
  background:#12382f;
  cursor:pointer;
  text-align:left;
  box-shadow:0 7px 22px rgba(10,30,45,.09);
}

.destination-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .3s ease;
}

.destination-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.8) 100%);
  pointer-events:none;
}

.destination-card span{
  position:absolute;
  left:15px;
  right:15px;
  bottom:14px;
  z-index:2;
  color:#fff;
  font-weight:800;
  font-size:15px;
  line-height:1.2;
}

.destination-card:hover img,
.destination-card:focus-visible img{
  transform:scale(1.035);
}

.destination-card:focus-visible{
  outline:3px solid var(--green);
  outline-offset:3px;
}

.destination-detail{
  position:relative;
  max-width:760px;
  margin:28px auto 0;
  padding:28px;
  border-radius:18px;
  border:1px solid #dfe9e3;
  background:#f6fbf8;
  text-align:center;
}

.destination-detail h3{
  margin:7px 0 10px;
  font-size:28px;
}

.destination-detail p{
  color:#5f6e76;
  max-width:620px;
  margin:0 auto 20px;
}

.destination-detail-close{
  position:absolute;
  top:12px;
  right:12px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#e8f2ec;
  color:#17352a;
  font-size:26px;
  cursor:pointer;
}

.photo-credits{
  width:min(1180px,92%);
  margin:24px auto 0;
  color:#91a5b1;
  font-size:10px;
  line-height:1.5;
}

.photo-credits summary{
  cursor:pointer;
  width:max-content;
  margin:auto;
  color:#a9bbc5;
}

.photo-credits p{
  max-width:900px;
  margin:10px auto 0;
  text-align:center;
}

@media(max-width:1050px){
  .destination-showcase-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:700px){
  .destination-showcase-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .destination-card{
    height:190px;
  }
}

@media(max-width:480px){
  .destination-showcase-grid{
    grid-template-columns:1fr;
  }

  .destination-card{
    height:230px;
  }

  .destination-card span{
    font-size:17px;
  }
}


/* Private Trips — remove blurred side-fill and use clean white sides */
.service-card.private-trips .service-image,
.service-card[data-service="private-trips"] .service-image,
.service-card:has(h3) .private-trips-image {
  background: #fff !important;
}

.service-card.private-trips .service-image::before,
.service-card.private-trips .service-image::after,
.service-card[data-service="private-trips"] .service-image::before,
.service-card[data-service="private-trips"] .service-image::after,
.private-trips-image::before,
.private-trips-image::after {
  content: none !important;
  display: none !important;
  background-image: none !important;
  filter: none !important;
}

/* Fallback targeted to the Private Trips image asset itself */
img[src*="private-trips"],
img[src*="private_trip"],
img[src*="map"] {
  background-color: #fff !important;
}

.service-card:has(h3:first-of-type) { }
.service-card:has(h3) .service-image {
  background-color: #fff;
}


/* ==========================================================
   PRIVATE DAY TRIPS — show full vehicle, shift composition left
   ========================================================== */

.service-card .daytrip{
  background-image:url('assets/private-day-trips-wide.png')!important;
  background-size:contain!important;
  background-position:45% center!important;
  background-repeat:no-repeat!important;
  background-color:#fff!important;
}

/* Remove any blurred/background fill around this image */
.service-card .daytrip::before,
.service-card .daytrip::after{
  content:none!important;
  display:none!important;
  filter:none!important;
  background:none!important;
}

@media(max-width:700px){
  .service-card .daytrip{
    height:220px!important;
    background-size:contain!important;
    background-position:43% center!important;
    background-color:#fff!important;
  }
}

/* ==========================================================
   CASH OR CARD PAYMENTS — white side fill instead of blur
   ========================================================== */

.service-card .payment{
  background-image:url('assets/cash-card-payments-wide.png')!important;
  background-size:contain!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:#fff!important;
}

.service-card .payment::before,
.service-card .payment::after{
  content:none!important;
  display:none!important;
  filter:none!important;
  background:none!important;
}

@media(max-width:700px){
  .service-card .payment{
    height:220px!important;
    background-size:contain!important;
    background-position:center center!important;
    background-color:#fff!important;
  }
}

.footer-contact .contact-line{
  display:flex;
  align-items:center;
  gap:.35rem;
  flex-wrap:nowrap;
  white-space:nowrap;
}
.footer-contact .contact-line a{
  color:inherit;
  text-decoration:none;
}
.footer-contact .contact-line a:hover{ text-decoration:underline; }
@media(max-width:480px){
  .footer-contact .contact-line{font-size:.88rem;}
  .footer-contact .email-line{
    white-space:normal;
    overflow-wrap:anywhere;
  }
}


/* Book Your Ride — two clear quote methods */
.quote-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:20px;
}
.quote-btn{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  border-radius:14px;
  font-weight:800;
  text-align:center;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease;
}
.quote-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}
.quote-whatsapp{
  background:#16bf59;
  color:#fff;
}
.quote-email{
  background:#13243b;
  color:#fff;
}
.contact-email-link{
  color:inherit;
  text-decoration:none;
}
.contact-email-link:hover{
  text-decoration:underline;
}
@media(max-width:700px){
  .quote-options{
    grid-template-columns:1fr;
    gap:12px;
  }
  .quote-btn{
    width:100%;
    min-height:56px;
  }
}


/* Quote delivery buttons: same completed form, two delivery channels */
.quote-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  width:100%;
  margin-top:20px;
}
.quote-options .quote-btn{
  appearance:none;
  border:0;
  cursor:pointer;
  width:100%;
  min-height:60px;
  border-radius:14px;
  padding:14px 18px;
  font:inherit;
  font-weight:800;
  text-align:center;
}
.quote-whatsapp{background:#16bf59;color:#fff;}
.quote-email{background:#13243b;color:#fff;}
@media(max-width:700px){
  .quote-options{grid-template-columns:1fr;}
}

#customerName{width:100%;}
.full-width-field{width:100%;}


/* Hero Request a Quote — green background, white text */
.hero .hero-quote-green,
.hero-actions .hero-quote-green{
  background:var(--green)!important;
  color:#fff!important;
  border-color:var(--green)!important;
}
.hero .hero-quote-green:hover,
.hero-actions .hero-quote-green:hover{
  background:var(--green2)!important;
  color:#fff!important;
}

/* Book Your Ride — two working delivery buttons */
#rideQuoteForm .quote-options{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  width:100%;
  margin-top:8px;
}
#rideQuoteForm .quote-btn{
  appearance:none;
  border:0;
  min-height:56px;
  border-radius:10px;
  padding:13px 18px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  text-align:center;
}
#rideQuoteForm .quote-whatsapp{
  background:#13b653;
  color:#fff;
}
#rideQuoteForm .quote-email{
  background:#1877d2;
  color:#fff;
}
#rideQuoteForm .quote-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,.14);
}
@media(max-width:700px){
  #rideQuoteForm .quote-options{
    grid-template-columns:1fr;
  }
}


/* PRIVATE TRIPS — clean white sides, no blurred borders */
.service-card .trip{
  background-image:url('assets/private-trips-white-sides.jpg')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:#fff!important;
}
.service-card .trip::before,
.service-card .trip::after{
  content:none!important;
  display:none!important;
  background:none!important;
  filter:none!important;
}
@media(max-width:700px){
  .service-card .trip{
    background-image:url('assets/private-trips-white-sides.jpg')!important;
    background-size:cover!important;
    background-position:center center!important;
    background-color:#fff!important;
  }
}


/* Netlify booking form — contact details and country dialing code */
.hidden-field{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

#rideQuoteForm select{
  display:block;
  width:100%;
  height:46px;
  border:1px solid #d5e0db;
  border-radius:8px;
  margin-top:5px;
  padding:0 12px;
  font:inherit;
  background:#fff;
  color:var(--text);
}

.phone-input-group{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:stretch;
  width:100%;
  margin-top:5px;
}

.country-code-display{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:76px;
  padding:0 12px;
  border:1px solid #d5e0db;
  border-right:0;
  border-radius:8px 0 0 8px;
  background:#eef5f0;
  color:#20362c;
  font-weight:800;
}

#rideQuoteForm .phone-input-group input{
  margin-top:0!important;
  border-radius:0 8px 8px 0!important;
}

.netlify-submit-btn{
  min-height:56px;
  font-size:1rem;
}

.netlify-submit-btn:disabled{
  opacity:.7;
  cursor:wait;
}

.quote-submit-status{
  margin:0;
  min-height:22px;
  font-size:.95rem;
  font-weight:700;
}

.quote-submit-status.success{color:#0b8f42;}
.quote-submit-status.error{color:#b42318;}

@media(max-width:700px){
  #rideQuoteForm .wide{
    grid-column:auto!important;
  }
  #rideQuoteForm select{
    height:48px;
    font-size:1.05rem;
  }
  .country-code-display{
    min-width:72px;
  }
}


/* Phone field — integrated flag/country/code selector + number */
.phone-combo{
  display:grid;
  grid-template-columns:minmax(205px,.95fr) minmax(0,1.05fr);
  width:100%;
  margin-top:5px;
}

#rideQuoteForm .phone-combo select{
  margin-top:0!important;
  width:100%!important;
  height:48px!important;
  border:1px solid #d5e0db!important;
  border-right:0!important;
  border-radius:8px 0 0 8px!important;
  background:#f5faf7!important;
  padding:0 10px!important;
  font:inherit!important;
  color:var(--text)!important;
}

#rideQuoteForm .phone-combo input{
  margin-top:0!important;
  width:100%!important;
  height:48px!important;
  border-radius:0 8px 8px 0!important;
}

@media(max-width:700px){
  .phone-combo{
    grid-template-columns:minmax(165px,.95fr) minmax(0,1.05fr);
  }
  #rideQuoteForm .phone-combo select{
    font-size:.94rem!important;
  }
}

@media(max-width:430px){
  .phone-combo{
    grid-template-columns:minmax(150px,1fr) minmax(0,1.05fr);
  }
  #rideQuoteForm .phone-combo select{
    font-size:.86rem!important;
    padding:0 6px!important;
  }
}


/* FINAL BOOK YOUR RIDE FORM */
#rideQuoteForm{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
}

#rideQuoteForm .wide{
  grid-column:1/-1!important;
}

#rideQuoteForm label{
  font-size:1.04rem!important;
  font-weight:800!important;
}

#rideQuoteForm input,
#rideQuoteForm select{
  font-size:1rem!important;
}

.phone-combo{
  display:grid!important;
  grid-template-columns:minmax(210px,.95fr) minmax(0,1.05fr)!important;
  width:100%!important;
  margin-top:6px!important;
}

#rideQuoteForm .phone-combo select{
  margin-top:0!important;
  height:50px!important;
  border:1px solid #d5e0db!important;
  border-right:0!important;
  border-radius:9px 0 0 9px!important;
  background:#f5faf7!important;
  padding:0 10px!important;
}

#rideQuoteForm .phone-combo input{
  margin-top:0!important;
  height:50px!important;
  border-radius:0 9px 9px 0!important;
}

.hidden-field{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

.netlify-submit-btn{
  min-height:58px!important;
  font-size:1.05rem!important;
}

.quote-submit-status{
  margin:0!important;
  min-height:22px!important;
  font-weight:700!important;
}

.quote-submit-status.success{color:#0b8f42!important;}
.quote-submit-status.error{color:#b42318!important;}

@media(max-width:700px){
  #rideQuoteForm{
    grid-template-columns:1fr!important;
  }

  #rideQuoteForm .wide{
    grid-column:auto!important;
  }

  .phone-combo{
    grid-template-columns:minmax(165px,.95fr) minmax(0,1.05fr)!important;
  }

  #rideQuoteForm .phone-combo select{
    font-size:.9rem!important;
  }
}

@media(max-width:430px){
  .phone-combo{
    grid-template-columns:minmax(150px,1fr) minmax(0,1.05fr)!important;
  }

  #rideQuoteForm .phone-combo select{
    font-size:.82rem!important;
    padding:0 6px!important;
  }
}


/* Mobile navigation — stable hamburger behavior */
@media(max-width:1000px){
  .nav-links{
    display:none!important;
  }

  .nav-links.mobile-open{
    display:flex!important;
    position:absolute!important;
    top:72px!important;
    left:4%!important;
    right:4%!important;
    flex-direction:column!important;
    gap:14px!important;
    padding:18px!important;
    border-radius:14px!important;
    background:rgba(6,34,56,.98)!important;
    box-shadow:0 12px 30px rgba(0,0,0,.18)!important;
    z-index:100!important;
  }

  .menu-toggle{
    display:block!important;
    cursor:pointer!important;
    z-index:110!important;
  }
}


/* Review form restored */
.review-form-panel[hidden],
.reviews-panel[hidden]{
  display:none!important;
}

.review-form-panel:not([hidden]),
.reviews-panel:not([hidden]){
  display:block!important;
}

.review-form{
  display:grid;
  gap:18px;
  max-width:760px;
}

.review-form label,
.star-rating-fieldset legend{
  font-weight:700;
  font-size:15px;
}

.review-form input,
.review-form textarea{
  display:block;
  width:100%;
  margin-top:7px;
  border:1px solid #ccd9d2;
  border-radius:10px;
  padding:12px 14px;
  font:inherit;
  background:#fff;
  color:var(--text);
}

.review-form textarea{
  min-height:130px;
  resize:vertical;
}

.star-rating-fieldset{
  border:0;
  padding:0;
  margin:0;
}

.star-rating-input{
  display:inline-flex;
  flex-direction:row-reverse;
  justify-content:flex-end;
  gap:4px;
  margin-top:8px;
}

.star-rating-input input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.star-rating-input label{
  font-size:34px;
  line-height:1;
  color:#cfd7d2;
  cursor:pointer;
}

.star-rating-input label:hover,
.star-rating-input label:hover ~ label,
.star-rating-input input:checked ~ label{
  color:#f2a400;
}

.reviews-panel,
.review-form-panel{
  margin-top:30px;
  background:#fff;
  border:1px solid #e2eae5;
  border-radius:18px;
  padding:24px;
  box-shadow:0 10px 30px rgba(10,30,45,.08);
}

.reviews-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:20px;
}

.reviews-close{
  border:0;
  background:#f2f6f3;
  width:40px;
  height:40px;
  border-radius:50%;
  cursor:pointer;
  font-size:28px;
}

.all-reviews-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}

@media(max-width:800px){
  .all-reviews-list{grid-template-columns:1fr;}
}


/* Review form is intentionally separate from Book Your Ride */
#reviewForm{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  max-width:760px!important;
}

#reviewForm input[type="text"],
#reviewForm textarea{
  width:100%!important;
}

#reviewFormPanel[hidden],
#allReviewsPanel[hidden]{
  display:none!important;
}

#reviewFormPanel:not([hidden]),
#allReviewsPanel:not([hidden]){
  display:block!important;
}

.review-moderation-note{margin:0;font-size:.8rem;color:#738188;}
.review-form-status.success{color:#0b8f42;font-weight:700;}
.review-form-status.error{color:#b42318;font-weight:700;}
.reviews-loading,.reviews-empty{
  grid-column:1/-1;margin:0;padding:22px;text-align:center;color:#6f7d85;
  background:#f6faf7;border-radius:14px;
}
#submitReviewBtn:disabled{opacity:.7;cursor:wait;}

.route-page{padding:120px 0 72px;background:linear-gradient(180deg,#f4faf6,#fff 55%)}.route-wrap{width:min(1050px,92%);margin:auto}.route-kicker{font-weight:900;letter-spacing:.12em;color:#168653;font-size:.82rem}.route-page h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1.04;color:#0b2637}.route-lead{font-size:1.16rem;line-height:1.7;max-width:800px;color:#53636b}.route-card{margin-top:30px;padding:28px;border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(12,45,35,.10);border:1px solid #e1ebe5}.route-points{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:22px 0}.route-point{padding:16px;border-radius:13px;background:#f3f8f5;font-weight:700}.same-price{margin:22px 0;padding:18px;border-left:5px solid #168653;background:#edf8f1;border-radius:10px}.route-cta{display:inline-block;padding:15px 24px;border-radius:9px;background:#168653;color:#fff!important;text-decoration:none;font-weight:900}@media(max-width:700px){.route-points{grid-template-columns:1fr}}
.seo-service-links{padding:48px 0;background:#f7faf8}.seo-service-links h2{text-align:center}.seo-links-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px;max-width:900px;margin:auto}.seo-links-grid a{color:#147c4d;font-weight:700;text-decoration:none;padding:8px 0}@media(max-width:650px){.seo-links-grid{grid-template-columns:1fr}}


/* Fixed-price route booking pages */
.fixed-price-box{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin:24px 0;
  padding:22px 24px;
  border-radius:16px;
  background:#eef8f2;
  border:1px solid #d9eadf;
}
.fixed-price-box span{
  display:block;
  color:#5e7167;
  font-size:.9rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.fixed-price-box strong{
  display:block;
  margin-top:4px;
  color:#0b2637;
  font-size:clamp(2rem,5vw,3.4rem);
  line-height:1;
}
.fixed-price-box small{
  color:#607268;
  text-align:right;
}
.route-booking-card{
  margin-top:30px;
  padding:28px;
  border-radius:20px;
  background:#fff;
  border:1px solid #e1ebe5;
  box-shadow:0 12px 35px rgba(12,45,35,.10);
}
.route-booking-card h2{
  margin-top:0;
  color:#0b2637;
}
.route-booking-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:20px;
}
.route-booking-form .wide{
  grid-column:1/-1;
}
.route-booking-form label,
.route-booking-form legend{
  font-weight:800;
  color:#243a31;
}
.route-booking-form input,
.route-booking-form select{
  width:100%;
  height:50px;
  margin-top:6px;
  border:1px solid #d5e0db;
  border-radius:9px;
  padding:0 12px;
  font:inherit;
  background:#fff;
}
.phone-combo{
  display:grid;
  grid-template-columns:minmax(210px,.95fr) minmax(0,1.05fr);
  margin-top:6px;
}
.route-booking-form .phone-combo select{
  margin-top:0;
  border-right:0;
  border-radius:9px 0 0 9px;
  background:#f5faf7;
}
.route-booking-form .phone-combo input{
  margin-top:0;
  border-radius:0 9px 9px 0;
}
.direction-fieldset{
  grid-column:1/-1;
  border:0;
  padding:0;
  margin:0;
}
.direction-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:8px;
}
.direction-option{
  position:relative;
}
.direction-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.direction-option label{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:12px 14px;
  border:2px solid #d7e2dc;
  border-radius:12px;
  background:#fff;
  text-align:center;
  cursor:pointer;
  transition:.18s ease;
}
.direction-option input:checked + label{
  border-color:#168653;
  background:#edf8f1;
  color:#0b6f43;
}
.route-submit{
  grid-column:1/-1;
  min-height:58px;
  border:0;
  border-radius:10px;
  background:#168653;
  color:#fff;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.route-form-status{
  grid-column:1/-1;
  min-height:22px;
  margin:0;
  font-weight:700;
}
.route-form-status.success{color:#0b8f42}
.route-form-status.error{color:#b42318}
.hidden-field{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
@media(max-width:700px){
  .fixed-price-box{
    align-items:flex-start;
    flex-direction:column;
  }
  .fixed-price-box small{text-align:left}
  .route-booking-form{grid-template-columns:1fr}
  .route-booking-form .wide{grid-column:auto}
  .direction-fieldset{grid-column:auto}
  .direction-options{grid-template-columns:1fr}
  .route-submit{grid-column:auto}
  .phone-combo{grid-template-columns:minmax(155px,.95fr) minmax(0,1.05fr)}
  .route-booking-form .phone-combo select{font-size:.88rem;padding:0 7px}
}


/* Popular Private Transfer Services */
.popular-transfer-services{
  padding:56px 0 64px;
  background:#fff;
}
.popular-transfer-services h2{
  margin:0 0 28px;
  text-align:center;
  color:#0d1f31;
  font-size:clamp(2rem,4.5vw,3.3rem);
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
}
.popular-transfer-list{
  display:grid;
  gap:0;
}
.popular-transfer-row{
  display:grid;
  grid-template-columns:minmax(260px,34%) 1fr auto;
  align-items:center;
  gap:24px;
  min-height:118px;
  padding:10px 0;
  border-bottom:1px solid #e4e9e6;
  text-decoration:none;
}
.popular-transfer-row img{
  width:100%;
  height:100px;
  object-fit:cover;
  border-radius:12px;
  background:#cfefff;
}
.popular-transfer-copy{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.popular-transfer-copy strong{
  color:#147a49;
  font-size:clamp(1.2rem,2.4vw,2rem);
  line-height:1.15;
}
.popular-transfer-copy span{
  color:#69767d;
  font-size:.98rem;
}
.popular-transfer-arrow{
  color:#147a49;
  font-size:2rem;
  font-weight:700;
}
@media(max-width:760px){
  .popular-transfer-services{padding:42px 0}
  .popular-transfer-row{
    grid-template-columns:120px 1fr auto;
    gap:14px;
    min-height:96px;
  }
  .popular-transfer-row img{
    height:82px;
  }
  .popular-transfer-copy strong{
    font-size:1.03rem;
  }
  .popular-transfer-copy span{
    font-size:.82rem;
  }
  .popular-transfer-arrow{
    font-size:1.5rem;
  }
}
@media(max-width:520px){
  .popular-transfer-row{
    grid-template-columns:1fr auto;
  }
  .popular-transfer-row img{
    grid-column:1/-1;
    height:145px;
  }
}

.popular-transfer-row img{background:#fff;object-fit:cover;object-position:center center}
.popular-transfer-row.media-contain-row img{object-fit:contain;object-position:center center;background:#fff;padding:0;height:160px}
.popular-transfer-row.media-contain-row{grid-template-columns:minmax(320px,38%) 1fr auto;min-height:176px}
@media(max-width:760px){
  .popular-transfer-row.media-contain-row{grid-template-columns:150px 1fr auto;min-height:132px}
  .popular-transfer-row.media-contain-row img{height:108px;background:#fff}
}
@media(max-width:520px){
  .popular-transfer-row.media-contain-row{grid-template-columns:1fr auto}
  .popular-transfer-row.media-contain-row img{height:190px;background:#fff}
}

/* Route SEO content */
.route-seo-content{margin:34px 0 28px;color:#26363d}
.route-seo-content>h2,.route-faq>h2{margin:30px 0 12px;color:#102b3b;font-size:clamp(1.45rem,3vw,2rem)}
.route-seo-content>p{line-height:1.75;color:#53646b}
.route-benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0 30px}
.route-benefits-grid article{background:#f5faf7;border:1px solid #dfeae3;border-radius:14px;padding:18px}
.route-benefits-grid strong{display:block;color:#147a49;font-size:1.08rem;margin-bottom:5px}
.route-benefits-grid span{display:block;color:#66767c;font-size:.92rem;line-height:1.4}
.route-inclusions{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:12px 0 30px;padding-left:22px;color:#53646b;line-height:1.55}
.route-cta-panel{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#eef8f2;border-radius:18px;padding:24px;margin:28px 0}
.route-cta-panel h2{margin:0 0 6px;color:#102b3b;font-size:1.35rem}
.route-cta-panel p{margin:0;color:#5e7076;line-height:1.5}
.route-cta-panel a{flex:0 0 auto;background:#147a49;color:#fff;text-decoration:none;font-weight:800;padding:13px 18px;border-radius:10px}
.route-faq{margin-top:30px}
.seo-faq-item{padding:18px 0;border-bottom:1px solid #e4e9e6}
.seo-faq-item h3{margin:0 0 7px;color:#20343d;font-size:1.08rem}
.seo-faq-item p{margin:0;color:#5e6f75;line-height:1.65}
@media(max-width:760px){
 .route-benefits-grid{grid-template-columns:1fr 1fr}
 .route-inclusions{grid-template-columns:1fr}
 .route-cta-panel{display:block}
 .route-cta-panel a{display:block;text-align:center;margin-top:16px}
}
