/* Shared trip finder: search first, useful results, optional preferences. */
.search-backdrop{background:rgba(8,29,52,.38);backdrop-filter:blur(2px)}
#search-toggle:checked ~ .menu-btn{visibility:hidden!important;pointer-events:none!important}
.search-bar{
  top:24px;width:min(94%,1020px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);
  padding:0;border:1px solid #d1deea;border-radius:20px;overscroll-behavior:contain;
  color:#152f48;background:#f9fbfd;box-shadow:0 24px 80px rgba(3,24,46,.3);
}
.search-bar .search-form{display:block}
.search-bar .search-close{
  top:17px;right:19px;z-index:1;width:44px;height:44px;border:1px solid #6b8ca9;
  background:rgba(255,255,255,.1);color:#fff;
}
.search-bar .search-close:hover{background:rgba(255,255,255,.2);transform:none}
.search-hero{
  padding:27px 29px 20px;
  background:var(--overlay-panel-background);
  color:#fff;
}
.search-heading{padding-right:44px;margin-bottom:17px}
.search-heading h2{margin:0 0 7px;color:#fff;font-size:1.95rem;line-height:1.15;letter-spacing:-.035em}
.search-heading p{margin:0;color:#dfebf5;font-size:.91rem;line-height:1.4}
.search-heading .search-heading-eyebrow{margin-bottom:9px;color:#b4ecdb;font-size:.68rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.search-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.search-query{position:relative;display:flex;align-items:center;gap:10px;padding:7px 7px 7px 17px;border:2px solid #a7d8d1;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(0,17,36,.22)}
.search-query:focus-within{border-color:#d0f5bc;box-shadow:0 0 0 3px rgba(208,245,188,.18),0 8px 24px rgba(0,17,36,.22)}
.search-query-icon{flex:0 0 auto;color:#476b8d}
.search-bar #searchInput{flex:1;min-width:0;min-height:48px;margin:0;padding:10px 0;border:0;border-radius:6px;background:#fff;color:#173c5a;font-size:1.01rem;box-shadow:none}
.search-bar input::placeholder{color:#5d7286;opacity:1}
.search-intents{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.search-intents button{min-height:44px;padding:9px 14px;border:1px solid #7295b2;border-radius:999px;background:rgba(255,255,255,.06);color:#f3f8fc;font:inherit;font-size:.82rem;font-weight:600;line-height:1.25;cursor:pointer;transition:background .15s ease}
.search-intents button:hover{background:rgba(255,255,255,.15)}
.search-intents button[aria-pressed="true"]{border-color:#fff;background:#fff;color:#0d3b66;box-shadow:0 2px 8px rgba(0,18,37,.1)}
.search-context-status{margin-top:12px;color:#e4eff7;font-size:.78rem;line-height:1.45}
.search-context-status a{color:#fff;text-underline-offset:3px}
.search-discovery{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px}
.search-discovery .search-intents{margin-top:0;flex-shrink:0}
.search-discovery .search-context-status{margin-top:0;max-width:42%;text-align:right}
.search-context-status:empty,.search-result-status:empty,.search-eligibility:empty{display:none}
.search-eligibility{margin-top:11px;padding:11px 13px;border:1px solid #e8c26d;border-radius:9px;background:#fff5da;color:#684300;font-size:.85rem;line-height:1.5}
.search-layout{display:grid;align-items:start;gap:18px;padding:12px 27px 27px}
.search-preferences{min-width:0;border-bottom:1px solid #dce6ef;background:transparent}
.search-preferences>summary{display:flex;align-items:center;gap:9px;width:fit-content;min-height:44px;padding:8px 0;list-style:none;color:#234c70;font-size:.82rem;font-weight:700;cursor:pointer}
.search-preferences>summary::-webkit-details-marker{display:none}
.search-preferences-chevron{margin-left:auto;transition:transform .15s ease}
.search-preferences[open] .search-preferences-chevron{transform:rotate(180deg)}
.search-preferences-content{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;padding:8px 0 18px}
.search-context-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.search-field{display:grid;gap:6px;min-width:0}
.search-bar .search-field label{color:#29475e;font-size:.8rem;font-weight:700;line-height:1.4}
.search-bar select,.search-bar #searchAges{width:100%;min-height:44px;margin:0;padding:10px 11px;border:1px solid #bdcedc;border-radius:9px;background:#fff;color:#173c5a;font:inherit;font-size:.86rem}
.search-bar select{padding-right:27px}
.search-ages-field small{color:#526578;font-size:.74rem;line-height:1.4}
.search-results-section{min-width:0}
.search-result-status{margin:0 0 13px;color:#153d61;font-size:1.02rem;font-weight:750;line-height:1.35;letter-spacing:-.01em}
.search-bar .search-results{overflow:visible;border:0;border-radius:0;background:transparent}
.search-bar .search-results.active{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.search-result-card{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:14px;padding:15px;border:1px solid #dbe5ee;border-radius:15px;background:#fff;box-shadow:0 3px 9px rgba(11,48,81,.035)}
.search-result-card.is-featured{grid-column:1/-1;grid-template-columns:38% minmax(0,1fr);gap:23px;padding:0;overflow:hidden;border-color:#bfd6d8;background:#fff;box-shadow:0 5px 18px rgba(11,60,100,.08)}
.search-result-card.is-featured .search-result-body{padding:21px 22px 20px 0}
.search-result-card.is-featured .search-result-image{width:100%;height:100%;min-height:238px;align-self:stretch;border-radius:0}
.search-result-card.is-featured .search-result-title{font-size:1.4rem;letter-spacing:-.025em}
.search-result-card.is-featured .search-result-eyebrow{color:#21695c;margin-bottom:7px}
.search-result-card.has-warning{border-color:#d9bb76}
.search-result-image{display:block;width:96px;height:112px;border-radius:10px;object-fit:cover;background:#e5edf3}
.search-result-placeholder{display:flex;align-items:center;justify-content:center;color:#688aa6;background:linear-gradient(135deg,#e7eff6,#d9e6f0)}
.search-result-placeholder svg{width:36px;height:36px}
.search-result-body{min-width:0}
.search-result-eyebrow{display:flex;align-items:center;gap:6px;margin:0 0 5px;color:#526b82;font-size:.68rem;font-weight:700;letter-spacing:.04em;line-height:1.3;text-transform:uppercase}
.search-result-rank{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:5px;background:#dcebf7;color:#17466c;font-size:.7rem;letter-spacing:0}
.search-result-title{margin:0;color:#0d3b66;font-size:1.04rem;font-weight:750;line-height:1.3;text-decoration:none}
.search-result-title a{color:inherit;text-decoration:none}
a.search-result-title,.search-result-title a{display:inline-block;min-height:27px}
a.search-result-title:hover,.search-result-title a:hover{text-decoration:underline;text-underline-offset:3px}
.search-result-detail{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:4px 0 0;color:#526578;font-size:.82rem;line-height:1.45}
.search-result-tags{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 0;color:#456079;font-size:.69rem;line-height:1.35}
.search-result-tags span{padding:3px 7px;border-radius:5px;background:#edf3f8}
.search-result-reason{margin:8px 0 0;color:#285c43;font-size:.81rem;font-weight:600;line-height:1.45}
.search-result-note{margin:8px 0 0;padding:8px 10px;border:1px solid #d1dfeb;border-radius:8px;background:#f0f5fa;color:#244c70;font-size:.8rem;line-height:1.5}
.search-result-note.is-warning{border-color:#e3c780;background:#fff6df;color:#6a4805}
.search-result-note.is-closed{border-color:#e7bdc0;background:#fff2f2;color:#8b2d35}
.search-result-note.is-info{border-color:#d1dfeb;background:#f0f5fa;color:#244c70}
.search-result-note strong{font-weight:750}
.search-result-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:7px;padding:9px 13px;border-radius:8px;background:#11665c;color:#fff;font-size:.8rem;font-weight:700;line-height:1.4;text-decoration:none}
.search-result-action::after{content:"↗";margin-left:10px;font-size:1rem}
.search-result-state{margin-left:7px;background:#e7eff5;color:#244c70}
.search-result-action:hover{background:#175582;color:#fff}
.search-result-summary{margin:5px 0 0}
.search-result-summary>summary{display:flex;align-items:center;min-height:44px;list-style:none;color:#355977;font-size:.77rem;font-weight:600;cursor:pointer}
.search-result-summary>summary::-webkit-details-marker{display:none}
.search-result-summary>summary::after{content:"+";margin-left:8px;color:#426783;font-size:1rem}
.search-result-summary[open]>summary::after{content:"−"}
.search-result-summary .search-result-note:first-of-type{margin-top:0}
.search-alternatives-title{grid-column:1/-1;margin:4px 0 0;padding:9px 0 2px;color:#234c70;font-size:.9rem;line-height:1.4}
.search-bar .search-empty{padding:17px;border:1px dashed #b8c9d8;border-radius:11px;background:#f2f6fa;color:#40576c;font-size:.86rem;line-height:1.5}
.search-bar :is(button,input,select,a,summary):focus-visible{outline:3px solid #2471b4;outline-offset:3px}
.search-hero :is(button,a):focus-visible,.search-bar .search-close:focus-visible{outline-color:#f6d37b}
.search-bar #searchInput:focus-visible{outline-offset:0;box-shadow:none}
@media(min-width:761px){
  .search-hero{display:grid;grid-template-columns:31% minmax(0,1fr);grid-template-areas:"heading query" "heading notice" "discovery discovery";column-gap:27px;row-gap:12px;padding-top:23px;padding-bottom:18px}
  .search-heading{grid-area:heading;align-self:center;margin:0;padding:0}
  .search-heading h2{font-size:1.7rem;line-height:1.15}
  .search-heading .search-heading-eyebrow{font-size:.6rem;letter-spacing:.065em}
  .search-heading p{font-size:.82rem}
  .search-query{grid-area:query;align-self:center;margin-right:40px}
  .search-eligibility{grid-area:notice;margin:0 40px 0 0;font-size:.8rem;padding:9px 11px}
  .search-discovery{grid-area:discovery;margin-top:1px}
}
@media(max-width:760px){
  .search-bar{top:12px;width:min(95%,650px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:16px}
  .search-hero{padding:21px 18px 16px}
  .search-bar .search-close{top:12px;right:13px}
  .search-heading{margin-bottom:15px}
  .search-heading h2{font-size:1.6rem}
  .search-heading .search-heading-eyebrow{font-size:.6rem;margin-bottom:7px}
  .search-heading p{font-size:.84rem}
  .search-discovery{display:block;margin-top:12px}
  .search-discovery .search-context-status{max-width:none;margin-top:10px;text-align:left}
  .search-layout{gap:12px;padding:5px 17px 20px}
  .search-preferences>summary{min-height:44px;padding:8px 0;font-size:.8rem}
  .search-preferences-content{grid-template-columns:1fr;padding:5px 0 14px;gap:13px}
  .search-context-fields{grid-template-columns:1fr 1fr;gap:10px}
  .search-bar #searchAges{max-width:245px}
  .search-bar .search-results.active{grid-template-columns:1fr}
  .search-result-card{grid-template-columns:90px minmax(0,1fr);gap:12px}
  .search-result-card.is-featured{grid-template-columns:110px minmax(0,1fr);gap:14px;padding:13px}
  .search-result-card.is-featured .search-result-body{padding:0}
  .search-result-card.is-featured .search-result-image{min-height:140px;height:100%;border-radius:10px}
  .search-result-card.is-featured .search-result-title{font-size:1.1rem}
  .search-result-image{width:90px;height:100px}
}
@media(max-width:480px){
  .search-hero{padding:20px 13px 14px}
  .search-heading .search-heading-eyebrow{display:none}
  .search-heading h2{font-size:1.45rem}
  .search-heading p{font-size:.8rem}
  .search-query{gap:7px;padding:5px 5px 5px 10px;border-radius:11px}
  .search-query-icon{width:18px;height:18px}
  .search-bar #searchInput{min-height:46px;font-size:.9rem}
  .search-intents{gap:6px;margin-top:10px}
  .search-intents button{padding:9px 11px;font-size:.77rem}
  .search-context-status{margin-top:10px;font-size:.73rem}
  .search-eligibility{padding:10px;font-size:.8rem}
  .search-layout{gap:12px;padding:4px 12px 17px}
  .search-result-status{font-size:.93rem;margin-bottom:11px}
  .search-result-card{grid-template-columns:72px minmax(0,1fr);gap:10px;padding:11px}
  .search-result-card.is-featured{grid-template-columns:80px minmax(0,1fr);gap:11px;padding:11px}
  .search-result-card.is-featured .search-result-title{font-size:1.04rem}
  .search-result-image{width:72px;height:82px;border-radius:7px}
  .search-result-title{font-size:.94rem}
  .search-result-detail{font-size:.77rem}
  .search-result-eyebrow{font-size:.62rem}
  .search-result-note{padding:8px;font-size:.77rem}
  .search-result-action{font-size:.75rem;padding:9px 10px}
}
@media(max-width:350px){.search-context-fields{grid-template-columns:1fr}.search-query-icon{display:none}.search-bar #searchInput{font-size:.85rem}.search-intents button{padding:8px 9px}}
@media(prefers-reduced-motion:reduce){.search-intents button,.search-preferences-chevron{transition:none}}

/* The finder uses the full viewport; its content remains comfortable to read. */
.search-bar#site-search-panel{inset:0;left:0;width:100%;height:100vh;height:100dvh;max-height:none;border:0;border-radius:0;transform:none;box-shadow:none;scroll-padding-top:20px;transition:opacity .2s ease,visibility .2s ease}
#search-toggle:checked ~ .search-bar{transform:none}
.search-layout{width:100%;max-width:1156px;margin:0 auto}
.search-active-context{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.search-active-context[hidden]{display:none}
.search-active-context>span,.search-active-context>button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 11px;border:1px solid #c5d6e3;border-radius:999px;background:#edf4f8;color:#244c70;font:inherit;font-size:.76rem;line-height:1.4}
.search-active-context>button{cursor:pointer}
.search-active-context .search-clear-filters{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px}
.search-zone-conflict{margin:0;padding:10px 13px;border-left:3px solid #b98221;background:#fff6df;color:#664509;font-size:.8rem;line-height:1.5}
.search-zone-conflict:empty{display:none}
.search-result-card.is-incompatible{grid-column:1/-1;grid-template-columns:72px minmax(0,1fr);box-shadow:none}
.search-result-card.is-incompatible .search-result-image{width:72px;height:72px;min-height:0;border-radius:9px}
.search-result-card.is-incompatible .search-result-summary{display:inline-block;margin-left:12px;vertical-align:middle}
.search-bar .search-close{position:fixed;top:17px;right:20px;z-index:2;background:#0d3b66}
.search-bar .search-close:hover{background:#175582}
.search-hero{padding-left:max(24px,calc((100% - 1100px)/2));padding-right:max(24px,calc((100% - 1100px)/2))}
.search-query{padding-right:15px}
.search-intents{flex-shrink:1!important}
.search-eligibility a{color:#624000;font-weight:700;text-underline-offset:3px}
.search-macuco-card{grid-column:1/-1;grid-template-columns:72px minmax(0,1fr);padding:20px;background:#edf8f3;border-color:#a9cbbb;scroll-margin-top:20px}
.search-macuco-card .search-result-placeholder{width:72px;height:72px;background:#d7eee3;color:#21664d}
.search-macuco-card .search-result-detail{display:block;overflow:visible;margin-top:8px}
.search-macuco-card .search-result-note{background:#f8fcfa;border-color:#c0d9cc;color:#315c49}
.search-macuco-source{display:inline-flex;align-items:center;min-height:44px;margin:7px 0 0 15px;color:#265941;font-size:.78rem;text-underline-offset:3px}
@media(min-width:761px){.search-query,.search-eligibility{margin-right:24px}.search-hero{column-gap:35px}.search-discovery .search-context-status{max-width:34%}}
@media(max-width:760px){
  .search-hero{padding:23px 18px 16px}
  .search-bar .search-close{top:13px;right:13px}
  .search-discovery .search-intents{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:#7295b2 transparent}
  .search-intents button{flex-shrink:0;white-space:nowrap}
  .search-macuco-card{grid-template-columns:minmax(0,1fr);gap:0;padding:16px}
  .search-macuco-card .search-result-placeholder{display:none}
  .search-macuco-source{margin-left:0}
  .search-result-card.is-incompatible{grid-template-columns:minmax(0,1fr)}
  .search-result-card.is-incompatible .search-result-image{display:none}
}
@media(prefers-reduced-motion:reduce){.search-bar#site-search-panel{transition:none}}
