/* Trip Explorer uses the production header and hero geometry from style.css. */
.explorer-page .explorer-header{position:fixed;inset:0 0 auto;grid-template-columns:1fr auto 1fr;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(36,37,31,.08);backdrop-filter:blur(12px)}
.explorer-page .explorer-header .header-explorer{justify-self:end}
.explorer-page #explorer-how{scroll-margin-top:92px}
.explorer-page .explorer-process{padding-top:8px}
.explorer-page .explorer-process .process-intro>p{max-width:545px;font-size:clamp(16px,1.35vw,20px);line-height:1.55}
.explorer-page .explorer-process .process-step:last-child{border-bottom:0}
.explorer-page .explorer-hero{min-height:760px}
.explorer-page .explorer-hero .hero-copy{width:43%;max-width:590px}
.explorer-page .explorer-hero h1>em{display:block;width:max-content;max-width:100%;font-size:.9em;white-space:nowrap}
.explorer-page .explorer-hero h1>em:after{left:0;right:0}
.explorer-page .explorer-builder fieldset{margin:0;border:0;min-inline-size:0}
.explorer-page .explorer-builder .builder-step{display:grid;min-height:0;animation:none}
.explorer-page .explorer-builder .explorer-categories{grid-template-columns:repeat(3,minmax(0,1fr))}
.explorer-page .explorer-builder .explorer-cuisines{grid-template-columns:repeat(5,minmax(0,1fr))}
.explorer-page .explorer-builder .explorer-categories span,
.explorer-page .explorer-builder .explorer-cuisines span{min-height:29px;padding:5px 4px;font-size:8px}
.explorer-page #cuisine-fieldset{transition:opacity .2s}
.explorer-page #cuisine-fieldset.is-disabled{opacity:.42}
.explorer-page #cuisine-fieldset.is-disabled .builder-places span{cursor:not-allowed}

/* Results */
.results-modal{width:min(1080px,calc(100% - 32px));max-height:90vh;padding:0;border:0;border-radius:28px;background:#fff;color:var(--ink);box-shadow:0 36px 110px rgba(25,32,25,.3);overflow:hidden}
.results-modal::backdrop{background:rgba(25,31,25,.58);backdrop-filter:blur(7px)}
.results-panel{display:flex;flex-direction:column;max-height:90vh}
.results-modal-head{padding:24px 27px 21px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:25px;background:var(--cream)}
.results-modal-head>div>span{font-size:8px;letter-spacing:.12em;color:var(--green)}
.results-modal-head h2{margin:7px 0 0;font:300 clamp(31px,4vw,50px)/.95 Manrope,sans-serif;letter-spacing:-.06em}
.results-modal-head h2 em{color:var(--green);font-family:'Instrument Serif',Georgia,serif;font-weight:400}
.results-close{flex:0 0 auto;width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;background:var(--lime);color:var(--ink);font:400 28px/1 Arial,sans-serif;cursor:pointer;transition:transform .2s}
.results-close:hover{transform:scale(1.04)}
.results-modal-body{min-height:0;padding:0 27px 28px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.results-summary{margin:0;padding:18px 0;color:#6c7067;font-size:12px;line-height:1.55}
.place-results{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}
.place-card{display:grid;grid-template-columns:52px minmax(180px,.8fr) minmax(250px,1.2fr) auto;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.place-number{width:36px;height:36px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:8px}
.place-card:first-child .place-number{background:var(--lime)}
.place-name strong{display:block;font:300 clamp(20px,2vw,28px)/1.05 Manrope,sans-serif;letter-spacing:-.04em}
.place-name small{display:block;margin-top:6px;color:var(--green);font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.place-address{color:#6d7168;font-size:12px;line-height:1.5}
.place-route{min-width:172px;height:48px;padding:0 6px 0 17px;border-radius:100px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;font-size:8px;letter-spacing:.06em}
.place-route b{width:36px;height:36px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:14px;transition:transform .25s}
.place-route:hover b{transform:rotate(45deg)}
.search-status,.results-error{min-height:300px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.search-status i{width:42px;height:42px;margin-bottom:20px;border:3px solid #dfe3d9;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}
.search-status strong,.results-error strong{font:300 25px Manrope,sans-serif}
.search-status span,.results-error p{margin:8px 0 0;color:#73776f;font-size:12px}
.results-error button{margin-top:20px;padding:9px 3px;border:0;border-bottom:1px solid var(--green);background:transparent;color:var(--green);text-transform:uppercase;font-size:8px;letter-spacing:.08em;cursor:pointer}
@keyframes spin{to{transform:rotate(360deg)}}
[hidden]{display:none!important}
body.results-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}

@media(min-width:1051px){
  .explorer-page .explorer-hero{min-height:630px;padding-top:128px}
  .explorer-page .explorer-builder{top:112px}
}
@media(max-width:1050px){
  .explorer-page .explorer-hero{min-height:auto}
  .explorer-page .explorer-hero .hero-copy{width:auto;max-width:none}
}
@media(max-width:700px){
  .explorer-page .explorer-header{grid-template-columns:minmax(0,1fr);grid-template-rows:50px 50px}
  .explorer-page .explorer-header nav{display:none}
  .explorer-page #explorer-how{scroll-margin-top:78px}
  .explorer-page .explorer-header .logo{grid-column:1;grid-row:1}
  .explorer-page .explorer-header .header-explorer{grid-column:1;grid-row:2;width:100%;height:44px;padding:5px 5px 5px 14px;justify-content:space-between;gap:10px;font-size:8px;background:var(--pink);color:var(--ink);box-shadow:0 7px 16px rgba(176,94,109,.12)}
  .explorer-page .explorer-header .header-explorer span{width:32px;height:32px;flex:0 0 32px;background:#fff;font-size:13px}
  .explorer-page .explorer-hero{padding-top:154px}
  .explorer-page .explorer-builder .explorer-categories,
  .explorer-page .explorer-builder .explorer-cuisines{grid-template-columns:repeat(2,minmax(0,1fr))}
  .explorer-page .explorer-builder .explorer-categories span,
  .explorer-page .explorer-builder .explorer-cuisines span{min-height:36px}
  .results-modal{width:calc(100% - 18px);max-height:94vh;border-radius:21px}
  .results-panel{max-height:94vh}.results-modal-head{padding:19px 18px 16px}.results-modal-head h2{font-size:29px}.results-close{width:39px;height:39px}.results-modal-body{padding:0 16px 22px}
  .place-card{grid-template-columns:36px minmax(0,1fr);gap:10px 12px;padding:20px 0}.place-number{width:32px;height:32px}.place-address{grid-column:2}.place-route{grid-column:2;width:100%;margin-top:5px}
}
