/* Location-first search, shared by the live homepage and local design reference. */
.home-page .ec-location-search{display:flex;align-items:center;gap:14px;width:min(100%,560px);min-height:72px;margin:0;padding:8px 8px 8px 24px;border:0;border-radius:var(--ec-radius-pill);background:var(--ec-white);color:var(--ec-plum);font:500 16px/24px var(--ec-font-body);text-align:left;box-shadow:0 8px 28px #25142112;cursor:pointer;transition:background .18s,box-shadow .18s}
.ec-location-search>.ec-location-pin{display:block;flex:none;max-width:none}
.ec-location-search>span:first-of-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ec-location-search .ec-location-search-icon{display:grid;place-items:center;width:56px;height:56px;flex:none;border-radius:50%;background:var(--ec-plum);color:var(--ec-white)}
.ec-location-search-icon svg{width:23px;height:23px}
.home-page .ec-location-search:hover{background:var(--ec-hover);box-shadow:0 10px 32px #25142120}
.home-page .ec-location-search:focus-visible{outline:3px solid var(--ec-white);outline-offset:5px}
body:has(.ec-hero-search-dialog[open]){overflow:hidden}
.home-page dialog.ec-hero-search-dialog{position:fixed;inset:0;width:min(640px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:0;border-radius:28px;background:var(--ec-white);color:var(--ec-ink);text-align:left;font:400 14px/1.5 var(--ec-font-body);box-shadow:0 24px 80px #24132240;overflow:auto;overscroll-behavior:contain}
.ec-hero-search-dialog::backdrop{background:#25162280;backdrop-filter:blur(5px)}
.ec-hero-search-dialog *{box-sizing:border-box}
.ec-search-modal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:28px 28px 0}
.home-page .ec-search-modal-heading h2{margin:0;color:var(--ec-plum);font:600 24px/1.3 var(--ec-font-body);letter-spacing:-.035em}
.ec-search-modal-heading p{margin:6px 0 0;color:var(--ec-muted);font-size:14px;line-height:21px}
.ec-search-modal-close{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;margin:-8px -8px 0 0;border:0;border-radius:50%;background:transparent;color:var(--ec-plum);cursor:pointer}
.ec-search-modal-close:hover{background:var(--ec-hover)}
.ec-search-modal-close svg{width:20px;height:20px}
.ec-search-modal-form{margin:0;width:100%;text-align:left}
.ec-search-modal-fields{display:grid;gap:24px;padding:26px 28px 28px}
.ec-search-modal-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.ec-search-modal-form .destination-field{position:relative;min-width:0;margin:0;padding:0;border:0;border-radius:22px;background:#fde8da;box-shadow:none}
.ec-search-modal-form .destination-input-wrap{display:flex;align-items:center;gap:14px;min-height:76px;padding:14px 18px;border:0;border-radius:18px;background:transparent}
.ec-search-modal-form .destination-field:is(:focus-within,.is-open){background:#fcdfcd}
.ec-search-modal-form .destination-field .hero-field-icon{display:block;flex:none;max-width:none}
.ec-search-modal-form .field-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.ec-search-modal-form .field-text .field-label{display:block;margin:0;color:var(--ec-muted);font:400 14px/20px var(--ec-font-body)}
.ec-search-modal-form .field-text input{display:block;width:100%;min-height:24px;height:24px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--ec-plum);font:500 16px/24px var(--ec-font-body);box-shadow:none;outline:0;text-overflow:ellipsis}
.ec-search-modal-form .field-text input::placeholder{color:var(--ec-muted);opacity:1}
.ec-search-modal-form .clear-destination{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#ffffff99;color:var(--ec-plum);font-size:18px;flex:none}
.ec-search-modal-form .clear-destination[hidden]{display:none}
.ec-search-modal-form .destination-popover{position:absolute;inset:calc(100% + 8px) 0 auto;width:100%;max-width:none;max-height:280px;overflow:auto;transform:none;padding:12px;background:var(--ec-white);border:1px solid var(--ec-line);border-radius:18px;box-shadow:0 12px 36px #48213f24;z-index:5}
.ec-search-modal-form .destination-popover .popover-header{margin:0 0 8px;padding:0 8px;color:var(--ec-muted);font-size:12px}
.ec-search-modal-form .live-destination-option{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;margin:0;padding:9px 10px;border:0;border-radius:12px;background:transparent;text-align:left;color:var(--ec-plum);cursor:pointer}
.ec-search-modal-form .live-destination-option:is(:hover,[aria-selected='true']){background:var(--ec-hover)}
.ec-search-modal-form .live-destination-option>svg{width:20px;height:20px;flex:none}
.ec-search-modal-form .live-destination-option>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.ec-search-modal-form .live-destination-option strong{font-size:14px;font-weight:600}
.ec-search-modal-form .live-destination-option small{color:var(--ec-muted);font-size:12px}
.ec-search-modal-form .live-keyword-search{margin:8px}
.ec-search-modal-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.ec-search-modal-field label,.ec-search-stay legend{padding:0;color:var(--ec-muted);font:400 15px/22px var(--ec-font-body)}
.ec-search-modal-field label{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ec-search-modal-field label span{font-size:14px;font-weight:400;color:var(--ec-muted)}
.ec-search-modal-field input{display:block;width:100%;min-width:0;max-width:100%;min-height:52px;margin:0;padding:12px 14px;border:1px solid var(--ec-field-border);border-radius:14px;background:var(--ec-white);color:var(--ec-ink);font:400 16px/24px var(--ec-font-body);box-shadow:none}
.ec-search-modal-field input:disabled{background:var(--ec-hover);color:var(--ec-muted);cursor:not-allowed}
.ec-search-modal-field input[aria-invalid='true']{border-color:var(--ec-danger,#b42318)}
.ec-search-modal-field p{margin:0;color:var(--ec-muted);font-size:12px;line-height:18px}
.ec-search-stay{min-width:0;margin:0;padding:0;border:0}
.ec-search-stay legend{margin:0 0 12px}
.ec-search-stay-options{display:flex;flex-wrap:wrap;gap:8px}
.ec-search-stay-options label{position:relative;cursor:pointer}
.ec-search-stay-options input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ec-search-stay-options span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid var(--ec-field-border);border-radius:var(--ec-radius-pill);background:var(--ec-white);color:var(--ec-ink);font:400 14px/22px var(--ec-font-body);white-space:nowrap}
.ec-search-stay-options label:hover span{background:var(--ec-hover)}
.ec-search-stay-options input:checked+span{background:#fde8da;border-color:#fde8da;color:var(--ec-ink)}
.ec-search-stay-options input:focus-visible+span,.ec-hero-search-dialog button:focus-visible,.ec-search-modal-field input:focus-visible{outline:2px solid var(--ec-plum);outline-offset:3px}
.ec-search-modal-footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:20px 28px;border-top:1px solid var(--ec-line);background:var(--ec-white)}
.ec-search-clear{min-height:44px;padding:8px 0;border:0;background:transparent;color:var(--ec-plum);font:400 15px/20px var(--ec-font-body);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.ec-search-confirm{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;min-width:144px;margin:0;padding:12px 28px;border:0;border-radius:var(--ec-radius-pill);background:var(--ec-plum);color:var(--ec-white);font:600 15px/20px var(--ec-font-body);cursor:pointer}
.ec-search-confirm svg{width:20px;height:20px}
.ec-search-confirm:hover{background:var(--ec-plum-hover)}
.ec-search-confirm:disabled{opacity:.6;cursor:wait}
@media(max-width:600px){
 .home-page .ec-location-search{min-height:64px;padding:8px 8px 8px 18px;gap:10px;font-size:14px}
 .ec-location-search .ec-location-search-icon{width:48px;height:48px}
 .home-page dialog.ec-hero-search-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:24px}
 .ec-search-modal-heading{padding:24px 20px 0;gap:12px}
 .home-page .ec-search-modal-heading h2{font-size:22px}
 .ec-search-modal-heading p{font-size:13px;max-width:230px}
 .ec-search-modal-fields{padding:22px 20px 24px;gap:22px}
 .ec-search-modal-row{grid-template-columns:1fr;gap:20px}
 .ec-search-modal-form .destination-input-wrap{padding:12px 14px;gap:10px}
 .ec-search-modal-form .destination-popover{max-height:240px}
 .ec-search-modal-footer{padding:16px 20px}
}
@media(prefers-reduced-motion:reduce){.home-page .ec-location-search{transition:none}}

/* Keep the legacy static-page focus treatment from adding nested outlines. */
.home-page .ec-search-modal-form .destination-field:has(#destination:focus-visible){outline:none;box-shadow:none}
.home-page .ec-search-modal-form .destination-field input:focus-visible{outline:none;box-shadow:none}
.home-page dialog.ec-hero-search-dialog .ec-search-modal-close{border:0;box-shadow:none}
