/* Presentation-only layer; uses Gezenta's existing system body and title fonts. */
html{scroll-behavior:smooth;scroll-padding-top:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main h1,main h2,main h3{font-family:var(--gz-title-font,Georgia,'Times New Roman',serif);letter-spacing:-.025em;line-height:1.25}
main h1{font-weight:600}main h2,main h3{font-weight:500}
.hotel-popup,.hotel-pin span,.hotel-cluster span{font-family:inherit}
.filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:28px;border-radius:20px;border:1px solid #dce5eb;box-shadow:0 12px 32px #0f172a07;background:linear-gradient(135deg,#fff,#fafcfd)}
.filters label{font-size:12px;color:#475569;letter-spacing:.015em;gap:9px}
.filters input,.filters select,.stay-form input,.stay-form select{height:50px;border:1px solid #cbd5e1;border-radius:10px;padding:0 14px;background:#fff;color:#0f172a;transition:border-color .15s,box-shadow .15s;font-variant-numeric:tabular-nums}
.filters input:hover,.filters select:hover,.stay-form input:hover,.stay-form select:hover{border-color:#94a3b8}
.filters input:focus,.filters select:focus,.stay-form input:focus,.stay-form select:focus{border-color:#006e8b;box-shadow:0 0 0 3px #006e8b15;outline:none}
.filter-submit{min-height:50px;align-self:end;border-radius:10px;box-shadow:0 4px 10px #006e8b16}
.filters .search-wide{grid-column:span 2}
@media(min-width:1100px){.filters{grid-template-columns:repeat(8,minmax(0,1fr))}.filters label{grid-column:span 2}.filters .search-wide{grid-column:span 4}.filters label:has(#adults),.filters label:has(#rooms){grid-column:span 1}.filter-submit{grid-column:span 2}}
.notice{border-radius:12px}.stat{border-radius:14px}.card{border-radius:16px}.card h3{font-size:21px}.body{gap:10px}
#results,.card{scroll-margin-top:calc(var(--gz-header-height,97px) + 20px)}
.results-top{padding-top:8px}.view-controls{padding:4px;background:#eaf0f4;border-radius:12px;gap:4px}.view-controls button{border:0;background:transparent;border-radius:9px;font-size:12px}.view-controls button[aria-pressed=true]{box-shadow:0 2px 7px #0f172a14}
.mode-split{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px}.mode-split .card{display:grid;grid-template-columns:180px minmax(0,1fr)}.mode-split .photo{height:100%;min-height:250px;aspect-ratio:auto}.mode-split .body{padding:20px}.mode-split .card details{grid-column:1/-1}.mode-split .gallery img{height:70px}
.map-panel{top:calc(var(--gz-header-height,97px) + 16px)}.hotel-map{height:calc(100dvh - var(--gz-header-height,97px) - 190px);min-height:350px;max-height:680px}
.section-nav{position:sticky;top:var(--gz-header-height,97px);z-index:25;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;background:#ffffffed;backdrop-filter:blur(12px);padding:6px;margin:20px 0 24px;border:1px solid #dce5eb;border-radius:12px;box-shadow:0 5px 18px #0f172a08;scrollbar-width:thin;gap:2px}
.section-nav a{white-space:nowrap;flex:none;border-radius:8px;color:#475569;min-height:44px;display:flex;align-items:center;padding:11px 15px;font-size:13px}.section-nav a:hover,.section-nav a[aria-current=location]{color:#006e8b;background:#edf6f9}
.selection-panel{top:calc(var(--gz-header-height,97px) + 88px);max-height:calc(100dvh - var(--gz-header-height,97px) - 106px);overflow-y:auto;scrollbar-width:thin}
.detail-body section,.room-card,#selection-panel{scroll-margin-top:calc(var(--gz-header-height,97px) + 88px)}
.stay-update{margin-top:24px;padding:20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.stay-update h3{font-family:inherit;font-size:15px;font-weight:600;letter-spacing:0}.stay-update .stay-form{margin-top:18px}
.surface{box-shadow:0 3px 14px #0f172a03}.room-card{transition:border-color .15s,box-shadow .15s}.room-card:hover{box-shadow:0 4px 18px #0f172a06}.room-card h3{font-size:21px}.check-label{min-height:44px;padding:8px 12px;border:1px solid #dce5eb;border-radius:8px;background:#f8fafc}.check-label:has(:checked){background:#eaf5f8;border-color:#006e8b;color:#006e8b}.table-scroll:focus-visible{outline-offset:3px}thead th{font-family:inherit;font-weight:600}
@media(max-width:1099px){.mode-split{grid-template-columns:1fr}.mode-split .map-panel{grid-row:auto;position:relative;top:auto}.mode-split .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-split .card{display:flex}.mode-split .photo{height:auto;min-height:0;aspect-ratio:16/10}.hotel-map{height:430px;min-height:300px}.filters{padding:24px;gap:16px}.detail-layout{grid-template-columns:minmax(0,1fr) 290px;gap:18px}.section-nav a{padding-inline:12px}.surface{padding:20px}}
@media(max-width:760px){.filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px;gap:16px;border-radius:16px}.filters .search-wide,.filter-submit{grid-column:1/-1}.filters label:last-child{grid-column:auto}.filters input,.filters select,.stay-form input,.stay-form select{font-size:16px;min-height:48px}.view-controls{width:100%}.view-controls button{flex:1;padding:10px 7px;font-size:12px}#view-split{display:none}.mode-split .cards{grid-template-columns:1fr}.mode-split .map-panel{grid-row:1}.hotel-map{height:55dvh;min-height:300px}.detail-layout{grid-template-columns:1fr}.selection-panel{position:relative;top:auto;max-height:none;overflow:visible}.section-nav{margin:16px -4px 20px;border-radius:10px;gap:0}.section-nav a{font-size:12px;padding:10px 12px}.detail-body section,.room-card,#selection-panel{scroll-margin-top:calc(var(--gz-header-height,56px) + 82px)}.surface{padding:18px}.stay-update{padding:14px}.stay-form{gap:12px}.room-card h3{font-size:20px}.mobile-selection{z-index:40}.hotel-heading{gap:12px}.location-actions .button{font-size:12px;padding:10px 12px}main{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
