/*
 * single-ewt_destination-kenya.css — styles for single-ewt_destination-kenya.php
 * Moved out of the template in v2.3.0: it used to be an inline <style>
 * block printed AFTER the page content (unstyled flash + reflow, never cached).
 * Loaded in <head> only when WordPress renders single-ewt_destination-kenya.php (see ewt_template_styles()).
 */

/* ============================================================
   single-ewt_destination-kenya.php — scoped styles
   Prefix: dsk- (Destination Single — Kenya combined-journey variant)
   ============================================================ */

/* --- 01. Hero --- */

/* --- Sticky anchor nav --- */
.dsk-anchornav { position: sticky; top: 0; z-index: 20; background: var(--ewt-surface-2); border-bottom: .5px solid var(--ewt-border); }
.dsk-anchornav__inner { display: flex; gap: 2rem; overflow-x: auto; scrollbar-width: none; }
.dsk-anchornav__inner::-webkit-scrollbar { display: none; }
.dsk-anchornav__link { flex-shrink: 0; padding: 1rem 0; font-size: .75rem; font-weight: 400; letter-spacing: .08em; text-transform: uppercase; color: var(--ewt-muted); border-bottom: 2px solid transparent; white-space: nowrap; }
.dsk-anchornav__link:hover { color: var(--ewt-bronze); border-bottom-color: var(--ewt-bronze); }

/* --- Section heads (shared) --- */
.dsk-section__head { margin-bottom: 2.5rem; }
.dsk-section-title { font-family: var(--ewt-font-display); font-weight: 400; font-size: 40px; letter-spacing: -0.01em; color: var(--ewt-ink-soft); margin: 8px 0 0; }

.dsk-admin-notice { background: rgba(191,140,69,.12); border: 1px solid var(--ewt-bronze); color: var(--ewt-ink-soft); font-size: .8125rem; line-height: 1.6; padding: 1rem 1.25rem; margin: 2rem 0; max-width: none; }
.dsk-admin-notice code { background: rgba(0,0,0,.3); padding: .1rem .4rem; font-family: monospace; color: var(--ewt-bronze); }

/* --- 02. Overview + Highlights --- */
.dsk-overview__grid { display: grid; grid-template-columns: 7fr 5fr; gap: 4rem; align-items: start; }
.dsk-overview__para { font-weight: 300; font-size: 17px; line-height: 1.8; color: var(--ewt-ink-soft); max-width: 62ch; margin: 0 0 1.25rem; }
.dsk-overview__cta { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }
.dsk-highlights { background: var(--ewt-surface); border: .5px solid var(--ewt-border); padding: 2rem; margin-top: 2.5rem; }
.dsk-highlights__heading { font-family: var(--ewt-font-display); font-size: 1.25rem; font-weight: 400; color: var(--ewt-ink-soft); margin: 0 0 1.25rem; }
.dsk-highlights__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.dsk-highlights__list li { font-size: .875rem; line-height: 1.6; color: var(--ewt-ink-soft); padding-left: 1.25rem; position: relative; }
.dsk-highlights__list li::before { content: ''; position: absolute; left: 0; top: .5em; width: 6px; height: 6px; background: var(--ewt-bronze); }
.dsk-highlights__list strong { color: var(--ewt-ink-soft); font-weight: 400; }

.dsk-facts { background: var(--ewt-surface); border: .5px solid var(--ewt-border); padding: 2rem; position: sticky; top: 100px; }
.dsk-facts__heading { font-family: var(--ewt-font-display); font-size: 1.25rem; font-weight: 400; color: var(--ewt-ink-soft); margin: 0 0 1.25rem; }
.dsk-facts__row { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: .5px solid var(--ewt-border); }
.dsk-facts__row:last-child { border-bottom: none; }
.dsk-facts__label { font-size: .75rem; letter-spacing: .04em; color: var(--ewt-muted); }
.dsk-facts__value { font-size: .8125rem; color: var(--ewt-ink-soft); text-align: right; }

.dsk-wildlife { background: var(--ewt-surface-2); }
.dsk-wildlife__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.dsk-wildlife__item { text-align: center; }
.dsk-wildlife__image-wrap { aspect-ratio: 4/3; overflow: hidden; margin-bottom: .75rem; }
.dsk-wildlife__image-wrap img { width: 100%; height: 100%; object-fit: cover; }
.dsk-wildlife__no-img { width: 100%; height: 100%; background: linear-gradient(135deg, var(--ewt-surface-2), var(--ewt-border)); }
.dsk-wildlife__name { font-size: .875rem; color: var(--ewt-ink-soft); margin: 0; }

/* --- 03. Curated Safaris --- */
.dsk-safaris { background: var(--ewt-surface-2); }

/* Shared safari card + grid — copied verbatim from front-page.php /
   archive-ewt_safari.php / archive-ewt_destination.php. This was missing
   here entirely, which is why curated-safari cards rendered unstyled. */
.ewt-safaris__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.ewt-safari-card{background:var(--ewt-surface);overflow:hidden;}
.ewt-safari-card__image-wrap{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;}
.ewt-safari-card__image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ewt-ease);}
.ewt-safari-card:hover .ewt-safari-card__image-wrap img{transform:scale(1.04);}
.ewt-safari-card__no-img{width:100%;height:100%;min-height:240px;background:linear-gradient(135deg,var(--ewt-surface-2),var(--ewt-border));}
.ewt-safari-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(16,14,11,.7) 0%,transparent 60%);}
.ewt-safari-card__body{padding:1.5rem;}
.ewt-safari-card__tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem;}
.ewt-safari-card__tag{font-size:.6rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--ewt-bronze);border:.5px solid var(--ewt-ember);padding:.2rem .6rem;}
.ewt-safari-card__title{font-family:var(--ewt-font-display);font-size:1.25rem;font-weight:400;color:var(--ewt-ink-soft);line-height:1.25;margin-bottom:.5rem;}
.ewt-safari-card__title a:hover{color:var(--ewt-bronze);}
.ewt-safari-card__excerpt{font-size:.8125rem;font-weight:300;line-height:1.6;color:var(--ewt-ink-soft);margin-bottom:1rem;max-width:none;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.ewt-safari-card__meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:.5px solid var(--ewt-border);}
.ewt-safari-card__duration{font-size:.75rem;color:var(--ewt-muted);}
.ewt-safari-card__price{font-size:.8125rem;font-weight:300;color:var(--ewt-ember);}
.ewt-safari-card__price span{font-size:.6rem;color:var(--ewt-ghost);margin-left:.2rem;}
.ewt-safari-card__cta{display:inline-flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--ewt-bronze);}

/* --- 04. Experiences --- */
.dsk-experiences { background: var(--ewt-canvas); }

/* EXPERIENCES SLIDESHOW ("exh" = experiences hero) — matches homepage */
.exh{position:relative;width:100vw;margin-left:calc(50% - 50vw);height:clamp(480px,70vh,720px);overflow:hidden;background:var(--ewt-surface-2);}
.exh__timer{position:absolute;top:0;left:0;right:0;height:2px;background:rgba(237,230,216,.12);z-index:20;}
.exh__timer-bar{height:100%;width:0%;background:var(--ewt-bronze);}
.exh__slides{position:absolute;inset:0;z-index:0;}
.exh__slide{position:absolute;inset:0;opacity:0;transition:opacity .85s var(--ewt-ease);}
.exh__slide.is-active{opacity:1;}
.exh__slide-img{width:100%;height:100%;object-fit:cover;display:block;}
.exh__slide-img--placeholder{background:linear-gradient(135deg,var(--ewt-surface-2),var(--ewt-border));}
.exh__slide-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(16,14,11,.82) 0%,rgba(16,14,11,.35) 48%,rgba(16,14,11,.12) 100%);}
.exh__content{position:absolute;bottom:clamp(32px,6vw,64px);left:clamp(24px,5vw,80px);z-index:10;max-width:480px;}
.exh__panel{display:none;}
.exh__panel.is-active{display:block;animation:exh-panel-in .5s var(--ewt-ease) both;}
@keyframes exh-panel-in{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.exh__title{margin:.5rem 0 .75rem;font-size:clamp(1.75rem,3.2vw,2.75rem);}
.exh__desc{font-size:.9375rem;color:var(--ewt-ink-soft);line-height:1.7;max-width:42ch;margin-bottom:1.5rem;}
.exh__tray{position:absolute;bottom:0;right:0;z-index:10;display:flex;flex-direction:column;align-items:flex-end;}
.exh__tray-controls{display:flex;align-items:center;gap:1rem;padding:0 clamp(16px,2vw,32px) 1rem 0;}
.exh__counter{font-size:.6875rem;letter-spacing:.08em;color:var(--ewt-muted);display:flex;align-items:baseline;gap:3px;}
.exh__counter-current{font-family:var(--ewt-font-display);font-size:1.5rem;color:var(--ewt-ink);letter-spacing:-.02em;line-height:1;display:inline-block;transition:transform .22s ease,opacity .22s ease;}
.exh__counter-current.is-rolling{transform:translateY(-40%);opacity:0;}
.exh__arrows{display:flex;gap:.5rem;}
.exh__arrow{width:36px;height:36px;border:1px solid var(--ewt-border);background:rgba(16,14,11,.4);color:var(--ewt-ink-soft);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s,background .2s;}
.exh__arrow:hover{border-color:var(--ewt-bronze);color:var(--ewt-bronze);}
.exh__thumbs-wrap{overflow:hidden;width:clamp(320px,32vw,520px);padding-bottom:1.5rem;}
.exh__thumbs{display:flex;gap:8px;align-items:flex-end;transition:transform .65s cubic-bezier(.77,0,.18,1);will-change:transform;}
.exh__thumb{position:relative;width:130px;height:190px;flex-shrink:0;border:none;padding:0;cursor:pointer;background:transparent;overflow:hidden;outline:none;opacity:.65;transform:scale(.97);transition:opacity .4s ease,transform .4s var(--ewt-ease),box-shadow .4s ease;}
.exh__thumb.is-active{opacity:1;transform:scale(1);box-shadow:0 0 0 2px var(--ewt-bronze);}
.exh__thumb:hover:not(.is-active){opacity:.85;}
.exh__thumb-img-wrap{position:absolute;inset:0;}
.exh__thumb-img-wrap img,.exh__thumb-img{width:100%;height:100%;object-fit:cover;display:block;}
.exh__thumb-img--placeholder{background:linear-gradient(135deg,var(--ewt-surface-2),var(--ewt-border));}
.exh__thumb-label{position:absolute;bottom:0;left:0;right:0;padding:1.5rem .625rem .75rem;background:linear-gradient(to top,rgba(16,14,11,.92) 0%,transparent 100%);}
.exh__thumb-name{font-size:.625rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--ewt-ink-soft);display:block;line-height:1.3;}
.exh__thumb.is-active .exh__thumb-name{color:var(--ewt-ink);}
.exh__arrow:focus-visible,.exh__thumb:focus-visible{outline:2px solid var(--ewt-bronze);outline-offset:2px;}
@media(prefers-reduced-motion:reduce){.exh__slide,.exh__panel,.exh__thumb,.exh__thumbs,.exh__timer-bar,.exh__counter-current{transition:none;animation:none;}}

/* --- 05. Seasonal Guide --- */
.dsk-seasonal { background: var(--ewt-surface-2); }
.dsk-seasonal__lead { font-size: .9375rem; color: var(--ewt-bronze); margin: 1rem 0 0; }
.dsk-seasonal__periods { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; margin-bottom: 2.5rem; }
.dsk-seasonal__period h3 { font-family: var(--ewt-font-display); font-size: 1.125rem; font-weight: 400; color: var(--ewt-ink-soft); margin: 0 0 .5rem; }
.dsk-seasonal__period p { font-size: .875rem; line-height: 1.7; color: var(--ewt-ink-soft); margin: 0; }
.dsk-seasonal__strip { display: grid; grid-template-columns: repeat(12, 1fr); gap: .5rem; }
.dsk-seasonal__month { text-align: center; padding: .75rem .25rem; border: .5px solid var(--ewt-border); background: var(--ewt-surface); }
.dsk-seasonal__month.is-peak { background: var(--ewt-bronze); border-color: var(--ewt-bronze); }
.dsk-seasonal__month-label { display: block; font-size: .75rem; font-weight: 400; color: var(--ewt-ink-soft); }
.dsk-seasonal__month.is-peak .dsk-seasonal__month-label { color: var(--ewt-ink); }
.dsk-seasonal__month-tag { display: block; font-size: .5625rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ewt-muted); margin-top: .25rem; }
.dsk-seasonal__month.is-peak .dsk-seasonal__month-tag { color: rgba(16,14,11,.7); }

/* --- 06. Parks & Reserves --- */
.dsk-parks { background: var(--ewt-canvas); }
.dsk-parks__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.dsk-park-card { display: block; background: var(--ewt-surface); border: .5px solid var(--ewt-border); text-decoration: none; transition: border-color .35s var(--ewt-ease), transform .4s var(--ewt-ease), box-shadow .4s var(--ewt-ease); }
.dsk-park-card:not(.dsk-park-card--static):hover { border-color: var(--ewt-bronze); transform: translateY(-4px); box-shadow: 0 20px 48px rgba(10,6,4,.28); }
.dsk-park-card__image-wrap { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.dsk-park-card__image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ewt-ease); }
.dsk-park-card:not(.dsk-park-card--static):hover .dsk-park-card__image-wrap img { transform: scale(1.05); }
.dsk-park-card__no-img { width: 100%; height: 100%; background: linear-gradient(135deg, var(--ewt-surface-2), var(--ewt-border)); }
.dsk-park-card__body { padding: 1.5rem; }
.dsk-park-card__body h3 { font-family: var(--ewt-font-display); font-size: 1.25rem; font-weight: 400; color: var(--ewt-ink); margin: 0 0 .5rem; }
.dsk-park-card__body p { font-size: .8125rem; color: var(--ewt-ink-soft); line-height: 1.6; margin: 0; }
.dsk-park-card__cta { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1rem; font-size: .6875rem; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: var(--ewt-bronze); }
.dsk-park-card__arrow { display: inline-block; transition: transform .3s var(--ewt-ease); }
.dsk-park-card:hover .dsk-park-card__arrow { transform: translateX(4px); }

/* --- 07. Where to Stay --- */
.dsk-lodges { background: var(--ewt-surface-2); }
.dsk-lodges__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.dsk-lodge-card__image-wrap { aspect-ratio: 4/3; overflow: hidden; margin-bottom: 1rem; }
.dsk-lodge-card__image-wrap img { width: 100%; height: 100%; object-fit: cover; }
.dsk-lodge-card__no-img { width: 100%; height: 100%; background: linear-gradient(135deg, var(--ewt-surface-2), var(--ewt-border)); }
.dsk-lodge-card h3 { font-family: var(--ewt-font-display); font-size: 1rem; font-weight: 400; color: var(--ewt-ink-soft); margin: 0 0 .25rem; }
.dsk-lodge-card__location { font-size: .75rem; color: var(--ewt-muted); margin: 0 0 .5rem; }
.dsk-lodge-card__stars { color: var(--ewt-bronze); font-size: .8125rem; letter-spacing: .1em; }

/* --- 08. FAQ --- */
.dsk-faq__list { max-width: 820px; }
.dsk-faq__item { border-bottom: .5px solid var(--ewt-border); }
.dsk-faq__toggle { width: 100%; display: flex; justify-content: space-between; align-items: center; background: none; border: none; cursor: pointer; padding: 1.5rem 0; font-size: 1rem; font-weight: 400; color: var(--ewt-ink-soft); text-align: left; gap: 1rem; }
.dsk-faq__category { display: inline-block; font-size: .625rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ewt-bronze); border: .5px solid var(--ewt-ember); padding: .15rem .5rem; margin-right: .75rem; }
.dsk-faq__icon { position: relative; width: 14px; height: 14px; flex-shrink: 0; }
.dsk-faq__icon::before, .dsk-faq__icon::after { content: ''; position: absolute; background: var(--ewt-bronze); }
.dsk-faq__icon::before { top: 50%; left: 0; width: 100%; height: 1px; transform: translateY(-50%); }
.dsk-faq__icon::after { left: 50%; top: 0; width: 1px; height: 100%; transform: translateX(-50%); transition: transform .2s; }
.dsk-faq__toggle.is-open .dsk-faq__icon::after { transform: translateX(-50%) scaleY(0); }
.dsk-faq__answer { padding: 0 0 1.5rem; }
.dsk-faq__answer p { font-weight: 300; font-size: .9375rem; line-height: 1.7; color: var(--ewt-ink-soft); margin: 0; max-width: 68ch; }

/* --- 09. Bottom CTA --- */
.dsk-cta { background: linear-gradient(135deg, var(--ewt-ember), var(--ewt-bronze)); }
.dsk-cta__inner { text-align: center; max-width: 720px; margin: 0 auto; }
.dsk-cta .ewt-eyebrow { color: var(--ewt-ink); }
.dsk-cta__heading { font-family: var(--ewt-font-display); font-weight: 400; font-size: clamp(32px, 4vw, 48px); letter-spacing: -0.01em; color: var(--ewt-ink); margin: 8px 0 20px; }
.dsk-cta__para { font-weight: 400; font-size: 16px; line-height: 1.7; color: rgba(16,14,11,.8); margin: 0 0 32px; }
.dsk-cta__actions { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; }
.dsk-cta .ewt-btn--ghost { color: var(--ewt-ink); border-color: var(--ewt-ink); }
.dsk-cta .ewt-btn--ghost:hover { background-color: var(--ewt-ink); color: var(--ewt-bronze); }

/* --- Responsive --- */
@media (max-width: 1024px) {
  .dsk-overview__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .dsk-facts { position: static; }
  .exh__thumbs-wrap { width: clamp(280px, 34vw, 420px); }
  .exh__thumb { width: 110px; height: 160px; }
  .dsk-wildlife__grid { grid-template-columns: repeat(2, 1fr); }
  .dsk-parks__grid { grid-template-columns: repeat(2, 1fr); }
  .dsk-lodges__grid { grid-template-columns: repeat(2, 1fr); }
  .dsk-seasonal__periods { grid-template-columns: 1fr; }
  .dsk-seasonal__strip { grid-template-columns: repeat(6, 1fr); row-gap: .5rem; }
}
@media (max-width: 640px) {
  
  .dsk-parks__grid, .dsk-lodges__grid { grid-template-columns: 1fr; }
  .exh { height: clamp(560px, 86vh, 760px); }
  .exh__thumbs-wrap { display: none; }
  .exh__tray { flex-direction: row; align-items: center; bottom: 20px; right: var(--ewt-pad-x-sm, 24px); }
  .exh__tray-controls { padding: 0; }
  .exh__content { left: var(--ewt-pad-x-sm, 24px); right: var(--ewt-pad-x-sm, 24px); max-width: none; bottom: 88px; }
  .dsk-wildlife__grid { grid-template-columns: 1fr 1fr; }
  .dsk-seasonal__strip { grid-template-columns: repeat(4, 1fr); }
  .dsk-cta__actions { flex-direction: column; }
}
