/* Explore composes the unmodified Themes master and Shop covers. These rules
   cover only the new map, discovery controls and accessible linked variants. */
body.explore-page #top {background-image:url('/assets/explore-v1/hero-1920.webp')!important}
@media(min-width:1921px){body.explore-page #top{background-image:url('/assets/explore-v1/hero-3840.webp')!important}}
body.explore-page .explore-atmosphere{position:absolute;inset:0;pointer-events:none}
body.explore-page .explore-atmosphere::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,34,39,.63),rgba(10,34,39,.34) 46%,rgba(10,34,39,.03) 78%)}
body.explore-page #top .hero-inner{position:relative;z-index:1}
body.explore-page main a:focus-visible,body.explore-page main button:focus-visible,body.explore-page main summary:focus-visible{outline:3px solid #213b52;outline-offset:4px;box-shadow:0 0 0 7px #fffaf1}
body.explore-page .explore-skip{position:absolute;left:12px;top:12px;transform:translateY(-180%);z-index:10000;padding:14px 20px;border-radius:24px;background:#fffaf1;color:#213b52}
body.explore-page .explore-skip:focus{transform:none}
body.explore-page [data-explore-section]{scroll-margin-top:24px}
body.explore-page .em-theme-map-grid a{font:700 15px/1.6 Arial,sans-serif;color:#213b52;text-decoration:underline;text-underline-offset:4px}
body.explore-page [data-viewport]{overflow-x:auto!important;scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
body.explore-page [data-viewport]::-webkit-scrollbar{display:none}
body.explore-page [data-track]{transform:none!important;transition:none!important}
body.explore-page [data-track]>*{scroll-snap-align:start}
body.explore-page [data-prev]:disabled,body.explore-page [data-next]:disabled{opacity:.4;cursor:default}
body.explore-page .em-details-dots{display:flex!important;justify-content:center;gap:8px;margin-top:16px;flex-wrap:wrap}
body.explore-page .em-details-dot{width:24px!important;height:24px!important;border-radius:50%;border:1px solid #213b52;background:#fff8ec;cursor:pointer}
body.explore-page .em-details-dot[aria-current=true]{background:#213b52}
body.explore-page .explore-map{padding-left:0!important;padding-right:0!important;background:#f4ebdd!important}
body.explore-page .explore-map .em-final-head{padding-inline:24px}
body.explore-page .explore-map-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:0 24px 28px;max-width:1400px;margin:auto}
body.explore-page .explore-map iframe{display:block;width:100%;height:clamp(430px,56vw,700px);border:0;background:#d9c7b8}
body.explore-page .explore-map .em-final-actions{padding-inline:24px;flex-wrap:wrap}
body.explore-page #map-state{text-align:center;font:400 14px/1.6 Arial,sans-serif;color:#213b52}
body.explore-page .explore-map-links{max-width:900px;margin:22px auto 0;padding:0 24px;font:400 15px/1.6 Arial,sans-serif;color:#213b52}
body.explore-page .explore-map-links summary{cursor:pointer;font-weight:700}
body.explore-page .explore-map-links>div{display:flex;gap:14px 22px;flex-wrap:wrap;margin-top:16px}
body.explore-page .explore-map-links a{text-decoration:underline}
body.explore-page .explore-recipe-link{display:contents;color:inherit}
body.explore-page .em-recipes-card .body h3{font:700 26px/1.1 Georgia,serif;color:#213b52;margin:0 0 10px}
body.explore-page .em-learn-card-copy h3{font:700 18px/1.1 Georgia,serif;color:#213b52;margin:0 0 10px}
body.explore-page .em-learn-card-copy span{color:#213b52!important}
body.explore-page .explore-library{background:#bcc9b8!important;padding-top:92px!important;padding-bottom:92px!important}
body.explore-page .explore-library .em-themes-head{max-width:1000px;margin:0 auto 38px;text-align:center}
body.explore-page .explore-library .em-themes-head h2,body.explore-page .explore-library .em-themes-head p{color:#213b52!important}
body.explore-page .explore-library .em-shop-filters{flex-wrap:wrap;min-width:0}
body.explore-page .explore-library .em-shop-filter{min-height:44px}
body.explore-page .explore-library .em-guide-cover,body.explore-page .explore-library .em-guide-cover img{border-radius:0!important;clip-path:none!important;mask:none!important}
body.explore-page .explore-library .em-guide-cover span{color:#fff}
body.explore-page .explore-library .em-guide-cover__category{color:#ffd88e}
body.explore-page .explore-search-action{display:flex;align-items:center;gap:16px;margin:28px 0;color:#213b52;font:700 18px/1.4 Arial,sans-serif}
body.explore-page .explore-search-action .em-search-trigger{background:#213b52!important;color:#fff!important;border-color:#213b52!important}
body.explore-page .explore-search .about-card a{text-decoration:underline;color:#213b52}
@media(max-width:760px){body.explore-page .explore-library .em-shop-filters{justify-content:center}body.explore-page .explore-map-controls{padding-inline:18px}body.explore-page .explore-map .em-final-actions{display:flex;flex-direction:column;align-items:center}}
@media(prefers-reduced-motion:reduce){body.explore-page *,body.explore-page *::before,body.explore-page *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
body.explore-page .explore-search-action .em-search-trigger{color:#fff!important}
body.explore-page [data-filter].is-active,body.explore-page [data-map-query].is-active{background:#213b52!important;color:#fff!important;box-shadow:0 0 0 2px #fffaf1}
body.explore-page [data-filter],body.explore-page [data-map-query]{min-height:44px}
/* The source's desktop food grid has a 1548px minimum. Use its existing stacked
   responsive layout until that whole composition fits; never clip its content. */
@media (min-width:1241px) and (max-width:1640px){
 body.explore-page .em-recipes-wrap{grid-template-columns:1fr!important}
 body.explore-page .em-recipes-intro{max-width:820px}
 body.explore-page .em-recipes-feature{min-height:0!important}
 body.explore-page .em-recipes-side{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
body.explore-page .em-recipes-card .thumb{aspect-ratio:1!important;flex-shrink:0}
body.explore-page .em-recipes-card .thumb img{height:100%!important;width:100%!important;object-fit:cover!important}
/* Native scrolling keeps focused links reachable; measured arrow stops own the
   snapping so CSS snap cannot trap the previous arrow near a clamped last card. */
body.explore-page [data-viewport]{scroll-snap-type:none!important}
@media(min-width:961px) and (min-resolution:1.5dppx){body.explore-page #top{background-image:url('/assets/explore-v1/hero-3840.webp')!important}}
/* Keep the Themes palette and geometry while giving its orange accents readable
   text contrast in the new page. Gold/orange backgrounds themselves are unchanged. */
body.explore-page #explore-main .home-places-head :is(h2,.kicker),
body.explore-page #explore-main .em-theme-card-body .more,
body.explore-page #explore-main .em-detail-copy :is(h3,span),
body.explore-page #explore-main .em-plan-card-copy :is(span,strong),
body.explore-page #explore-main .em-final-head>.kicker,
body.explore-page #explore-main .em-architecture-remedy-kicker,
body.explore-page #explore-main .about-card>.kicker{color:#945900!important}
body.explore-page #explore-main .em-themes-section .em-themes-head>.kicker{color:#fff8ec!important}
body.explore-page #explore-main .explore-library .kicker,body.explore-page #explore-main #library-count{color:#213b52!important}
body.explore-page #explore-main :is([data-filter],[data-map-query],.em-final-main-btn,.em-final-secondary-btn,.em-plan-cta,.em-stories-cta,.em-recipes-btn,.em-events-btn,#surprise-link,#surprise-next){color:#213b52!important}
body.explore-page #explore-main [data-filter].is-active,body.explore-page #explore-main [data-map-query].is-active{color:#fff!important}
/* Full-bleed map inside the original cream section; readable selected controls. */
body.explore-page #explore-main #morocco-map{padding-left:0!important;padding-right:0!important}
body.explore-page #explore-main #morocco-map [data-map-query].is-active,
body.explore-page #explore-main #cover-library [data-filter].is-active{color:#fff!important}
@media(min-width:1241px) and (max-width:1640px){
 body.explore-page .em-recipes-feature{height:auto!important;max-width:700px}
 body.explore-page .em-recipes-feature .em-recipes-btn{margin:24px auto 0!important}
}
body.explore-page #explore-main #learn-morocco .em-learn-feature-copy h3,
body.explore-page #explore-main #learn-morocco .em-learn-card-copy h3,
body.explore-page #explore-main #learn-morocco .em-learn-card-copy span,
body.explore-page #explore-main #learn-morocco .em-learn-feature-copy a,
body.explore-page #explore-main [data-slider] button{color:#213b52!important}
/* Reader text spacing must not hide words or clip Learn descriptions. */
body.explore-page #explore-main :is(h1,h2,h3,p,a){overflow-wrap:anywhere}
body.explore-page #explore-main #learn-morocco .em-learn-card-copy p{-webkit-line-clamp:unset!important;overflow:visible!important}

/* Mobile closing composition keeps the original photograph, zellige panel and
   cream card readable by stacking the two Themes master columns. */
@media(max-width:760px){
 body.explore-page #search-the-collection .section-inner{grid-template-columns:minmax(0,1fr)!important}
 body.explore-page #search-the-collection .about-img-col img{height:auto!important;aspect-ratio:4/3!important}
}

/* A single circular destination image is the entire Surprise me composition. */
body.explore-page #surprise-me{position:relative;padding:clamp(70px,8vw,116px) clamp(18px,5vw,72px);background:#f6eddf!important;overflow:visible;isolation:isolate}
body.explore-page #surprise-me::before,body.explore-page #surprise-me::after{content:none!important;background:none!important}
body.explore-page #surprise-me .explore-surprise-inner{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(36px,6vw,96px)}
body.explore-page #surprise-me .explore-surprise-copy{max-width:560px}
body.explore-page #surprise-me .explore-surprise-kicker{display:block;font:700 12px/1.5 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8f4f14;margin:0 0 20px}
body.explore-page #surprise-me h2{font:700 clamp(44px,5.3vw,76px)/1.02 Georgia,serif;letter-spacing:-.03em;color:#213b52;margin:0 0 24px}
body.explore-page #surprise-me p{font:400 clamp(16px,1.25vw,18px)/1.75 Arial,sans-serif;color:#344d5b;margin:0}
body.explore-page #surprise-me #surprise-result{margin:32px 0 28px;padding-top:26px;border-top:1px solid #d9c9b5}
body.explore-page #surprise-me h3{font:700 clamp(28px,3vw,38px)/1.13 Georgia,serif;letter-spacing:-.02em;color:#213b52;margin:0 0 14px}
body.explore-page #surprise-me .explore-surprise-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
body.explore-page #explore-main #surprise-me #surprise-link{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:14px 23px;border-radius:999px;background:#b76518!important;color:#fff!important;font:700 14px/1.4 Arial,sans-serif;text-decoration:none}
body.explore-page #explore-main #surprise-me #surprise-next{display:inline-flex;align-items:center;gap:10px;min-height:48px;margin:0;padding:14px 23px;border:0;border-radius:999px;background:#b76518!important;box-shadow:none!important;color:#fff!important;font:700 14px/1.4 Arial,sans-serif;cursor:pointer}
body.explore-page #surprise-me #surprise-next:disabled{opacity:.6;cursor:wait}
body.explore-page #surprise-me .explore-surprise-image{width:100%;max-width:600px;aspect-ratio:1;border-radius:50%;overflow:hidden;margin:0;justify-self:center;background:#e3d7c7;box-shadow:0 22px 60px rgba(57,48,32,.12)}
body.explore-page #surprise-me .explore-surprise-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;border:0;border-radius:50%}
@media(max-width:900px){body.explore-page #surprise-me .explore-surprise-inner{grid-template-columns:1fr;gap:36px}body.explore-page #surprise-me .explore-surprise-copy{max-width:640px}body.explore-page #surprise-me .explore-surprise-image{max-width:500px}}
@media(max-width:430px){body.explore-page #surprise-me{padding:64px 22px}body.explore-page #surprise-me h2{font-size:44px}body.explore-page #surprise-me .explore-surprise-actions{gap:10px 20px}}
