:root{--brand:#203c42;--brand-text:#fff;--accent:#d8c19e;--accent-text:#172c34;--surface:#fff;--surface-text:#172c34}
body{background:var(--paper);color:var(--surface-text)}
.site-header,.booking-results,.panel,.apartment-dialog,.detail-header{background:var(--surface);color:var(--surface-text)}
.booking-intro{background:var(--brand);color:var(--brand-text)}
.booking-intro .eyebrow,.booking-intro p,.booking-steps,.booking-steps [aria-current]{color:var(--brand-text)}
.booking-steps li:not([aria-current]){opacity:.7}
.booking-steps span{border-color:currentColor}
.booking-steps [aria-current] span{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}
button.primary,.primary-link{background:var(--brand);color:var(--brand-text);border-color:var(--brand)}
.booking-search .search-panel{background:var(--surface)}
.search-panel-heading{background:var(--accent);color:var(--accent-text);border-color:color-mix(in srgb,var(--accent-text) 15%,transparent)}
.search-panel-heading .eyebrow{color:inherit}
.booking-results .apartment-card{background:color-mix(in srgb,var(--surface) 94%,var(--surface-text));color:var(--surface-text)}
.booking-results .capacity,.booking-results .card-description,.booking-results .apartment-facts,.booking-results .amenity-list,.booking-results .unavailable,.booking-results .apartment-details-link,.booking-results .section-head p{color:var(--surface-text)}
.booking-results .card-description,.booking-results .unavailable{opacity:.8}
.apartment-details-link,.detail-information .apartment-facts,.detail-information .amenity-list{color:var(--surface-text)}
.amenity-icon{width:20px;height:20px;flex:0 0 20px;vertical-align:middle}
.amenity-list li{display:flex;align-items:center;gap:7px}
.amenity-checkboxes{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
.amenity-choice{position:relative;display:flex;align-items:center;gap:10px;min-height:64px;padding:12px;border:1px solid var(--line);border-radius:6px;font-size:12px;cursor:pointer;background:#fff;color:#172c34}
.amenity-choice input{width:16px;height:16px;flex-shrink:0;accent-color:var(--brand)}
.amenity-choice .amenity-icon{width:24px;height:24px;flex-basis:24px;color:#526964}
.amenity-choice:has(input:checked){border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,white);box-shadow:inset 0 0 0 1px var(--brand)}
.amenity-choice:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.appearance-preview{margin-top:24px;padding:18px;background:var(--background);border:1px solid var(--line);border-radius:8px}
.appearance-banner{padding:24px;background:var(--primary);color:var(--primary-text);font:24px Georgia,serif}
.appearance-sample{background:var(--surface);color:var(--surface-text);padding:22px;font-size:14px}
.appearance-sample p{font-size:12px}
.appearance-button{display:inline-block;background:var(--primary);color:var(--primary-text);padding:12px;border-radius:4px;font-size:12px}
.appearance-accent{background:var(--accent);color:var(--accent-text);border-radius:50%;display:inline-grid;place-items:center;width:30px;height:30px;margin-left:15px}
[data-form=appearance] input[type=color]{height:48px;padding:4px;cursor:pointer}
[data-color-code]{font:12px monospace;color:var(--muted)}
.language-flags{display:flex;align-items:center;gap:4px}
.language-flags button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid transparent;border-radius:5px;background:transparent;color:inherit;min-width:44px;min-height:47px;padding:5px;cursor:pointer}
.language-flags svg{width:24px;height:18px;border-radius:2px;box-shadow:0 0 0 1px #0002}
.language-flags span{font-size:8px}
.language-flags button[aria-pressed=true]{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface))}
.language-flags button:hover{border-color:var(--line)}
@media(max-width:800px){.site-header{flex-wrap:wrap;gap:14px}.header-links{flex-wrap:wrap;gap:10px;margin-left:auto}.language-flags{order:3;flex-basis:100%;justify-content:flex-end}.language-flags button{min-width:43px}.amenity-checkboxes{grid-template-columns:repeat(2,minmax(0,1fr))}.amenity-choice{gap:7px;padding:10px;font-size:11px}}
@media(max-width:480px){.site-header{gap:12px}.header-links{justify-content:space-between;width:100%;margin:0}.language-flags{flex-basis:auto;order:0;gap:0}.language-flags span{font-size:7px}.language-flags button{min-width:34px;padding:4px}.header-links .language-select{font-size:10px;padding:8px;min-width:0}.header-links #admin-link{font-size:10px}.amenity-choice{flex-wrap:wrap}.amenity-choice span{flex-basis:100%}}

.property-logo{width:80px;height:54px;object-fit:contain}.property-name{max-width:250px;line-height:1.5}.branding-editor{border:1px solid var(--line);border-radius:6px;padding:18px;margin:20px 0}.branding-editor legend{font-size:13px;font-weight:600}.logo-preview{width:160px;height:80px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:8px}.branding-editor .upload-label input{position:absolute;opacity:0;width:100%;inset:0;cursor:pointer}@media(max-width:480px){.property-logo{width:65px;height:42px}.property-name{max-width:230px}}

/* La palette della struttura colora anche i dettagli dell’interfaccia. */
.brand,.amenity-choice .amenity-icon{color:var(--brand)}.brand-mark{border-color:color-mix(in srgb,var(--brand) 40%,var(--surface))}.eyebrow{color:var(--brand)}.nav-button.active{background:var(--brand);color:var(--brand-text)}.gallery-arrow,.gallery-count{background:color-mix(in srgb,var(--brand) 90%,transparent)}.gallery-arrow:hover{background:var(--brand)}.gallery-large .gallery-image,.gallery-thumbnails button{background:var(--sage)}.apartment-dialog::backdrop{background:#241c24bd}.notice.info{background:var(--sage);border-color:var(--line);color:var(--surface-text)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--brand)}
