/* Safari Kenya — Accommodation booking page (loaded only on the "Accommodation Booking" template) */

.stay{
  --st-ink:#1f2937; --st-mute:#6b7280; --st-line:#e8e1d4; --st-soft:#f6f1e7; --st-card:#fff;
  --st-p:var(--sk-primary,#c2410c); --st-a:var(--sk-accent,#0f766e);
  --st-good:#0b7a4b; --st-warn:#b45309; --st-bad:#b42318;
  --st-r:12px; --st-shadow:0 1px 2px rgba(31,41,55,.06),0 8px 24px rgba(31,41,55,.07);
  --stay-top:72px; --stay-offset:130px;
  color:var(--st-ink); padding-bottom:3rem;
}
.stay [hidden]{display:none!important}
.stay *{box-sizing:border-box}
.stay :where(h1,h2,h3,h4){margin:0}
.stay h2{font-size:1.7rem;margin-bottom:1rem}
.stay h3{font-size:1.2rem}
.stay :where(p){margin:0 0 .6rem}
.stay :where(ul,ol,dl){margin:0;padding:0;list-style:none}
.stay :where(dd){margin:0}
.stay-crumbs a,.stay-addr a,.stay-ratenotes a,.stay-terms a,.stay-near .stay-addr a{color:var(--st-p)}
.stay-crumbs a:hover,.stay-addr a:hover,.stay-ratenotes a:hover,.stay-terms a:hover{color:var(--st-a)}
.stay :focus-visible{outline:3px solid color-mix(in srgb,var(--st-a) 70%,#fff);outline-offset:2px;border-radius:4px}
.stay-ico{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em}
.stay-lock{overflow:hidden}
.stay-page{scroll-behavior:smooth}
html:has(body.stay-page){scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html:has(body.stay-page){scroll-behavior:auto}.stay *{transition:none!important;animation:none!important}}

/* ---------- breadcrumb + header ---------- */
.stay-crumbs{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--st-mute);padding:1rem 0 .5rem}
.stay-crumbs .stay-ico{width:.9em;height:.9em}
.stay-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem}
.stay-type{display:flex;align-items:center;gap:.6rem;margin:0 0 .35rem!important;font-size:.9rem;color:var(--st-mute);font-weight:500}
.stay-stars{display:inline-flex;gap:1px;color:#e0a100}
.stay-stars .stay-ico{width:1em;height:1em}
.stay-head h1{font-size:2.3rem}
.stay-addr{display:flex;align-items:flex-start;gap:.45rem;color:var(--st-mute);margin:.5rem 0 0!important;font-size:.95rem}
.stay-addr .stay-ico{color:var(--st-p);margin-top:.2rem}
.stay-addr a{font-weight:600;margin-left:.35rem}
.stay-head-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.stay-iconbtn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--st-line);background:#fff;color:var(--st-ink);border-radius:999px;padding:.5rem .95rem;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
.stay-iconbtn:hover{border-color:var(--st-p);color:var(--st-p)}
.stay-iconbtn[aria-pressed=true]{color:var(--st-p);border-color:var(--st-p);background:color-mix(in srgb,var(--st-p) 8%,#fff)}
.stay-iconbtn[aria-pressed=true] .stay-ico{fill:currentColor}

/* ---------- slider ---------- */
.stay-top{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1.25rem;align-items:start}
.stay-slider{position:relative;background:#14110d;border-radius:var(--st-r);overflow:hidden;outline-offset:3px}
.stay-slides{position:relative;aspect-ratio:16/9;cursor:zoom-in;background:#2a241c}
.stay-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .45s ease;pointer-events:none}
.stay-slide.is-active{opacity:1;pointer-events:auto}
.stay-slide img{width:100%;height:100%;object-fit:cover;display:block}
.stay-arrow{position:absolute;top:calc(50% - 2.1rem);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#111;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.25);z-index:3;transition:transform .15s,background .15s}
.stay-arrow:hover{background:#fff;transform:scale(1.06)}
.stay-prev{left:.8rem}.stay-next{right:.8rem}
.stay-arrow .stay-ico{width:1.3em;height:1.3em}
.stay-count{position:absolute;left:.8rem;top:.8rem;background:rgba(20,17,13,.72);color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .65rem;border-radius:999px;z-index:3}
.stay-full{position:absolute;right:.8rem;top:.8rem;width:38px;height:38px;border-radius:10px;border:0;background:rgba(20,17,13,.72);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:3}
.stay-full:hover{background:rgba(20,17,13,.92)}
.stay-thumbs{display:flex;gap:.45rem;padding:.55rem;overflow-x:auto;scrollbar-width:thin;background:#14110d}
.stay-thumb{flex:0 0 auto;width:84px;height:58px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;opacity:.6;background:none;transition:opacity .15s,border-color .15s}
.stay-thumb:hover{opacity:.9}
.stay-thumb.is-active{opacity:1;border-color:#fff}
.stay-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.stay-slider-empty{display:grid;place-items:center;align-content:center;gap:.5rem;aspect-ratio:16/9;background:var(--st-soft);color:var(--st-mute);text-align:center;padding:1rem}
.stay-slider-empty .stay-ico{width:2.4rem;height:2.4rem}

.stay-glance{background:var(--st-card);border:1px solid var(--st-line);border-radius:var(--st-r);padding:1.15rem;display:flex;flex-direction:column;gap:.85rem;box-shadow:var(--st-shadow)}
.stay-score{display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none}
.stay-score-num{display:grid;place-items:center;min-width:2.8rem;height:2.8rem;padding:0 .4rem;border-radius:10px 10px 10px 2px;background:var(--st-a);color:#fff;font-weight:700;font-size:1.15rem}
.stay-score small{display:block;color:var(--st-mute);font-size:.82rem}
.stay-score strong{display:block;line-height:1.2}
.stay-tagline{font-family:'Playfair Display',Georgia,serif;font-size:1.1rem;line-height:1.35;margin:0!important}
.stay-highlights{display:grid;gap:.45rem}
.stay-highlights li{display:flex;gap:.55rem;font-size:.92rem;line-height:1.4}
.stay-highlights .stay-ico{color:var(--st-good);margin-top:.15rem}
.stay-from{margin:0!important;padding-top:.75rem;border-top:1px solid var(--st-line);font-size:.85rem;color:var(--st-mute)}
.stay-from-price{display:block;font-size:1.8rem;font-weight:700;color:var(--st-ink);line-height:1.15}

/* ---------- section tabs ---------- */
.stay-tabs{position:sticky;top:var(--stay-top);z-index:40;background:rgba(250,247,242,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--st-line);margin-top:1.25rem}
.stay-tabs .container{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none}
.stay-tabs a{flex:none;padding:.85rem 1rem;color:var(--st-ink);font-weight:600;font-size:.93rem;text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px}
.stay-tabs a:hover{color:var(--st-p)}
.stay-tabs a.is-on{color:var(--st-p);border-bottom-color:var(--st-p)}
.stay-sec{padding:2.25rem 0;scroll-margin-top:var(--stay-offset);border-bottom:1px solid var(--st-line)}
.stay-sec:last-child{border-bottom:0}
.stay-h3{margin:1.6rem 0 .8rem!important;font-size:1.1rem!important}
.stay-help{color:var(--st-mute);font-size:.88rem}
.stay-empty{padding:1.5rem;background:var(--st-soft);border-radius:var(--st-r);color:var(--st-mute)}

/* ---------- overview ---------- */
.stay-overview{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2rem;align-items:start}
.stay-about{font-size:1.02rem;line-height:1.75}
.stay-about>*:last-child{margin-bottom:0}
.stay-know{background:var(--st-soft);border-radius:var(--st-r);padding:1.15rem 1.25rem}
.stay-know h3{margin-bottom:.7rem!important}
.stay-know ul{display:grid;gap:.7rem}
.stay-know li{display:flex;gap:.6rem;font-size:.92rem;line-height:1.4}
.stay-know .stay-ico{color:var(--st-p);margin-top:.12rem}
.stay-know strong{display:block}
.stay-popular{display:flex;flex-wrap:wrap;gap:.6rem}
.stay-popular li{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem;background:#fff;border:1px solid var(--st-line);border-radius:999px;font-size:.92rem;font-weight:500}
.stay-popular .stay-ico{color:var(--st-a);width:1.25em;height:1.25em}

/* ---------- search bar ---------- */
.stay-search{display:grid;grid-template-columns:1fr 1fr 1.25fr .8fr auto;gap:0;background:#fff;border:3px solid var(--st-p);border-radius:14px;box-shadow:var(--st-shadow);position:relative;z-index:5}
.stay-field{position:relative;padding:.6rem .95rem .55rem;border-right:1px solid var(--st-line);min-width:0}
.stay-field label{display:flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:700;color:var(--st-mute);margin-bottom:.1rem}
.stay-field label .stay-ico{color:var(--st-p)}
.stay-field input,.stay-field select{width:100%;border:0;background:transparent;font:inherit;font-weight:600;color:var(--st-ink);padding:.2rem 0;min-height:30px;outline-offset:4px}
.stay-nights{position:absolute;right:.7rem;bottom:.7rem;font-size:.72rem;font-weight:700;color:var(--st-a);background:color-mix(in srgb,var(--st-a) 10%,#fff);padding:.1rem .5rem;border-radius:999px;pointer-events:none}
.stay-guest-btn{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;border:0;background:none;font:inherit;font-weight:600;color:var(--st-ink);padding:.2rem 0;cursor:pointer;text-align:left;min-height:30px}
.stay-go{border-radius:0 10px 10px 0;margin:0;padding:0 1.6rem;font-size:1rem}
.stay-pop{position:absolute;left:0;top:calc(100% + 8px);width:min(340px,92vw);background:#fff;border:1px solid var(--st-line);border-radius:var(--st-r);box-shadow:0 18px 50px rgba(31,41,55,.2);padding:1rem;z-index:20}
.stay-step-row{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0}
.stay-step-row small{display:block;color:var(--st-mute);font-size:.78rem}
.stay-stepper{display:flex;align-items:center;gap:.7rem}
.stay-stepper button{width:34px;height:34px;border-radius:50%;border:1px solid var(--st-p);background:#fff;color:var(--st-p);display:grid;place-items:center;cursor:pointer}
.stay-stepper button:hover:not(:disabled){background:color-mix(in srgb,var(--st-p) 10%,#fff)}
.stay-stepper button:disabled{border-color:var(--st-line);color:#c4bfb4;cursor:not-allowed}
.stay-stepper output{min-width:1.4rem;text-align:center;font-weight:700}
.stay-ages{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.2rem 0 .4rem}
.stay-age{display:grid;gap:.15rem;font-size:.76rem;font-weight:600;color:var(--st-mute)}
.stay-age select{border:1px solid var(--st-line);border-radius:8px;padding:.45rem;font:inherit;color:var(--st-ink);background:#fff}
.stay-pop-note{font-size:.78rem;color:var(--st-mute);margin:.2rem 0 .7rem!important}

/* ---------- steps ---------- */
.stay-steps{display:flex;gap:.5rem;margin:2rem 0 1.2rem;flex-wrap:wrap}
.stay-steps li{display:flex;align-items:center;gap:.55rem;font-weight:600;font-size:.93rem;color:var(--st-mute)}
.stay-steps li span{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:#e9e3d6;color:var(--st-mute);font-size:.82rem}
.stay-steps li:not(:last-child)::after{content:"";width:2.5rem;height:2px;background:var(--st-line);margin-left:.4rem}
.stay-steps li.is-on{color:var(--st-ink)}
.stay-steps li.is-on span{background:var(--st-p);color:#fff}
.stay-steps li.is-done span{background:var(--st-good);color:#fff}
.stay-notice{padding:.8rem 1rem;border-radius:10px;margin-bottom:1rem;font-weight:500;background:var(--st-soft);border:1px solid var(--st-line)}
.stay-notice.is-error{background:#fef3f2;border-color:#fecdca;color:var(--st-bad)}
.stay-notice.is-info{background:#eff8ff;border-color:#b2ddff;color:#175cd3}

/* ---------- layout: main + summary ---------- */
.stay-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1.5rem;align-items:start}
.stay-summary{position:sticky;top:calc(var(--stay-offset) + .5rem)}
.stay-sum{background:#fff;border:1px solid var(--st-line);border-radius:var(--st-r);padding:1.15rem;box-shadow:var(--st-shadow)}
.stay-sum h3{margin-bottom:.8rem!important}
.stay-sum-dates{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding-bottom:.8rem;border-bottom:1px solid var(--st-line)}
.stay-sum-dates dt{font-size:.74rem;font-weight:700;color:var(--st-mute)}
.stay-sum-dates dd{font-weight:600;font-size:.9rem;line-height:1.3}
.stay-sum-guests{margin:.7rem 0!important;font-weight:600;font-size:.93rem}
.stay-sum-empty{display:flex;gap:.6rem;align-items:center;padding:.9rem;background:var(--st-soft);border-radius:10px;color:var(--st-mute);font-size:.9rem;margin-bottom:.8rem}
.stay-sum-lines{display:grid;gap:.7rem;margin-bottom:.8rem}
.stay-sum-lines li{display:flex;justify-content:space-between;gap:.7rem;font-size:.92rem}
.stay-sum-lines small{display:block;color:var(--st-mute);font-size:.8rem;line-height:1.35;margin-top:.1rem}
.stay-sum-lines .stay-unit{margin-top:.2rem}
.stay-sum-lines b{white-space:nowrap}
.stay-sum-totals{border-top:1px solid var(--st-line);padding-top:.7rem;display:grid;gap:.35rem;margin-bottom:.7rem}
.stay-sum-totals div{display:flex;justify-content:space-between;gap:.7rem;font-size:.92rem}
.stay-sum-totals .is-total{margin-top:.3rem;padding-top:.6rem;border-top:1px solid var(--st-line);font-size:1.2rem;font-weight:700}
.stay-sum-totals .is-total dd{color:var(--st-p)}
.stay-sum-totals .is-save{color:var(--st-good)}
.stay-sum-totals .is-muted{color:var(--st-mute);font-size:.82rem}
.stay-sum-cancel{display:block;font-size:.85rem;font-weight:600;color:var(--st-good);margin:.2rem 0 .8rem!important}
.stay-sum-note{font-size:.78rem;color:var(--st-mute);text-align:center;margin:.6rem 0 0!important}
.stay .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.stay .btn-outline{background:#fff;border:2px solid var(--st-p);color:var(--st-p)}
.stay .btn-outline:hover{background:var(--st-p);color:#fff}
.stay .btn-accent{background:var(--st-a)}

/* ---------- room cards ---------- */
.stay-rooms{display:grid;gap:1rem}
.stay-room{display:grid;grid-template-columns:200px minmax(0,1fr) 262px;grid-template-areas:"media info buy" "media rates buy";background:#fff;border:1px solid var(--st-line);border-radius:var(--st-r);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.stay-room.is-selected{border-color:var(--st-a);box-shadow:0 0 0 2px var(--st-a)}
.stay-room.is-soldout{opacity:.72}
.stay-room.is-loading .stay-room-buy{opacity:.55;transition:opacity .2s}
.stay-room-media{grid-area:media;min-height:180px;position:relative}
.stay-room-photo{display:block;width:100%;height:100%;padding:0;border:0;background:#2a241c;cursor:zoom-in;position:relative}
.stay-room-photo img{width:100%;height:100%;object-fit:cover;display:block}
.stay-badge{position:absolute;left:.6rem;bottom:.6rem;display:inline-flex;align-items:center;gap:.3rem;background:rgba(20,17,13,.78);color:#fff;border-radius:999px;font-size:.78rem;font-weight:600;padding:.2rem .6rem}
.stay-room-info{grid-area:info;padding:1rem 1.1rem .4rem;min-width:0}
.stay-room-info h3{font-size:1.25rem;margin-bottom:.45rem}
.stay-facts{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.86rem;color:var(--st-mute);margin-bottom:.55rem}
.stay-facts li{display:inline-flex;align-items:center;gap:.35rem}
.stay-room-desc{font-size:.92rem;color:#4b5563;line-height:1.5}
.stay-amen{display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:.86rem;margin:.5rem 0 0}
.stay-amen li{display:inline-flex;align-items:center;gap:.35rem}
.stay-amen .stay-ico{color:var(--st-a)}
.stay-link{background:none;border:0;padding:.3rem 0;color:var(--st-p);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:underline}
.stay-room-feat{display:grid;gap:.25rem;margin-top:.5rem;font-size:.88rem}
.stay-room-feat li{display:flex;gap:.45rem}
.stay-room-feat .stay-ico{color:var(--st-good);margin-top:.15rem}
.stay-room-rates{grid-area:rates;padding:.3rem 1.1rem 1rem;min-width:0}
.stay-room-rates h4{font-family:Inter,sans-serif;font-size:.8rem;font-weight:700;color:var(--st-mute);margin-bottom:.4rem}
.stay-rate-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:.45rem}
.stay-rate-list>div{display:flex;flex-direction:column;justify-content:space-between;gap:.15rem;padding:.5rem .7rem;background:var(--st-soft);border-radius:9px;font-size:.82rem;min-width:0}
.stay-rate-list dt{display:flex;align-items:flex-start;gap:.35rem;color:#4b5563;line-height:1.25}
.stay-rate-list dt .stay-ico{color:var(--st-p);flex:none;margin-top:.05rem}
.stay-rate-list dd{font-weight:700;font-size:1rem;white-space:nowrap}
.stay-rate-list .is-group{background:color-mix(in srgb,var(--st-a) 10%,#fff)}
.stay-rate-list .is-group .stay-ico{color:var(--st-a)}
.stay-free{color:var(--st-good)}
.stay-incl{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--st-good);font-weight:600;margin:.55rem 0 0!important}
.stay-room-buy{grid-area:buy;border-left:1px solid var(--st-line);background:#fcfaf6;padding:1rem;display:flex;flex-direction:column;gap:.7rem}
.stay-price{min-height:3.2rem}
.stay-price-main{display:block;font-size:1.65rem;line-height:1.1;font-weight:700;color:var(--st-ink)}
.stay-price small{display:block;color:var(--st-mute);font-size:.8rem;line-height:1.35}
.stay-price-hint{font-size:.85rem;color:var(--st-mute);line-height:1.4}
.stay-soldout{font-weight:700;color:var(--st-bad)}
.stay-incl-note{color:var(--st-good)!important;font-weight:600}
.stay-plans{border:0;margin:0;padding:0;display:grid;gap:.4rem}
.stay-plan{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:.5rem;border:1px solid var(--st-line);background:#fff;border-radius:9px;padding:.5rem .6rem;font-size:.82rem;cursor:pointer}
.stay-plan:has(input:checked){border-color:var(--st-a);background:color-mix(in srgb,var(--st-a) 7%,#fff)}
.stay-plan input{margin-top:.2rem;accent-color:var(--st-a)}
.stay-plan strong{display:block;line-height:1.25}
.stay-plan em{display:block;font-style:normal;color:var(--st-good);font-size:.76rem;font-weight:600}
.stay-plan b{white-space:nowrap}
.stay-board{display:grid;gap:.2rem;font-size:.76rem;font-weight:700;color:var(--st-mute)}
.stay-board select,.stay-qty select{width:100%;border:1px solid var(--st-line);border-radius:8px;padding:.45rem .5rem;font:inherit;font-size:.85rem;font-weight:600;color:var(--st-ink);background:#fff}
.stay-left{font-size:.8rem;font-weight:700;color:var(--st-mute);margin:0!important}
.stay-left.is-low{color:var(--st-bad)}
.stay-pick{display:grid;grid-template-columns:78px 1fr;gap:.5rem;align-items:end;margin-top:auto}
.stay-qty{display:grid;gap:.2rem;font-size:.76rem;font-weight:700;color:var(--st-mute)}
.stay-select{width:100%;text-align:center;padding:.62rem .5rem}

/* ---------- rate card ---------- */
.stay-ratecard{margin-top:1.25rem;background:#fff;border:1px solid var(--st-line);border-radius:var(--st-r);padding:0 1.15rem}
.stay-ratecard summary{display:flex;align-items:center;gap:.55rem;padding:1rem 0;font-weight:700;cursor:pointer;list-style:none}
.stay-ratecard summary::-webkit-details-marker{display:none}
.stay-ratecard summary .stay-ico:first-child{color:var(--st-p)}
.stay-ratecard summary span{flex:1}
.stay-ratecard[open] summary>.stay-ico:last-child{transform:rotate(180deg)}
.stay-tablewrap{overflow-x:auto;margin:.2rem 0 .8rem;border:1px solid var(--st-line);border-radius:10px}
.stay-tablewrap table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:560px}
.stay-tablewrap th,.stay-tablewrap td{padding:.65rem .8rem;text-align:left;border-bottom:1px solid var(--st-line);white-space:nowrap}
.stay-tablewrap thead th{background:var(--st-soft);font-size:.78rem;color:var(--st-mute)}
.stay-tablewrap tbody th{font-weight:700;white-space:normal}
.stay-tablewrap tr:last-child>*{border-bottom:0}
.stay-grp{display:inline-block;margin-right:.7rem}
.stay-grp em{font-style:normal;font-weight:700;color:var(--st-a);margin-right:.2rem}
.stay-ratenotes{display:grid;gap:.4rem;padding:0 0 1rem 1.1rem!important;list-style:disc!important;font-size:.85rem;color:#4b5563}
.stay-ratenotes li{padding-left:.15rem}

/* ---------- details form ---------- */
.stay-form,.stay-review,.stay-done{background:#fff;border:1px solid var(--st-line);border-radius:var(--st-r);padding:1.4rem}
.stay-form h3,.stay-review h3{margin-bottom:1rem}
.stay-grid2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem;margin-bottom:1rem}
.stay-fg label{display:block;font-size:.85rem;font-weight:700;margin-bottom:.25rem}
.stay-fg input,.stay-fg select,.stay-form textarea{width:100%;border:1px solid #d6cfbf;border-radius:9px;padding:.7rem .8rem;font:inherit;background:#fff;color:var(--st-ink)}
.stay-fg input:focus,.stay-fg select:focus,.stay-form textarea:focus{outline:3px solid color-mix(in srgb,var(--st-a) 35%,#fff);border-color:var(--st-a)}
.stay-fg small{display:block;color:var(--st-mute);font-size:.78rem;margin-top:.25rem}
.stay-fs{border:0;border-top:1px solid var(--st-line);margin:0;padding:1.1rem 0;min-width:0}
.stay-fs legend{font-weight:700;padding:0 .5rem 0 0;font-size:1rem}
.stay-chip{display:inline-block;margin:0 .4rem .5rem 0;cursor:pointer}
.stay-chip input{position:absolute;opacity:0;pointer-events:none}
.stay-chip span{display:inline-block;padding:.5rem .95rem;border:1px solid #d6cfbf;border-radius:999px;font-size:.9rem;font-weight:600;background:#fff;transition:all .15s}
.stay-chip input:checked+span{background:var(--st-a);border-color:var(--st-a);color:#fff}
.stay-chip input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--st-a) 55%,#fff);outline-offset:2px}
.stay-extras{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.stay-extra{display:flex;gap:.65rem;align-items:flex-start;border:1px solid var(--st-line);border-radius:10px;padding:.7rem .8rem;cursor:pointer;background:#fff}
.stay-extra:has(input:checked){border-color:var(--st-a);background:color-mix(in srgb,var(--st-a) 7%,#fff)}
.stay-extra input{margin-top:.25rem;accent-color:var(--st-a)}
.stay-extra small{display:block;color:var(--st-mute);font-size:.8rem}
.stay-prefs{margin-bottom:.4rem}
.stay-radio{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;cursor:pointer}
.stay-radio input{accent-color:var(--st-a);width:1.1rem;height:1.1rem}
.stay-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.stay-actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:space-between;margin-top:1rem}
.stay-actions .btn{margin:0}
.stay-review{margin-bottom:1rem}
.stay-rev-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--st-line)}
.stay-rev-grid h4{font-family:Inter,sans-serif;font-size:.8rem;color:var(--st-mute);margin-bottom:.3rem}
.stay-terms{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;padding:.4rem 0}
.stay-terms input{margin-top:.3rem;accent-color:var(--st-a);width:1.05rem;height:1.05rem}
.stay-done{text-align:center;padding:2rem 1.4rem}
.stay-done:focus{outline:0}
.stay-done-ico{width:64px;height:64px;border-radius:50%;background:var(--st-good);color:#fff;display:grid;place-items:center;margin:0 auto 1rem}
.stay-done-ico .stay-ico{width:34px;height:34px;stroke-width:2.4}
.stay-ref{display:inline-grid;gap:.15rem;margin:.6rem 0 1.2rem!important;padding:.8rem 1.6rem;border:2px dashed var(--st-a);border-radius:12px}
.stay-ref span{font-size:.78rem;font-weight:700;color:var(--st-mute)}
.stay-ref strong{font-size:1.6rem;letter-spacing:.06em}
.stay-done-sum{text-align:left;max-width:520px;margin:0 auto 1.2rem;padding:1rem;background:var(--st-soft);border-radius:12px}
.stay-done .stay-actions{justify-content:center}
.stay-done .btn{display:inline-block}

/* ---------- facilities / policies / reviews / faq / location ---------- */
.stay-fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.6rem 2rem}
.stay-fgroup h3{font-size:1rem;margin-bottom:.7rem;font-family:Inter,sans-serif;font-weight:700}
.stay-fgroup ul{display:grid;gap:.55rem}
.stay-fgroup li{display:flex;align-items:center;gap:.6rem;font-size:.94rem}
.stay-fgroup .stay-ico{color:var(--st-a);width:1.3em;height:1.3em}
.stay-policy-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.stay-policy{background:#fff;border:1px solid var(--st-line);border-radius:var(--st-r);padding:1.1rem 1.2rem}
.stay-policy h3{display:flex;align-items:center;gap:.5rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:700;margin-bottom:.45rem}
.stay-policy h3 .stay-ico{color:var(--st-p)}
.stay-policy p{font-size:.92rem;color:#4b5563;line-height:1.55}
.stay-rev-top{display:grid;grid-template-columns:260px minmax(0,1fr);gap:2rem;align-items:center;margin-bottom:1.5rem}
.stay-score-lg .stay-score-num{min-width:4rem;height:4rem;font-size:1.7rem;border-radius:14px 14px 14px 3px}
.stay-cats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 2rem}
.stay-cats li{display:grid;grid-template-columns:1fr 2.4rem;grid-template-areas:"l v" "b b";gap:.2rem .6rem;font-size:.9rem}
.stay-cats li>span:first-child{grid-area:l}
.stay-cats b{grid-area:v;text-align:right}
.stay-meter{grid-area:b;height:7px;background:#e9e3d6;border-radius:99px;overflow:hidden;display:block}
.stay-meter i{display:block;height:100%;background:var(--st-a);border-radius:99px}
.stay-revs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.stay-rev{margin:0;background:#fff;border:1px solid var(--st-line);border-radius:var(--st-r);padding:1.1rem 1.2rem}
.stay-rev header{display:flex;align-items:center;gap:.7rem;margin-bottom:.6rem}
.stay-rev header>span:nth-child(2){flex:1}
.stay-rev header small{display:block;color:var(--st-mute);font-size:.8rem}
.stay-rev header b{background:var(--st-a);color:#fff;border-radius:8px 8px 8px 2px;padding:.2rem .5rem;font-size:.9rem}
.stay-avatar{width:2.4rem;height:2.4rem;border-radius:50%;background:var(--st-soft);display:grid;place-items:center;font-weight:700;color:var(--st-p)}
.stay-rev h4{font-family:Inter,sans-serif;font-size:.98rem;margin-bottom:.3rem}
.stay-rev p{font-size:.92rem;color:#4b5563;line-height:1.55}
.stay-rev footer{font-size:.78rem;color:var(--st-mute)}
.stay-faq{display:grid;gap:.6rem;max-width:860px}
.stay-faq details{background:#fff;border:1px solid var(--st-line);border-radius:10px;padding:0 1.1rem}
.stay-faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 0;font-weight:600;cursor:pointer;list-style:none}
.stay-faq summary::-webkit-details-marker{display:none}
.stay-faq details[open] summary .stay-ico{transform:rotate(180deg)}
.stay-faq p{padding-bottom:1rem;color:#4b5563;line-height:1.6}
.stay-loc{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.4rem}
.stay-map{border-radius:var(--st-r);overflow:hidden;border:1px solid var(--st-line);min-height:320px;background:var(--st-soft)}
.stay-map iframe{width:100%;height:100%;min-height:320px;border:0;display:block}
.stay-near h3{font-size:1.05rem;margin:1rem 0 .6rem}
.stay-near ul{display:grid;gap:.1rem;margin-bottom:1rem}
.stay-near li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--st-line);font-size:.92rem}
.stay-noscript{padding:1rem;background:#fef3f2;color:var(--st-bad);text-align:center}

/* ---------- mobile bar + lightbox ---------- */
.stay-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border-top:1px solid var(--st-line);padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(0,0,0,.1)}
.stay-bar small{display:block;color:var(--st-mute);font-size:.78rem}
.stay-bar strong{font-size:1.25rem}
.stay-bar .btn{margin:0}
.stay-lb{position:fixed;inset:0;z-index:1000;background:rgba(10,8,5,.94);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:1rem}
.stay-lb figure{margin:0;display:grid;gap:.6rem;justify-items:center;min-width:0}
.stay-lb img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:6px}
.stay-lb figcaption{color:#e5e7eb;font-size:.9rem}
.stay-lb .stay-arrow{position:static;transform:none}
.stay-lb-x{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;cursor:pointer}
.stay-lb-x:hover{background:rgba(255,255,255,.28)}

/* ---------- booking mode: focus on the form ---------- */
.stay.is-booking .stay-search{display:none}
.stay.is-booking .stay-top,.stay.is-booking .stay-tabs{display:none}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .stay-search{grid-template-columns:1fr 1fr 1fr}
  .stay-field:nth-child(3){border-right:0}
  .stay-field:nth-child(-n+3){border-bottom:1px solid var(--st-line)}
  .stay-go{grid-column:1/-1;border-radius:0 0 10px 10px;padding:.85rem}
  .stay-field.stay-cur{border-right:1px solid var(--st-line)}
}
@media (max-width:1000px){
  .stay-top,.stay-overview,.stay-layout{grid-template-columns:minmax(0,1fr)}
  .stay-summary{position:static}
  .stay-bar{display:flex}
  .stay-bar[hidden]{display:none!important}
  .stay{padding-bottom:5rem}
  .stay-rev-top,.stay-loc{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .stay h2{font-size:1.45rem}
  .stay-head h1{font-size:1.75rem}
  .stay-room{grid-template-columns:1fr;grid-template-areas:"media" "info" "rates" "buy";grid-template-columns:minmax(0,1fr)}
  .stay-room-media{min-height:0;aspect-ratio:16/9}
  .stay-room-buy{border-left:0;border-top:1px solid var(--st-line)}
  .stay-search{grid-template-columns:1fr 1fr}
  .stay-field:nth-child(2){border-right:0}
  .stay-field.stay-guests{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--st-line)}
  .stay-field:nth-child(3){border-bottom:1px solid var(--st-line)}
  .stay-field.stay-cur{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--st-line)}
  .stay-arrow{width:38px;height:38px}
  .stay-thumb{width:68px;height:48px}
  .stay-grid2,.stay-extras,.stay-rev-grid,.stay-cats{grid-template-columns:1fr}
  .stay-steps li:not(:last-child)::after{display:none}
  .stay-lb{grid-template-columns:1fr;padding:3.5rem .5rem 1rem}
  .stay-lb .stay-arrow{position:absolute;top:50%;z-index:2}
  .stay-lb .stay-prev{left:.5rem}.stay-lb .stay-next{right:.5rem}
  .stay-actions .btn{flex:1;text-align:center}
}
@media print{
  body.stay-page .site-header,body.stay-page footer,.stay-top,.stay-tabs,.stay-head,.stay-crumbs,.stay-sec:not(#stay-rooms),.stay-search,.stay-steps,.stay-summary,.stay-bar,.stay-lb,.stay-done .stay-actions{display:none!important}
  .stay-done{border:0}
}

/* keep focused/validated fields clear of the sticky site header */
.stay-fg input,.stay-fg select,.stay-form textarea,.stay-fs,.stay-terms{scroll-margin-top:calc(var(--stay-top) + 24px)}

/* the summary's Reserve button is only for step 1 */
.stay.is-booking .stay-sum [data-continue],.stay.is-booking .stay-sum-note{display:none}

.stay.is-done .stay-layout{grid-template-columns:minmax(0,760px);justify-content:center}

/* let grid children shrink instead of stretching the page */
.stay-top>*,.stay-overview>*,.stay-layout>*,.stay-loc>*,.stay-rev-top>*,.stay-room>*,.stay-grid2>*,.stay-fgrid>*{min-width:0}

/* =========================================================================
   Hotel list (/accommodation/)
   ===================================================================== */
.stay-list{padding-top:.5rem}
.stay-list-head{padding:1.25rem 0 .5rem}
.stay-list-head h1{font-size:2.4rem;margin-bottom:.4rem}
.stay-list-head p{color:var(--st-mute);max-width:64ch;margin:0}
.stay-locs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.stay-locs a{padding:.45rem .95rem;border:1px solid var(--st-line);border-radius:999px;background:#fff;color:var(--st-ink);text-decoration:none;font-weight:600;font-size:.9rem;transition:border-color .15s,color .15s}
.stay-locs a:hover{border-color:var(--st-p);color:var(--st-p)}
.stay-locs a[aria-current]{background:var(--st-p);border-color:var(--st-p);color:#fff}
.stay-locs small{opacity:.7;margin-left:.25rem}
.stay-list .stay-search{margin-top:1.1rem}

.stay-list-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.5rem;margin-top:1.75rem;align-items:start}
.stay-filters{position:sticky;top:calc(var(--stay-top,72px) + .75rem)}
.stay-filters-box{background:#fff;border:1px solid var(--st-line);border-radius:var(--st-r);padding:0 1.05rem .6rem}
.stay-filters-box summary{padding:1rem 0;font-weight:700;cursor:pointer;list-style:none}
.stay-filters-box summary::-webkit-details-marker{display:none}
.stay-fgroup-f{padding:.85rem 0;border-top:1px solid var(--st-line)}
.stay-fgroup-f h3{font-family:Inter,sans-serif;font-size:.85rem;font-weight:700;margin-bottom:.45rem}
.stay-fgroup-f input[type=range]{width:100%;accent-color:var(--st-p)}
.stay-check{display:flex;align-items:center;gap:.55rem;padding:.25rem 0;cursor:pointer;font-size:.92rem}
.stay-check input{accent-color:var(--st-a);width:1.05rem;height:1.05rem;flex:none}
.stay-check small{margin-left:auto;color:var(--st-mute);font-size:.8rem}
.stay-filters-box .stay-link{margin:.4rem 0 .2rem}

.stay-results-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}
.stay-count-txt{font-weight:700;margin:0}
.stay-sort{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--st-mute)}
.stay-sort select{border:1px solid var(--st-line);border-radius:8px;padding:.45rem .6rem;font:inherit;font-size:.88rem;color:var(--st-ink);background:#fff}

.stay-hlist{display:grid;gap:1rem}
.stay-hcard{display:grid;grid-template-columns:250px minmax(0,1fr) 230px;background:#fff;border:1px solid var(--st-line);border-radius:var(--st-r);overflow:hidden;transition:box-shadow .2s,opacity .2s}
.stay-hcard:hover{box-shadow:var(--st-shadow)}
.stay-hcard.is-soldout{opacity:.72}
.stay-hcard-media{position:relative;display:block;background:#2a241c;min-height:200px}
.stay-hcard-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.stay-hcard-noimg{position:absolute;inset:0;display:grid;place-items:center;color:#9a8f7c;background:var(--st-soft)}
.stay-hcard-noimg .stay-ico{width:2.2rem;height:2.2rem}
.stay-hcard-body{padding:1rem 1.1rem;min-width:0}
.stay-hcard-body h2{font-size:1.4rem;margin:.1rem 0 .35rem}
.stay-hcard-body h2 a{color:var(--st-ink);text-decoration:none}
.stay-hcard-body h2 a:hover{color:var(--st-p);text-decoration:underline}
.stay-hcard-tag{font-family:'Playfair Display',Georgia,serif;font-size:1rem;margin:.5rem 0 0!important;color:#4b5563}
.stay-hfac{display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-size:.85rem;margin:.7rem 0 .5rem}
.stay-hfac li{display:inline-flex;align-items:center;gap:.35rem}
.stay-hfac .stay-ico{color:var(--st-a)}
.stay-hcard-rooms{font-size:.82rem;color:var(--st-mute);margin:0!important}
.stay-hcard-buy{border-left:1px solid var(--st-line);background:#fcfaf6;padding:1rem;display:flex;flex-direction:column;justify-content:space-between;gap:.8rem;text-align:right}
.stay-hcard-buy .stay-score{justify-content:flex-end;text-align:left}
.stay-hprice small{display:block;color:var(--st-mute);font-size:.8rem;line-height:1.35}
.stay-hprice b{display:block;font-size:1.55rem;line-height:1.15}
.stay-hcard-buy .btn{margin:0;text-align:center}

@media (max-width:1000px){
  .stay-list-layout{grid-template-columns:minmax(0,1fr)}
  .stay-filters{position:static}
}
@media (max-width:760px){
  .stay-list-head h1{font-size:1.75rem}
  .stay-hcard{grid-template-columns:minmax(0,1fr)}
  .stay-hcard-media{min-height:0;aspect-ratio:16/9}
  .stay-hcard-buy{border-left:0;border-top:1px solid var(--st-line);text-align:left}
  .stay-hcard-buy .stay-score{justify-content:flex-start}
}
