/* ZinZen Travels production layer — SEO/AEO/GEO, accessibility and mobile polish */

.skip-link{position:fixed;left:12px;top:12px;z-index:99999;background:#fff;color:#0b2a62;padding:10px 14px;border-radius:10px;transform:translateY(-160%);box-shadow:0 8px 30px rgba(0,0,0,.18);font-weight:800}.skip-link:focus{transform:translateY(0)}

/* Keep the current visual identity, improve usable target sizes */
button,a,.filter,.modal-close,.review-more,.zinzen-review-video-dot{touch-action:manipulation}
.filter{min-height:44px;padding:10px 18px;font-size:13px}
.package-card .btn.small{min-height:46px;font-size:13px}
.modal-close{width:44px!important;height:44px!important;display:grid!important;place-items:center!important;border-radius:50%}
.main-nav>a{min-height:40px;display:flex;align-items:center}

.production-note{margin:10px 4px 0;color:rgba(255,255,255,.78);font-size:11px;line-height:1.5}
.package-price-note{font-size:11.5px;line-height:1.55;color:#78869a;margin:14px 0 4px}
.package-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.package-detail-link{font-size:12px;font-weight:800;color:#0b86a0;text-decoration:none}.package-detail-link:hover{text-decoration:underline}

/* Static services (same design direction as the live site, now crawlable) */
#services{position:relative;padding:95px 20px 105px;background:radial-gradient(circle at 15% 15%,rgba(32,196,170,.10),transparent 32%),radial-gradient(circle at 85% 80%,rgba(30,144,255,.08),transparent 35%),#f7fafc;overflow:hidden}
#services::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid rgba(24,169,153,.10);top:-220px;right:-180px}
.zinzen-services-container{width:min(1180px,100%);margin:0 auto;position:relative;z-index:2}.zinzen-services-heading{text-align:center;margin-bottom:52px}.zinzen-services-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;background:rgba(255,255,255,.90);border:1px solid rgba(20,120,130,.12);box-shadow:0 8px 25px rgba(20,50,70,.06);color:#078aa0;font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:16px}.zinzen-services-eyebrow span{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#18a957,#12b8d4);box-shadow:0 0 0 5px rgba(24,169,87,.08)}
.zinzen-services-heading h2{margin:0;color:#09284a;font-size:clamp(30px,4vw,48px);line-height:1.08;font-weight:900;letter-spacing:-.8px}.zinzen-services-heading h2 span{color:#10a7a2}.zinzen-services-subtitle{max-width:650px;margin:15px auto 0;color:#66758a;font-size:15px;line-height:1.8}
.zinzen-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.zinzen-service-card{position:relative;min-height:285px;padding:34px 31px;border-radius:28px;background:rgba(255,255,255,.96);border:1px solid rgba(10,55,85,.08);box-shadow:0 18px 50px rgba(20,55,80,.08),0 3px 12px rgba(20,55,80,.03);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.zinzen-service-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#087bb7,#12b8d4,#8bd63e);transform:scaleX(.25);transform-origin:left;transition:transform .35s ease}.zinzen-service-card:hover{transform:translateY(-8px);border-color:rgba(15,157,178,.20);box-shadow:0 28px 65px rgba(20,55,80,.14),0 8px 25px rgba(20,160,170,.08)}.zinzen-service-card:hover::before{transform:scaleX(1)}
.zinzen-service-icon{width:68px;height:68px;display:flex;align-items:center;justify-content:center;border-radius:20px;background:linear-gradient(145deg,#eafaff,#f4fff0);border:1px solid rgba(20,150,170,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 25px rgba(20,120,150,.08);margin-bottom:25px;color:#087fa6;font-size:30px}.zinzen-service-number{position:absolute;top:27px;right:28px;color:rgba(8,40,74,.07);font-size:42px;font-weight:900;line-height:1}.zinzen-service-card h3{margin:0 0 11px;color:#09284a;font-size:21px;font-weight:850}.zinzen-service-description{margin:0;color:#6c7a8d;font-size:13.5px;line-height:1.75;max-width:310px}.service-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}.zinzen-service-link{display:inline-flex;align-items:center;color:#0789a2;font-size:12px;font-weight:800;text-decoration:none}.zinzen-service-link:hover{text-decoration:underline}
.zinzen-services-cta{margin-top:38px;padding:25px 30px;border-radius:22px;background:linear-gradient(135deg,#09284a,#087c9b);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 18px 45px rgba(9,40,74,.16)}.zinzen-services-cta-text strong{display:block;font-size:17px;margin-bottom:5px}.zinzen-services-cta-text span{display:block;color:rgba(255,255,255,.72);font-size:12px}.zinzen-services-cta-button{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 21px;min-height:46px;border-radius:999px;background:linear-gradient(135deg,#0db3d0,#8bd63e);color:#fff;font-size:12px;font-weight:850;text-decoration:none;box-shadow:0 10px 25px rgba(0,0,0,.16);transition:transform .25s ease}.zinzen-services-cta-button:hover{transform:translateY(-3px)}

/* FAQ for answer engines and customers */
.faq-section{background:#fff}.faq-wrap{max-width:1020px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:34px}.faq-grid details{border:1px solid rgba(8,40,74,.09);background:#f8fbfd;border-radius:18px;padding:0 20px;box-shadow:0 8px 24px rgba(10,45,70,.04)}.faq-grid summary{cursor:pointer;list-style:none;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#0b2a62;font-weight:800;font-size:14px}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary::after{content:"+";font-size:22px;color:#10a7a2;flex:0 0 auto}.faq-grid details[open] summary::after{content:"–"}.faq-grid details p{margin:-2px 0 20px;color:#657489;font-size:13.5px;line-height:1.75}.faq-more{text-align:center;margin-top:28px}

/* Honest newsletter replacement */
.newsletter-inner p{margin:6px 0 0;color:rgba(255,255,255,.72);font-size:12px}.newsletter-whatsapp{white-space:nowrap;text-decoration:none}

/* Legal footer */
.footer-legal{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.footer-legal a{color:inherit;text-decoration:none;font-size:11px;opacity:.78}.footer-legal a:hover{opacity:1;text-decoration:underline}

/* Better destination links */
.destination-card .card-body>a{min-width:44px;min-height:44px;display:grid;place-items:center}

/* Review text is crawlable without requiring JS */
.traveler-review-card .review-text{display:block;overflow:visible;max-height:none}

/* Responsive / mobile-first polish */
@media(max-width:900px){.zinzen-services-grid{grid-template-columns:repeat(2,1fr)}.faq-grid{grid-template-columns:1fr}.footer-bottom .container{gap:12px;flex-wrap:wrap}}
@media(max-width:640px){
  #services{padding:70px 16px 75px}.zinzen-services-heading{margin-bottom:35px}.zinzen-services-heading h2{font-size:32px}.zinzen-services-grid{grid-template-columns:1fr;gap:17px}.zinzen-service-card{min-height:auto;padding:28px 25px}.zinzen-services-cta{flex-direction:column;align-items:flex-start;padding:24px}.zinzen-services-cta-button{width:100%}
  .site-header .container{width:min(94%,1180px)}.brand img{max-width:135px}.main-nav{max-height:calc(100vh - 92px);overflow:auto}.main-nav>a,.nav-book{min-height:48px!important}
  .hero{min-height:920px}.hero-copy{padding-top:86px}.booking-panel{left:3%;right:3%}.booking-form{gap:10px}.booking-form .field,.search-btn{min-height:54px}.production-note{font-size:10.5px}
  .trust-item{padding:19px 14px}.trust-item strong{font-size:13px}.trust-item small{font-size:11px}
  .filter-row{overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter{flex:0 0 auto}
  .package-footer{align-items:flex-start;gap:12px}.package-actions{width:100%;justify-content:space-between}.package-actions .btn{flex:1}.package-detail-link{min-height:44px;display:flex;align-items:center}
  .faq-grid details{padding:0 16px}.faq-grid summary{font-size:13.5px;min-height:58px}
  .newsletter-inner{align-items:stretch!important}.newsletter-whatsapp{width:100%;text-align:center}
  .footer-legal{width:100%}.footer-legal a{font-size:12px;min-height:36px;display:flex;align-items:center}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Real review cards remain attractive even before/without JavaScript */
.traveler-grid{align-items:stretch}.traveler-review-card{background:#fff;border:1px solid rgba(9,40,74,.08);border-radius:24px;padding:24px;box-shadow:0 10px 30px rgba(20,55,80,.05);transition:transform .3s ease,box-shadow .3s ease}.traveler-review-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(20,55,80,.10)}.traveler-review-card .review-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}.traveler-review-card .review-avatar{width:54px;height:54px;object-fit:cover;border-radius:50%;border:3px solid #e1f4b3}.traveler-review-card .review-person{display:flex;flex-direction:column;gap:3px}.traveler-review-card .review-person strong{color:#09284a;font-size:13px}.traveler-review-card .review-person small{color:#7c8999;font-size:11px}.traveler-review-card .review-stars{color:#ffb300;letter-spacing:2px;font-size:12px}.traveler-review-card h3{margin:9px 0;color:#09284a;font-size:18px}.traveler-review-card .review-text{color:#66758a;font-size:13px;line-height:1.72}


/* v2 visual corrections */
.experience-badge{right:8px;bottom:8px;padding:15px 19px;border-radius:20px;gap:10px;max-width:230px}
.experience-badge strong{font-size:26px;line-height:1;color:var(--blue);flex:0 0 auto}
.experience-badge span{font-size:11px;line-height:1.35;font-weight:850;letter-spacing:.02em;color:var(--navy)}

/* Keep destination CTA text and arrow on one line */
.destination-card .card-body>a{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;place-items:unset!important}
.destination-card .card-body>a::before,.destination-card .card-body>a::after{display:inline-block!important}

/* Footer logo must never inherit its HTML pixel height */
.footer-brand img{width:155px!important;height:auto!important;max-height:110px!important;object-fit:contain!important;object-position:left center!important;aspect-ratio:auto!important}

/* Full reviews stay in the HTML for SEO/AEO but use the original expand pattern visually */
.traveler-grid{align-items:start!important}
.traveler-review-card{position:relative!important;height:360px;min-height:360px;overflow:hidden!important;padding:22px 22px 54px!important}
.traveler-review-card .review-text{position:relative!important;height:150px!important;max-height:150px!important;overflow:hidden!important;color:#627089;font-size:12px;line-height:1.65}
.traveler-review-card .review-text p{margin:0 0 12px;color:inherit;font-size:inherit;line-height:inherit;min-height:0}
.traveler-review-card .review-text::after{content:"";position:absolute;left:0;right:0;bottom:0;height:52px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 90%);pointer-events:none}
.traveler-review-card .review-more{position:absolute;left:22px;bottom:20px;border:0;background:none;padding:0;color:#0b70b7;font-size:11px;font-weight:900;letter-spacing:.03em;cursor:pointer;min-height:32px}
.traveler-review-card .review-more:hover{color:#64b93c;transform:translateX(3px)}
.traveler-review-card.expanded{height:auto;min-height:360px;overflow:visible!important}
.traveler-review-card.expanded .review-text{height:auto!important;max-height:none!important;overflow:visible!important}
.traveler-review-card.expanded .review-text::after{display:none}
.traveler-review-card.expanded .review-more{position:static;display:inline-block;margin-top:14px}

@media(max-width:640px){
  .experience-badge{right:12px;bottom:12px;max-width:205px;padding:13px 16px}
  .experience-badge strong{font-size:23px}
  .traveler-review-card{height:350px;min-height:350px}
}

/* v2 conversion and tablet polish */
.custom-package-cta{margin-top:28px;padding:22px 26px;border:1px solid rgba(9,40,74,.08);border-radius:22px;background:linear-gradient(135deg,#f6fbff,#f7fff0);display:flex;align-items:center;justify-content:space-between;gap:22px}
.custom-package-cta strong{display:block;color:#09284a;font-size:17px;margin-bottom:5px}.custom-package-cta p{margin:0;color:#6b798b;font-size:12.5px;line-height:1.6}.custom-package-cta .btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:900px){
 .menu-toggle{display:block}.main-nav{position:absolute;top:72px;left:4%;right:4%;display:none;flex-direction:column;align-items:stretch;border-radius:22px;padding:15px;max-height:calc(100vh - 90px);overflow:auto}.main-nav.open{display:flex}.main-nav>a{text-align:center;justify-content:center}.nav-book{margin-top:5px}
}
@media(max-width:640px){.custom-package-cta{flex-direction:column;align-items:flex-start;padding:20px}.custom-package-cta .btn{width:100%;text-align:center}}


/* v3 final visual polish */
/* Centre destination EXPLORE text itself while keeping the arrow beside it. */
.destination-card .card-body>a{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  justify-items:stretch!important;
  white-space:nowrap!important;
}
.destination-card .card-body>a::before{
  grid-column:2!important;
  justify-self:center!important;
  margin:0!important;
  line-height:1!important;
}
.destination-card .card-body>a::after{
  grid-column:3!important;
  justify-self:start!important;
  align-self:center!important;
  margin-left:9px!important;
  line-height:1!important;
}
.destination-card .card-body>a:hover::before{transform:none!important}

/* Reviews: keep the genuine review text as the focus instead of repeating a generic heading. */
.traveler-review-card .review-stars{margin-top:4px;margin-bottom:10px}
.traveler-review-card .review-text{height:176px!important;max-height:176px!important}
.traveler-review-card.expanded .review-text{height:auto!important;max-height:none!important}

@media(max-width:640px){
  .destination-card .card-body>a{height:46px!important}
  .destination-card .card-body>a::before{font-size:12px!important}
  .destination-card .card-body>a::after{font-size:16px!important;margin-left:8px!important}
}

/* v4 dynamic website layer */
.dynamic-source-note{display:inline-flex;align-items:center;gap:6px;color:#718096;font-size:10.5px;margin-top:6px}.dynamic-source-note::before{content:"";width:6px;height:6px;border-radius:50%;background:#55b948}.review-source{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:4px 8px;border-radius:999px;background:#f5f8fc;color:#607086;font-size:9px;font-weight:800;letter-spacing:.03em}.review-top{flex-wrap:wrap}.package-api-status{font-size:10px;color:#76869a;margin-top:8px}.website-sync-fallback{display:none}.lead-saving{opacity:.72;pointer-events:none}
@media(max-width:640px){.review-source{margin-left:66px;margin-top:-8px}.nav-book{white-space:nowrap!important}.package-actions .btn{white-space:nowrap!important}}


/* v4.3 precise destination CTA alignment */
.destination-card .card-body>a{
  position:relative!important;
  display:block!important;
  font-size:0!important;
  line-height:0!important;
  text-align:center!important;
  overflow:hidden!important;
}
.destination-card .card-body>a::before{
  content:"EXPLORE"!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
  color:#fff!important;
}
.destination-card .card-body>a::after{
  content:"→"!important;
  position:absolute!important;
  left:calc(50% + 54px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:700!important;
  color:#fff!important;
  transition:transform .25s ease!important;
}
.destination-card .card-body>a:hover::after{
  transform:translate(4px,-50%)!important;
}
@media(max-width:640px){
  .destination-card .card-body>a::before{font-size:12px!important}
  .destination-card .card-body>a::after{left:calc(50% + 51px)!important;font-size:16px!important}
}


/* v5.2 final premium UX layer */
html{color-scheme:light}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* Make the two package facts instantly scannable without adding visual weight. */
.package-meta{gap:8px;flex-wrap:wrap}
.package-meta span{display:inline-flex;align-items:center;min-height:28px;padding:6px 9px;border-radius:999px;background:#f4f8fc;border:1px solid rgba(9,40,74,.07);line-height:1.15}

/* Refined motion: cards settle gently rather than "popping". */
.destination-card,.package-card,.experience-card,.traveler-review-card,.zinzen-service-card,.gallery-item{transform-origin:center bottom}
.reveal.visible.destination-card,.reveal.visible.package-card,.reveal.visible.experience-card,.reveal.visible.traveler-review-card,.reveal.visible.gallery-item{will-change:auto}

/* Reviews become a swipe row on phones, removing a large amount of vertical scrolling. */
.traveler-swipe-hint{display:none}
@media(max-width:780px){
  .traveler-swipe-hint{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    margin:-24px 2px 14px;
    color:#6b7d90;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .traveler-swipe-hint span{color:#1aa69d;font-size:16px;line-height:1}
  .travellers-section .traveler-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:2px;
    -webkit-overflow-scrolling:touch;
    padding:3px 0 16px;
    scrollbar-width:none;
    overscroll-behavior-inline:contain;
  }
  .travellers-section .traveler-grid::-webkit-scrollbar{display:none}
  .travellers-section .traveler-review-card{
    flex:0 0 min(86vw,350px);
    width:min(86vw,350px);
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}

/* Small UX refinements: cleaner focus, premium keyboard accessibility and less CTA competition. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid rgba(29,169,213,.38);
  outline-offset:3px;
}
.main-nav .nav-book,.search-btn,.package-actions .btn,.custom-package-cta .btn{box-shadow:0 9px 24px rgba(12,79,158,.13)}
.package-detail-link{padding:7px 0}
.quote-form small,#modalBookingForm small{line-height:1.55}

/* Give image-led sections a subtle premium depth without changing the visual identity. */
@media(min-width:781px) and (prefers-reduced-motion:no-preference){
  .destination-card:hover .card-img img,.gallery-item:hover img{transform:scale(1.035)}
  .package-card:hover .package-image img{transform:scale(1.025)}
}

/* Prevent browser auto-darkening: this site intentionally uses its branded light visual system. */
@media(prefers-color-scheme:dark){
  html,body{color-scheme:light}
}

@media(max-width:900px){
  body.nav-open{overflow:hidden}
}
