
/* =========================================================
   Swan Lanka Tours — 2026 vibrant luxury enhancement layer
   ========================================================= */
:root{
  --action-green:#5cba47;
  --action-green-dark:#5cba47;
  --action-blue:#60afb7;
  --action-blue-dark:#46939c;
  --sun:#f5c84c;
  --coral:#ff7a59;
  --violet:#7cbdc4;
  --teal:#3a7b82;
  --sky:#f2f8f9;
  --lime:#5cba47;
  --peach:#fff1e8;
  --lav:#f4f9fa;
  --header-h:118px;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --ink:#5cba47;
  --paper:#0f191d;
  --soft:#162328;
  --muted:#b3bdbe;
  --line:rgba(255,255,255,.10);
  --charcoal:#0a1113;
  --charcoal-2:#101a1e;
}
html[data-theme="dark"] body{background:#0d1417;color:var(--ink)}
html[data-theme="dark"] .section{background-color:#0d1417}
html[data-theme="dark"] .section-soft{background:linear-gradient(135deg,#162328,#121c21 52%,#18272d)}
html[data-theme="dark"] .tour-card,
html[data-theme="dark"] .day-card,
html[data-theme="dark"] .guide-card,
html[data-theme="dark"] .experience-card,
html[data-theme="dark"] .vehicle-card,
html[data-theme="dark"] .tour-facts,
html[data-theme="dark"] .notice,
html[data-theme="dark"] .info-card,
html[data-theme="dark"] .attraction-card,
html[data-theme="dark"] .local-card,
html[data-theme="dark"] .include-card,
html[data-theme="dark"] .route-panel,
html[data-theme="dark"] .map-panel{background:#131f24;color:#5cba47;border-color:rgba(255,255,255,.10)}
html[data-theme="dark"] .tour-copy p,
html[data-theme="dark"] .day-copy p,
html[data-theme="dark"] .guide-card p,
html[data-theme="dark"] .experience-card p,
html[data-theme="dark"] .body-lg,
html[data-theme="dark"] .local-card p,
html[data-theme="dark"] .attraction-card p{color:#b3bdbe}
html[data-theme="dark"] .check-grid span{background:#152228}
html[data-theme="dark"] .dropdown-menu{background:#141f24;color:#fff}
html[data-theme="dark"] .dropdown-menu a:hover{background:rgba(255,255,255,.07)}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{background:#101a1e;color:#fff;border-color:rgba(255,255,255,.13)}
html[data-theme="dark"] .cta-band{background:linear-gradient(115deg,#162329,#18262c 55%,#20323b)}
html[data-theme="dark"] .cta-inner p{color:#c4cccd}

/* high-impact header */
.site-header{
  background:linear-gradient(180deg,rgba(10,16,18,.94) 0%,rgba(10,16,18,.72) 60%,rgba(10,16,18,0) 100%);
  border-top:4px solid transparent;
  border-image:linear-gradient(90deg,var(--action-green),var(--cyan),var(--action-blue),var(--violet)) 1;
}
.site-header.scrolled{background:rgba(12,19,22,.96)}
.utility-bar{
  height:34px;
  border-bottom:1px solid rgba(255,255,255,.10);
  background:rgba(9,15,18,.72);
  color:#dfe7e8;
  backdrop-filter:blur(16px);
}
.utility-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:.68rem;letter-spacing:.04em}
.utility-tag{display:flex;align-items:center;gap:9px;font-weight:700}
.utility-tag:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--action-green);box-shadow:0 0 0 5px rgba(92,186,71,.15)}
.utility-actions{display:flex;align-items:center;gap:8px}
.utility-actions>a{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.06);transition:transform .2s, opacity .2s, background-color .2s, border-color .2s, color .2s, box-shadow .2s}
.utility-actions>a:hover{background:var(--action-blue);color:#fff}
.theme-switch{height:25px;padding:0 8px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.07);color:#fff;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:.66rem;font-weight:700;transition:transform .2s, opacity .2s, background-color .2s, border-color .2s, color .2s, box-shadow .2s}
.theme-switch:hover{background:rgba(255,255,255,.14)}
.theme-switch .theme-label{opacity:.9}
.nav-wrap{height:84px}
.brand{width:164px;flex-basis:164px}
.brand img{width:164px;height:76px}
.nav-item>a{font-size:.78rem;padding-top:29px;padding-bottom:29px}
.nav-cta{
  background:var(--action-green)!important;color:#fff!important;
  box-shadow:0 10px 26px rgba(92,186,71,.30);
}
.nav-cta:hover{background:var(--action-blue)!important;transform:translateY(-2px);box-shadow:0 14px 34px rgba(96,175,183,.30)}
.header-mini-feature{display:inline-flex;align-items:center;gap:6px;color:#fff;font-size:.71rem;font-weight:700;white-space:nowrap}
.header-mini-feature i{width:8px;height:8px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 4px rgba(92,186,71,.14)}

/* buttons: green normal, blue hover */
.btn,
.btn-primary,
.btn-dark,
.btn-light,
.btn-ghost,
.contact-pill{
  background:var(--action-green)!important;
  color:#fff!important;
  border-color:var(--action-green)!important;
  box-shadow:0 10px 26px rgba(92,186,71,.22);
}
.btn:hover,
.btn-primary:hover,
.btn-dark:hover,
.btn-light:hover,
.btn-ghost:hover,
.contact-pill:hover{
  background:var(--action-blue)!important;
  border-color:var(--action-blue)!important;
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(96,175,183,.26);
}
.gallery-filters button{transition:transform .2s, opacity .2s, background-color .2s, border-color .2s, color .2s, box-shadow .2s;border:1px solid rgba(92,186,71,.18)}
.gallery-filters button.active{background:var(--action-green)!important;color:#fff!important;border-color:var(--action-green)!important}
.gallery-filters button:hover{background:var(--action-blue)!important;color:#fff!important;border-color:var(--action-blue)!important}

/* every hero taller */
.hero-slider{height:880px;min-height:760px}
.inner-hero{height:620px;min-height:620px}
.inner-hero-content{padding-bottom:76px}
.inner-hero-overlay{
  background:
    linear-gradient(105deg,rgba(11,18,21,.82) 0%,rgba(11,18,21,.42) 52%,rgba(11,18,21,.16) 100%),
    linear-gradient(to top,rgba(11,18,21,.72),transparent 66%);
}
.inner-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--action-green),var(--cyan),var(--action-blue),var(--violet),var(--coral))}
.hero-slider:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;z-index:8;background:linear-gradient(90deg,var(--action-green),var(--cyan),var(--action-blue),var(--violet),var(--coral))}

/* more colorful global visual language */
.section{position:relative}
.section-soft{background:linear-gradient(135deg,#5cba47 0%,#f7fbfc 45%,#f7fbfb 100%)}
.section:nth-of-type(4n+2):not(.section-dark):not(.cta-band){background-image:radial-gradient(circle at 90% 8%,rgba(100,177,185,.08),transparent 28%),radial-gradient(circle at 8% 92%,rgba(92,186,71,.08),transparent 26%)}
.section-head h2:after{content:"";display:block;width:66px;height:4px;margin-top:15px;border-radius:20px;background:linear-gradient(90deg,var(--action-green),var(--cyan),var(--action-blue),var(--violet))}
.tour-card,.day-card,.guide-card,.experience-card,.vehicle-card{border-color:rgba(96,175,183,.13);box-shadow:0 14px 38px rgba(33,52,61,.08)}
.tour-card:nth-child(4n+1),.day-card:nth-child(4n+1){border-top:4px solid var(--action-green)}
.tour-card:nth-child(4n+2),.day-card:nth-child(4n+2){border-top:4px solid var(--cyan)}
.tour-card:nth-child(4n+3),.day-card:nth-child(4n+3){border-top:4px solid var(--violet)}
.tour-card:nth-child(4n+4),.day-card:nth-child(4n+4){border-top:4px solid var(--coral)}
.image-card:after,.tour-image:after{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,var(--action-green),var(--cyan),var(--action-blue),var(--violet))}

/* destination/day/tour premium additions */
.vibrant-band{
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 20%,rgba(92,186,71,.22),transparent 25%),
    radial-gradient(circle at 88% 24%,rgba(100,177,185,.22),transparent 27%),
    linear-gradient(135deg,#5cba47,#f5fafb 52%,#f7fbfb);
}
html[data-theme="dark"] .vibrant-band{background:radial-gradient(circle at 10% 20%,rgba(92,186,71,.16),transparent 25%),radial-gradient(circle at 88% 24%,rgba(96,175,183,.16),transparent 27%),linear-gradient(135deg,#0e161a,#121d22 52%,#152127)}
.attraction-grid,.local-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.attraction-card,.local-card{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 16px 42px rgba(30,48,56,.09);position:relative}
.attraction-media,.local-media{height:230px;position:relative;overflow:hidden}
.attraction-media img,.local-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease, opacity .55s ease, background-color .55s ease, border-color .55s ease, color .55s ease, box-shadow .55s ease}
.attraction-card:hover img,.local-card:hover img{transform:scale(1.055)}
.attraction-media:after,.local-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(14,22,26,.28),transparent 60%)}
.attraction-copy,.local-copy{padding:20px 20px 22px}
.attraction-copy small,.local-copy small{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;font-weight:800;color:#5cba47}
.attraction-copy h3,.local-copy h3{font-family:var(--serif);font-size:1.65rem;line-height:1.05;margin:6px 0 8px}
.attraction-copy p,.local-copy p{font-size:.84rem;color:var(--muted);margin:0 0 14px}
.local-card:nth-child(1){background:linear-gradient(180deg,#fff,#5cba47)}
.local-card:nth-child(2){background:linear-gradient(180deg,#fff,#f4f9fa)}
.local-card:nth-child(3){background:linear-gradient(180deg,#fff,#f5fafa)}
.discovery-link{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;color:var(--action-blue)}
.discovery-link:hover{color:var(--action-green)}
.map-panel{background:#fff;border:1px solid var(--line);border-radius:30px;padding:12px;box-shadow:0 18px 50px rgba(30,48,56,.10);overflow:hidden}
.map-panel iframe{width:100%;height:430px;border:0;border-radius:21px;display:block}
.map-caption{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 9px 5px}
.map-caption h3{font-family:var(--serif);font-size:1.6rem;margin:0}
.map-caption p{margin:2px 0 0;color:var(--muted);font-size:.82rem}
.inclusion-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.include-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:0 14px 40px rgba(30,48,56,.07)}
.include-card.included{border-top:4px solid var(--action-green)}
.include-card.excluded{border-top:4px solid var(--coral)}
.include-card h3{font-family:var(--serif);font-size:1.7rem;margin:0 0 14px}
.icon-list{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.icon-list li{display:flex;gap:11px;align-items:flex-start;color:var(--muted);font-size:.87rem}
.perk-icon{width:26px;height:26px;flex:0 0 26px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:.78rem}
.included .perk-icon{background:rgba(92,186,71,.14);color:var(--action-green-dark)}
.excluded .perk-icon{background:rgba(255,122,89,.14);color:#d95235}
.route-panel{background:#fff;border:1px solid var(--line);border-radius:30px;padding:22px;box-shadow:0 18px 48px rgba(32,50,59,.09)}
.route-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.route-chip{padding:8px 12px;border-radius:999px;background:linear-gradient(100deg,rgba(92,186,71,.11),rgba(96,175,183,.11));border:1px solid rgba(96,175,183,.12);font-size:.74rem;font-weight:800}
.timeline-item{background:rgba(255,255,255,.75);border:1px solid rgba(96,175,183,.10);border-radius:24px;padding:18px;box-shadow:0 10px 30px rgba(32,50,59,.06);display:grid!important;grid-template-columns:180px 18px 1fr;gap:18px;align-items:center;margin-bottom:16px}
html[data-theme="dark"] .timeline-item{background:#131e23;border-color:rgba(255,255,255,.08)}
.timeline-item .timeline-marker{position:static!important;align-self:stretch}
.itinerary-photo{width:180px;height:125px;object-fit:cover;border-radius:18px;box-shadow:0 10px 24px rgba(23,36,42,.13)}
.timeline-copy{padding:0!important}
.timeline:before{display:none!important}
.timeline-marker{width:8px!important;border-radius:999px!important;background:linear-gradient(var(--action-green),var(--action-blue))!important}
.route-map-note{font-size:.76rem;color:var(--muted);margin-top:10px}

/* dark theme local cards */
html[data-theme="dark"] .local-card:nth-child(1),
html[data-theme="dark"] .local-card:nth-child(2),
html[data-theme="dark"] .local-card:nth-child(3){background:#131f24}

/* gallery: no vehicle tab */
.gallery-filters{gap:8px;flex-wrap:wrap}
.gallery-item{border-radius:18px;overflow:hidden}

/* responsive */
@media(max-width:1180px){
  .header-mini-feature{display:none}
}
@media(max-width:980px){
  :root{--header-h:112px}
  .utility-inner{font-size:.64rem}
  .utility-tag{display:none}
  .utility-actions{width:100%;justify-content:flex-end}
  .main-nav{top:118px}
  .hero-slider{height:820px;min-height:720px}
  .inner-hero{height:570px;min-height:570px}
  .attraction-grid,.local-grid{grid-template-columns:repeat(2,1fr)}
  .attraction-grid>*:last-child,.local-grid>*:last-child{grid-column:1/-1}
}
@media(max-width:700px){
  .utility-bar{height:32px}
  .utility-actions>a:first-child{display:none}
  .utility-actions>a{padding:4px 7px}
  .theme-switch .theme-label{display:none}
  .nav-wrap{height:78px}
  .main-nav{top:110px}
  .hero-slider{height:760px;min-height:690px}
  .inner-hero{height:540px;min-height:540px}
  .inner-hero-content{padding-bottom:50px}
  .attraction-grid,.local-grid,.inclusion-grid{grid-template-columns:1fr}
  .attraction-grid>*:last-child,.local-grid>*:last-child{grid-column:auto}
  .map-panel iframe{height:360px}
  .map-caption{display:block}
  .map-caption .btn{margin-top:12px}
  .timeline-item{grid-template-columns:1fr;gap:12px}
  .itinerary-photo{width:100%;height:210px}
  .timeline-item .timeline-marker{height:5px!important;width:100%!important}
}
@media(max-width:460px){
  .hero-slider{height:720px;min-height:660px}
  .inner-hero{height:510px;min-height:510px}
  .utility-actions .whatsapp-utility{display:none}
  .brand{width:138px;flex-basis:138px}
  .brand img{width:138px}
}


/* =========================================================
   Tour single pages — route-map spacing refinement
   ========================================================= */
.tour-route-section{
  padding-top:128px !important;
  padding-bottom:128px !important;
  scroll-margin-top:150px;
}
.tour-route-section .section-head{
  margin-bottom:46px;
}
.tour-route-section .route-panel{
  padding:34px 34px 38px !important;
}
.tour-route-section .route-chips{
  margin-top:4px;
  margin-bottom:26px;
}
.tour-route-section .tour-route-map{
  margin:0 0 28px;
}
.tour-route-section .route-map-btn{
  margin-top:2px;
  margin-bottom:6px;
}
.tour-route-section .route-map-note{
  margin-top:18px;
  margin-bottom:0;
}
@media(max-width:980px){
  .tour-route-section{
    padding-top:105px !important;
    padding-bottom:105px !important;
  }
  .tour-route-section .route-panel{
    padding:28px 28px 32px !important;
  }
}
@media(max-width:700px){
  .tour-route-section{
    padding-top:82px !important;
    padding-bottom:82px !important;
    scroll-margin-top:120px;
  }
  .tour-route-section .section-head{
    margin-bottom:30px;
  }
  .tour-route-section .route-panel{
    padding:20px 20px 24px !important;
    border-radius:24px;
  }
  .tour-route-section .route-chips{
    margin-bottom:20px;
  }
  .tour-route-section .tour-route-map{
    margin-bottom:22px;
  }
  .tour-route-section .route-map-btn{
    width:100%;
    justify-content:center;
  }
  .tour-route-section .route-map-note{
    margin-top:14px;
  }
}

/* =========================================================
   Dark theme readability + component surface fixes
   Applied globally so every main page and single page keeps
   correct contrast when switching to Dark mode.
   ========================================================= */
html[data-theme="dark"]{
  --ink:#f5f8f8;
  --muted:#bcc6c7;
  --line:rgba(255,255,255,.12);
  --soft:#152228;
}

/* Core text contrast on dark backgrounds */
html[data-theme="dark"] .section-head h2,
html[data-theme="dark"] .form-head h2,
html[data-theme="dark"] .detail-main h2,
html[data-theme="dark"] .tour-intro-grid h2,
html[data-theme="dark"] .contact-details h2,
html[data-theme="dark"] .contact-details strong,
html[data-theme="dark"] .timeline-copy h3,
html[data-theme="dark"] .map-caption h3,
html[data-theme="dark"] .include-card h3,
html[data-theme="dark"] .route-panel h3,
html[data-theme="dark"] .route-chip,
html[data-theme="dark"] .body-lg,
html[data-theme="dark"] .section p,
html[data-theme="dark"] .section li{
  color:var(--ink);
}
html[data-theme="dark"] .section-head p,
html[data-theme="dark"] .detail-main p,
html[data-theme="dark"] .tour-intro-grid p,
html[data-theme="dark"] .timeline-copy p,
html[data-theme="dark"] .contact-form small,
html[data-theme="dark"] .booking-form small,
html[data-theme="dark"] .planning-steps p,
html[data-theme="dark"] .side-card p,
html[data-theme="dark"] .info-card p,
html[data-theme="dark"] .feature-stack p,
html[data-theme="dark"] .fleet-mini p,
html[data-theme="dark"] .vehicle-copy p,
html[data-theme="dark"] .notice p{
  color:var(--muted) !important;
}

/* Convert every light content surface to a true dark-mode card */
html[data-theme="dark"] .trust-strip,
html[data-theme="dark"] .tour-card,
html[data-theme="dark"] .day-card,
html[data-theme="dark"] .experience-card,
html[data-theme="dark"] .guide-card,
html[data-theme="dark"] .fleet-mini,
html[data-theme="dark"] .feature-stack>div,
html[data-theme="dark"] .info-card,
html[data-theme="dark"] .feature-list li,
html[data-theme="dark"] .side-card,
html[data-theme="dark"] .vehicle-card,
html[data-theme="dark"] .contact-form,
html[data-theme="dark"] .booking-form,
html[data-theme="dark"] .planning-steps>div,
html[data-theme="dark"] .gallery-filters button,
html[data-theme="dark"] .attraction-card,
html[data-theme="dark"] .local-card,
html[data-theme="dark"] .include-card,
html[data-theme="dark"] .route-panel,
html[data-theme="dark"] .map-panel,
html[data-theme="dark"] .notice{
  background:#141f24 !important;
  color:#f5f8f8 !important;
  border-color:rgba(255,255,255,.12) !important;
  box-shadow:0 16px 44px rgba(0,0,0,.18);
}

/* Headings and primary copy inside dark cards */
html[data-theme="dark"] .tour-copy h3,
html[data-theme="dark"] .day-copy h3,
html[data-theme="dark"] .vehicle-copy h3,
html[data-theme="dark"] .guide-card h3,
html[data-theme="dark"] .experience-card h3,
html[data-theme="dark"] .fleet-mini h3,
html[data-theme="dark"] .feature-stack h3,
html[data-theme="dark"] .info-card h3,
html[data-theme="dark"] .side-card h3,
html[data-theme="dark"] .planning-steps h3,
html[data-theme="dark"] .attraction-copy h3,
html[data-theme="dark"] .local-copy h3,
html[data-theme="dark"] .notice strong,
html[data-theme="dark"] .trust-grid strong{
  color:#f8fbfb !important;
}
html[data-theme="dark"] .tour-copy p,
html[data-theme="dark"] .day-copy p,
html[data-theme="dark"] .vehicle-copy p,
html[data-theme="dark"] .guide-card p,
html[data-theme="dark"] .experience-card p,
html[data-theme="dark"] .fleet-mini p,
html[data-theme="dark"] .feature-stack p,
html[data-theme="dark"] .info-card p,
html[data-theme="dark"] .side-card p,
html[data-theme="dark"] .local-copy p,
html[data-theme="dark"] .attraction-copy p,
html[data-theme="dark"] .trust-grid span{
  color:#bbc5c6 !important;
}

/* Check-list / feature rows visible in dark mode */
html[data-theme="dark"] .check-grid span,
html[data-theme="dark"] .feature-list li{
  background:#16242a !important;
  color:#eff3f4 !important;
  border:1px solid rgba(255,255,255,.10) !important;
}
html[data-theme="dark"] .check-grid span:before,
html[data-theme="dark"] .feature-list li:before{
  color:#5cba47 !important;
}

/* Vehicle cards retain a clean light image stage with dark readable copy */
html[data-theme="dark"] .vehicle-art,
html[data-theme="dark"] .fleet-mini-img{
  background:linear-gradient(145deg,#5cba47,#f1f7f8) !important;
}
html[data-theme="dark"] .vehicle-tags span,
html[data-theme="dark"] .tag-row span{
  background:#1d2f36 !important;
  color:#e0e8e8 !important;
}

/* Forms: full dark theme, including headings, labels, fields and options */
html[data-theme="dark"] .contact-form,
html[data-theme="dark"] .booking-form{
  background:#141f24 !important;
}
html[data-theme="dark"] .contact-form .form-head h2,
html[data-theme="dark"] .booking-form .form-head h2,
html[data-theme="dark"] .contact-form label,
html[data-theme="dark"] .booking-form label{
  color:#f5f8f8 !important;
}
html[data-theme="dark"] .contact-form input,
html[data-theme="dark"] .contact-form textarea,
html[data-theme="dark"] .contact-form select,
html[data-theme="dark"] .booking-form input,
html[data-theme="dark"] .booking-form textarea,
html[data-theme="dark"] .booking-form select{
  background:#0f181c !important;
  color:#f5f8f8 !important;
  border-color:rgba(255,255,255,.14) !important;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{
  color:#83949d !important;
  opacity:1;
}
html[data-theme="dark"] select option{
  background:#0f181c;
  color:#f5f8f8;
}

/* Gallery filters must never become white-on-white */
html[data-theme="dark"] .gallery-filters button{
  background:#16242a !important;
  color:#ecf1f2 !important;
}
html[data-theme="dark"] .gallery-filters button:hover{
  background:var(--action-blue) !important;
  color:#fff !important;
}
html[data-theme="dark"] .gallery-filters button.active{
  background:var(--action-green) !important;
  color:#fff !important;
  border-color:var(--action-green) !important;
}

/* Side cards, notices and links */
html[data-theme="dark"] .micro,
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .attraction-copy small,
html[data-theme="dark"] .local-copy small{
  color:#5cba47 !important;
}
html[data-theme="dark"] .text-link,
html[data-theme="dark"] .tour-copy a,
html[data-theme="dark"] .day-copy a,
html[data-theme="dark"] .vehicle-copy a,
html[data-theme="dark"] .guide-card a,
html[data-theme="dark"] .experience-card a,
html[data-theme="dark"] .discovery-link{
  color:#97cbd1 !important;
}
html[data-theme="dark"] .text-link:hover,
html[data-theme="dark"] .discovery-link:hover{
  color:#5cba47 !important;
}

/* Route, itinerary and inclusion chips */
html[data-theme="dark"] .route-chip{
  background:linear-gradient(100deg,rgba(92,186,71,.20),rgba(96,175,183,.20)) !important;
  color:#edf3f4 !important;
  border-color:rgba(255,255,255,.10) !important;
}
html[data-theme="dark"] .timeline-item{
  background:#141f24 !important;
  color:#f5f8f8 !important;
}
html[data-theme="dark"] .perk-icon{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}

/* CTA remains colorful but readable */
html[data-theme="dark"] .cta-band .btn-ghost{
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.07) !important;
}
html[data-theme="dark"] .cta-band .btn-ghost:hover{
  background:var(--action-blue) !important;
  border-color:var(--action-blue) !important;
}

/* Home trust area and informational white strips */
html[data-theme="dark"] .trust-strip{
  border-color:rgba(255,255,255,.08) !important;
}
html[data-theme="dark"] .trust-grid>div{
  border-color:rgba(255,255,255,.09) !important;
}

/* Keep lightbox/gallery labels readable regardless of theme */
html[data-theme="dark"] .gallery-item span{color:#fff !important}

/* White buttons are converted by the global button theme, but preserve text */
html[data-theme="dark"] .btn-light{color:#fff !important}

/* Final dark-theme contrast polish */
:root{
  --action-green:#5cba47;
  --action-green-dark:#253b45;
  --action-blue:#5bacb5;
  --action-blue-dark:#4ca0a9;
}
html[data-theme="dark"] .badge{
  background:rgba(246,249,249,.96) !important;
  color:#131f24 !important;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}
html[data-theme="dark"] .route-line{
  color:#bdc7c8 !important;
  border-color:rgba(255,255,255,.10) !important;
}
html[data-theme="dark"] .route-box strong{
  color:#f5f8f8 !important;
}
html[data-theme="dark"] .feature-stack>div>span,
html[data-theme="dark"] .planning-steps>div>span{
  color:#5cba47 !important;
}
html[data-theme="dark"] .tour-facts>div span{
  color:#bcc6c7 !important;
}
html[data-theme="dark"] .included .perk-icon{
  color:#5cba47 !important;
  background:rgba(92,186,71,.18) !important;
}
html[data-theme="dark"] .excluded .perk-icon{
  color:#ff9b84 !important;
  background:rgba(255,122,89,.16) !important;
}


/* =========================================================
   2026-10-05 — Global section spacing refinement
   Reduces excessive vertical gaps across the full website
   while preserving hero heights and component layouts.
   ========================================================= */

/* Main page sections */
.section{
  padding-top:64px !important;
  padding-bottom:64px !important;
}

/* Reduce space below section headings */
.section-head{
  margin-bottom:30px !important;
}
.section-head h2,
.form-head h2{
  margin-bottom:11px;
}

/* Slightly tighten large split-layout spacing */
.split{
  gap:42px !important;
}

/* Home experience band */
.experience-band{
  padding-top:64px !important;
  padding-bottom:64px !important;
}

/* CTA blocks */
.cta-band{
  padding-top:56px !important;
  padding-bottom:56px !important;
}
.cta-inner{
  gap:28px;
}

/* Tour route/map areas had intentionally large padding before */
.tour-route-section{
  padding-top:72px !important;
  padding-bottom:72px !important;
}
.tour-route-section .section-head{
  margin-bottom:30px !important;
}

/* Guide/article internal spacing */
.article-section{
  margin-top:20px !important;
  padding-top:10px !important;
}

/* Footer: slightly more compact without feeling crowded */
.site-footer{
  padding-top:56px !important;
}

/* Keep card/grid content comfortable while reducing empty space */
.cards-grid,
.day-grid,
.guide-grid,
.values-grid,
.experience-card-grid,
.fleet-mini-grid,
.attraction-grid,
.local-grid{
  row-gap:22px;
}

/* Tablet */
@media(max-width:980px){
  .section{
    padding-top:56px !important;
    padding-bottom:56px !important;
  }
  .section-head{
    margin-bottom:26px !important;
  }
  .experience-band{
    padding-top:56px !important;
    padding-bottom:56px !important;
  }
  .cta-band{
    padding-top:50px !important;
    padding-bottom:50px !important;
  }
  .tour-route-section{
    padding-top:60px !important;
    padding-bottom:60px !important;
  }
  .split{
    gap:34px !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .section{
    padding-top:46px !important;
    padding-bottom:46px !important;
  }
  .section-head{
    margin-bottom:22px !important;
  }
  .experience-band{
    padding-top:46px !important;
    padding-bottom:46px !important;
  }
  .cta-band{
    padding-top:42px !important;
    padding-bottom:42px !important;
  }
  .tour-route-section{
    padding-top:50px !important;
    padding-bottom:50px !important;
  }
  .tour-route-section .section-head{
    margin-bottom:22px !important;
  }
  .split{
    gap:28px !important;
  }
  .site-footer{
    padding-top:46px !important;
  }
  .article-section{
    margin-top:16px !important;
  }
}
