/* ZAVR consumer discovery component: scoped, responsive, keyboard accessible. */
.zavr-place-entry{margin-block:28px 44px;border:1px solid var(--zavr-line);border-radius:var(--zavr-radius-card);padding:clamp(18px,3vw,34px);background:var(--zavr-surface)}
.zavr-place-entry__copy h2{font-size:clamp(23px,3vw,32px);margin:0 0 8px;color:var(--zavr-ink)}
.zavr-place-entry__copy p:not(.zavr-eyebrow){color:var(--zavr-muted);font-size:14px;max-width:75ch}
.zavr-place-entry__bar{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--zavr-line);padding:12px 14px;border-radius:var(--zavr-radius-card)}
.zavr-place-entry__bar>span{font-weight:650}
.zavr-place-dialog{border:0;border-radius:var(--zavr-radius-card);padding:0;width:min(94vw,620px);max-height:90vh;color:var(--zavr-ink);box-shadow:0 20px 90px #0004;overflow:auto}
.zavr-place-dialog::backdrop{background:rgba(20,18,22,.65)}
.zavr-place-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 26px 0;gap:12px}
.zavr-place-dialog__head h2{font-size:23px;margin:0}
.zavr-place-dialog__close{flex:0 0 38px;width:38px;height:38px;border:1px solid var(--zavr-line);border-radius:50%;background:var(--zavr-surface);font-size:24px;cursor:pointer;color:var(--zavr-ink)}
.zavr-place-dialog__form{display:grid;gap:16px;padding:26px}
.zavr-place-dialog__form label:not(.zavr-place-dialog__same){display:grid;gap:7px;font-size:14px;font-weight:650}
.zavr-place-dialog__form select{width:100%;padding:13px;border:1px solid var(--zavr-line);border-radius:var(--zavr-radius-control);background:var(--zavr-surface);color:var(--zavr-ink)}
.zavr-place-dialog__same{display:flex;align-items:center;gap:10px;font-size:14px}
.zavr-place-dialog__notice{font-size:13px;color:var(--zavr-muted);margin:0}
.zavr-place-dialog__suggestions{padding:0 26px 28px}
.zavr-place-dialog__suggestions h3{font-size:15px;margin:0 0 12px}
.zavr-place-dialog__shortcuts{display:flex;flex-wrap:wrap;gap:8px}
.zavr-place-dialog__shortcuts button{border:1px solid var(--zavr-line);border-radius:999px;background:var(--zavr-surface);color:var(--zavr-ink);font-size:13px;padding:9px 13px;cursor:pointer}
.zavr-place-dialog__shortcuts button:hover{background:var(--zavr-control-hover)}
.zavr-place-dialog :focus-visible,.zavr-place-entry :focus-visible{outline:2px solid var(--zavr-brand);outline-offset:3px}
.zavr-place-selection{border:1px solid var(--zavr-line);border-radius:var(--zavr-radius-control);background:var(--zavr-surface);padding:12px 18px;margin-bottom:20px;font-size:13px;color:var(--zavr-muted)}
.zavr-place-page,.zavr-place-archive{padding-block:clamp(28px,4vw,56px)}
.zavr-place-page h1,.zavr-place-archive h1{font-size:clamp(32px,4vw,52px);margin:0 0 16px}
.zavr-place-page__crumb{margin-bottom:18px}
.zavr-place-page__gallery{max-width:1000px;margin:30px 0}
.zavr-place-page__editorial{max-width:860px}
.zavr-place-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0 48px}
.zavr-place-card{border:1px solid var(--zavr-line);border-radius:var(--zavr-radius-card);background:var(--zavr-surface);overflow:hidden}
.zavr-place-card a{display:block;text-decoration:none;color:var(--zavr-ink);padding-bottom:16px}
.zavr-place-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.zavr-place-card h2,.zavr-place-card p{margin:12px 18px}
@media(max-width:800px){.zavr-place-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.zavr-place-cards{grid-template-columns:1fr}.zavr-place-entry__bar{flex-direction:column;align-items:stretch}.zavr-place-dialog{width:100vw;max-width:100vw;max-height:96vh;margin:auto 0 0;border-radius:var(--zavr-radius-card) 20px 0 0}}
@media(prefers-reduced-motion:reduce){.zavr-place-entry *{transition:none!important;animation:none!important}}

/* Shared progressive trip preferences: the same component on homepage, place and catalogue. */
.zavr-place-entry__summary{display:grid;gap:3px;min-width:0}
.zavr-place-entry__summary strong{font-weight:650;color:var(--zavr-ink)}
.zavr-place-entry__summary span{font-size:13px;color:var(--zavr-muted)}
.zavr-trip-steps{display:flex;gap:14px;flex-wrap:wrap;font-weight:650;color:var(--zavr-muted);font-size:13px;border-bottom:1px solid var(--zavr-line);padding-bottom:14px}
.zavr-trip-step{display:grid;gap:16px;min-width:0}
.zavr-trip-step[hidden]{display:none}
.zavr-trip-step label:not(.zavr-place-dialog__same){display:grid;gap:7px;font-size:14px;font-weight:650}
.zavr-trip-step input[type=date],.zavr-trip-step select[data-zavr-time]{width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--zavr-line);border-radius:var(--zavr-radius-control);background:var(--zavr-surface);color:var(--zavr-ink);font:inherit}
.zavr-trip-step__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.zavr-trip-back{font:inherit;border:1px solid var(--zavr-line);border-radius:var(--zavr-radius-control);background:var(--zavr-surface);color:var(--zavr-ink);padding:11px 16px;cursor:pointer}
.zavr-trip-back:hover{background:var(--zavr-control-hover)}
.zavr-trip-error{color:var(--zavr-brand);font-size:13px;margin:0}
.zavr-place-selection{display:flex;gap:8px 18px;align-items:center;flex-wrap:wrap}
.zavr-place-selection small{width:100%;font-size:12px}
.zavr-place-dialog__suggestions{padding:0}
.zavr-trip-next{justify-self:start}
@media(max-width:600px){.zavr-place-dialog__head{padding:18px 18px 0}.zavr-place-dialog__form{padding:18px}.zavr-trip-step__actions>*{flex:1}}

/* Canonical quick-selection combobox: shared frontend tokens, no inline styles. */
.zavr-location-combobox{position:relative;display:grid;gap:7px;min-width:0}
.zavr-location-combobox>label{font-weight:650;font-size:14px}
.zavr-location-combobox input[type=text]{width:100%;min-height:48px;padding:12px;border:1px solid var(--zavr-line);border-radius:var(--zavr-radius-control);color:var(--zavr-ink);background:var(--zavr-surface);font:inherit}
.zavr-location-suggestions{border:1px solid var(--zavr-line);border-radius:var(--zavr-radius-control);background:var(--zavr-surface);max-height:280px;overflow:auto;box-shadow:0 12px 32px #0002;z-index:10}
.zavr-location-suggestions[hidden]{display:none}
.zavr-location-results__heading{padding:10px 12px;color:var(--zavr-muted);font-size:12px;font-weight:650}
.zavr-location-option{display:grid;gap:3px;width:100%;text-align:start;border:0;border-top:1px solid var(--zavr-line);background:var(--zavr-surface);padding:11px 12px;min-height:48px;cursor:pointer;color:var(--zavr-ink);font:inherit}
.zavr-location-option:hover,.zavr-location-option:focus,.zavr-location-option[aria-selected=true]{background:var(--zavr-control-hover)}
.zavr-location-option small,.zavr-location-help,.zavr-location-empty{font-size:12px;color:var(--zavr-muted);margin:0}
.zavr-location-empty{padding:10px 12px}

/* Date and time choices share the existing design tokens; no browser datetime wheel. */
.zavr-trip-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.zavr-trip-date-group{display:grid;align-content:start;gap:8px;min-width:0}
.zavr-trip-date-group label{margin-top:4px}
.zavr-trip-date-group select[data-zavr-time]{appearance:none;-webkit-appearance:none;padding-inline-end:48px;background-image:url('../icons/chevron-down.svg');background-repeat:no-repeat;background-position:right 16px center;background-size:20px 20px}
@media(max-width:600px){.zavr-trip-date-grid{grid-template-columns:1fr}}
/* Progressive shared calendar using theme/ZAVR tokens; no native datetime wheel. */
.zavr-calendar-ready .zavr-trip-date-group>input[type=date]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.zavr-calendar-ready .zavr-trip-date-group>label:first-child{display:none}
.zavr-calendar-trigger{display:grid;gap:4px;width:100%;min-height:62px;text-align:start;padding:11px 14px;border:1px solid var(--zavr-line);border-radius:var(--zavr-radius-control);background:var(--zavr-surface);font:inherit;color:var(--zavr-ink);cursor:pointer}
.zavr-calendar-trigger span{font-size:12px;color:var(--zavr-muted)}
.zavr-calendar-trigger strong{font-size:15px;font-weight:650}
.zavr-calendar-trigger[aria-expanded=true],.zavr-calendar-trigger:focus-visible{border-color:var(--zavr-brand);outline:2px solid var(--zavr-brand);outline-offset:2px}
.zavr-calendar-panel{grid-column:1/-1;border:1px solid var(--zavr-line);border-radius:var(--zavr-radius-card);background:var(--zavr-surface);padding:14px;box-shadow:0 8px 25px #0002}
.zavr-calendar-panel[hidden]{display:none}
.zavr-calendar-panel__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.zavr-calendar-nav{border:1px solid var(--zavr-line);border-radius:50%;background:var(--zavr-surface);color:var(--zavr-ink);font:inherit;font-size:24px;width:40px;height:40px;cursor:pointer}
.zavr-calendar-nav:disabled{opacity:.35;cursor:default}
.zavr-calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.zavr-calendar-month h3{margin:5px 0 10px;text-align:center;font-size:14px}
.zavr-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.zavr-calendar-weekday{text-align:center;font-size:11px;color:var(--zavr-muted);padding:7px 0}
.zavr-calendar-day{border:0;border-radius:50%;background:transparent;color:var(--zavr-ink);min-height:35px;font:inherit;font-size:13px;cursor:pointer}
.zavr-calendar-day:hover:not(:disabled){background:var(--zavr-control-hover)}
.zavr-calendar-day:focus-visible{outline:2px solid var(--zavr-brand);outline-offset:2px}
.zavr-calendar-day:disabled{color:var(--zavr-muted);opacity:.4;cursor:default}
.zavr-calendar-day.is-in-range{background:var(--zavr-control-hover);border-radius:5px}
.zavr-calendar-day.is-selected{background:var(--zavr-brand);color:var(--zavr-surface);font-weight:700}
.zavr-calendar-panel__hint{font-size:12px;color:var(--zavr-muted);margin:12px 0 0}
@media(max-width:600px){.zavr-calendar-months{grid-template-columns:1fr}.zavr-calendar-month:nth-child(2){display:none}}
