:root{--navy:var(--color-prime-dark);--blue:var(--color-balk-licht);--gold:var(--color-gold);--paper:var(--color-background);--white:var(--color-white);--muted:var(--color-text-muted);--line:var(--site-border-color);--casa-button:var(--color-buttons);--casa-button-hover:var(--color-buttons-hover);--casa-gold-light:var(--color-gold-light)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--navy);font:16px/1.65 var(--font-body)}
.casa-site h1,.casa-site h2,.casa-site h3{font-family:var(--font-display);font-weight:600;color:var(--navy)}.casa-site .hero h1{color:var(--white)}
.casa-site button,.casa-site input,.casa-site select,.casa-site textarea{font-family:inherit}
a{color:inherit}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none}
.brand-mark{width:43px;height:43px;display:grid;place-items:center;border:2px solid var(--gold);border-radius:50%;font-weight:800}
.brand strong,.brand small{display:block;line-height:1.15}.brand small{letter-spacing:.2em;font-size:.72rem;color:var(--gold);margin-top:4px}
.casa-site .skip-link{position:absolute;top:-100px;left:20px;padding:12px 20px;background:var(--navy);color:#fff;z-index:1000}
.casa-site .skip-link:focus{top:10px}
.language-link{font-weight:700}
.hero{min-height:330px;padding:80px 8vw;display:flex;align-items:center;background:linear-gradient(90deg,rgba(11,29,57,.78),rgba(11,29,57,.15)),url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=85") center 55%/cover;color:#fff}
.hero-inner{max-width:680px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#f1d889;font-size:.78rem;font-weight:700}.hero h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.08;margin:14px 0}.hero p{font-size:1.12rem;max-width:580px}
.section{max-width:1200px;margin:0 auto;padding:58px 24px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:26px}.section h2{font-size:2rem;margin:0}
.property-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.property-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 12px 34px #0b1d3912;display:flex;flex-direction:column}
.property-card img,.property-image{width:100%;height:230px;object-fit:cover;background:#ddd}
.property-card-content{padding:22px;display:flex;flex:1;flex-direction:column}
.property-card h3{margin:0 0 6px;font-size:1.35rem}.location{color:var(--muted);margin:0 0 14px}
.property-specs{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.property-price{margin:16px 0;font-size:1.1rem;font-weight:700}.property-price span{font-size:.85rem;font-weight:400;color:var(--muted)}
.property-night-price{margin:-10px 0 12px;color:var(--muted);font-size:.9rem}
.property-extra-costs{border-top:1px solid var(--line);padding-top:12px;margin:12px 0 18px;font-size:.85rem;overflow-wrap:anywhere}
.property-extra-costs h3{font-size:.95rem;margin:0 0 8px}.property-extra-costs p{margin:6px 0}
.booking-extras{min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;margin:0 0 18px}
.booking-extras legend{font-weight:700}.booking-extras .property-extra-costs h3{display:none}
.booking-cost-summary{padding:12px;background:var(--paper);border-radius:8px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;background:var(--casa-button);color:var(--navy);border:1px solid var(--gold);border-radius:var(--site-control-radius);text-decoration:none;font-weight:600;cursor:pointer}.button:hover{background:var(--casa-button-hover);color:var(--navy)}.property-card .button{margin-top:auto}
.button:disabled{opacity:.55;cursor:not-allowed}.button:disabled:hover{background:var(--casa-button)}
.details-layout{max-width:1140px;margin:40px auto;padding:0 24px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:36px}
.booking-details-layout{width:100%;max-width:none;padding-inline:clamp(24px,4vw,96px);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.booking-details-layout>.details-main,.booking-details-layout>.booking-panel{min-width:0}
.booking-selection-summary{font-size:.82rem;line-height:1.7;color:var(--muted);margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.booking-fields .form-field{min-width:0}.booking-fields input,.booking-fields select{min-width:0;max-width:100%}.booking-fields label{overflow-wrap:anywhere}.house-rules{padding-left:22px;line-height:1.8}
.arrival-clock{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}.arrival-clock>span{font-weight:700}
@media(max-width:900px) and (min-width:761px),(max-width:480px){.booking-fields{grid-template-columns:minmax(0,1fr)}}
.details-main,.booking-panel{background:#fff;border-radius:14px;padding:28px;box-shadow:0 12px 34px #0b1d3912}
.property-details-layout{width:100%;max-width:none;padding-inline:clamp(24px,4vw,96px);grid-template-columns:minmax(0,1fr) clamp(260px,23vw,380px);grid-template-areas:"heading heading" "photos booking" "highlights highlights" "information information";gap:24px}
.property-details-layout>.details-main{grid-area:information;min-width:0;padding:0;background:transparent;box-shadow:none}
.property-details-layout>.booking-panel{grid-area:booking;min-width:0;padding:22px;position:static;border:1px solid var(--line);box-shadow:none;border-radius:8px}
.property-details-layout .description{max-width:75ch}
.property-heading{grid-area:heading;display:flex;align-items:center;justify-content:space-between;gap:24px}
.property-heading h1{margin:8px 0;font-size:clamp(1.6rem,2.2vw,2.5rem);line-height:1.2}
.property-heading .location{margin-bottom:0;font-size:.9rem}
.property-heading .location i,.property-heading .location a{color:var(--blue)}
.property-back-link{font-size:.8rem;color:var(--muted);text-decoration:none}
.property-photo-section{grid-area:photos;min-width:0}
.property-highlights{grid-area:highlights}
.property-highlights h2{margin:0 0 14px;font-size:1.25rem}
.property-highlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.property-highlight-grid a{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;text-decoration:none;font-size:.9rem}
.property-highlight-grid i{color:var(--blue);font-size:1.25rem}
.property-stay-summary{list-style:none;margin:20px 0;padding:16px 0;border-top:1px solid var(--line);display:grid;gap:8px;font-size:.9rem}
.property-stay-summary i{width:24px;color:var(--blue)}
.property-mini-location{position:relative;margin:16px -8px -8px}
.property-mini-location .casa-map{min-height:190px;height:190px}
.property-mini-location>.button{position:absolute;z-index:1;bottom:30px;left:50%;transform:translateX(-50%);white-space:nowrap;min-height:36px;padding:6px 14px;font-size:.85rem}
.property-details-layout #property-location,.property-details-layout #property-amenities{scroll-margin-top:115px}
.property-photo-empty{min-height:350px;display:grid;place-items:center;background:#e7e9e5;border-radius:8px;color:var(--muted)}
.details-main .property-image{height:420px;border-radius:10px}.details-main h1{font-size:2.1rem;line-height:1.2}.description{white-space:pre-line}.features{display:flex;gap:10px;flex-wrap:wrap;padding:0;list-style:none}.features li{padding:7px 12px;background:var(--paper);border-radius:20px}
.property-facts{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 28px}
.property-facts span{padding:10px 16px;border:1px solid var(--line);border-radius:9px;background:#fbfaf7;color:var(--muted)}
.property-facts strong{color:var(--navy);font-size:1.1rem}
.booking-panel{align-self:start;position:sticky;top:20px}.booking-panel h2{margin-top:0}.form-field{margin:0 0 15px}.form-field label{display:block;font-weight:650;margin-bottom:5px}.form-field input,.form-field select{width:100%;padding:11px;border:1px solid #ccd1d8;border-radius:6px;font:inherit}.form-check{display:flex;gap:9px;margin:18px 0;align-items:flex-start}.form-error{padding:12px 16px;background:#ffebe9;border-left:4px solid #bd3028;color:#76251f;margin:18px 0}.form-success{padding:12px 16px;background:#e8f7ee;border-left:4px solid #328c54}
.calendar-widget{margin-top:25px;padding:18px;border:1px solid var(--line);border-radius:10px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-toolbar button{width:38px;height:36px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);font-size:1.1rem;cursor:pointer}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(28px,1fr));gap:5px;text-align:center}.calendar-weekday{font-size:.72rem;color:var(--muted);font-weight:700;padding:4px 0}.calendar-day{padding:7px 2px;border-radius:5px;font-size:.9rem}.calendar-empty{min-height:32px}.is-free{background:#e7f3e9;color:#26723b}.is-blocked{background:#f5e5e3;color:#8b3832;text-decoration:line-through}
.price-quote{margin:18px 0;padding:14px;border-radius:8px;background:var(--paper)}.price-quote>div{display:flex;justify-content:space-between;gap:10px}.price-quote dt{font-weight:600}.price-quote dd{margin:0;font-weight:700}.price-quote p{margin:0;color:var(--muted);font-size:.9rem}
.admin-property{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin:16px 0}.admin-property summary{cursor:pointer}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;margin:18px 0}.admin-form label{display:flex;flex-direction:column;gap:4px;font-weight:650}.admin-form input,.admin-form textarea,.admin-form select{width:100%;padding:9px;border:1px solid #ccd1d8;border-radius:5px;font:inherit}.admin-form .wide{grid-column:1/-1}.admin-inline-actions{display:flex;gap:10px;flex-wrap:wrap}.button-light{background:#e8ebef;color:var(--navy)}.button-light:hover{background:#dce1e7}
.calendar-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.calendar-month h3{font-size:1rem;text-align:center;margin:0 0 12px}.calendar-month .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-day{border:0;font:inherit;font-size:.85rem;cursor:pointer;min-height:34px}.calendar-day:disabled{cursor:not-allowed}.calendar-day.is-selected{background:var(--navy);color:#fff;text-decoration:none}.calendar-day:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media(max-width:1100px){.calendar-months{grid-template-columns:minmax(0,1fr)}}
.calendar-note,.muted{color:var(--muted);font-size:.9rem}.empty-state{padding:48px;background:#fff;border-radius:12px;text-align:center}
.reservation-details{width:100%;max-width:none;padding-inline:clamp(24px,4vw,96px);margin-inline:auto}.personal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.personal-fields .form-field{min-width:0}.personal-fields input,.personal-fields select{width:100%;min-width:0}.reservation-personal-form{margin-top:24px}.reservation-personal-form fieldset{margin:24px 0}.guest-identity-list{display:grid;gap:16px}.guest-identity-list dt{font-weight:700}.guest-identity-list dd{margin:0 0 10px;overflow-wrap:anywhere}
.seasonal-admin{margin:24px 0;padding:20px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--site-panel-radius);background:var(--paper)}.seasonal-row{padding:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--site-control-radius)}.seasonal-row label{min-width:0}.seasonal-row input{width:100%;min-width:0}
@media(max-width:600px){.seasonal-row.admin-form{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.personal-fields{grid-template-columns:minmax(0,1fr)}}
.amenity-picker{min-width:0;margin:8px 0 16px;padding:18px;border:1px solid var(--line);border-radius:10px;background:#fbfaf7}
.amenity-picker>legend{padding:0 8px;font-size:1.05rem;font-weight:750}
.amenity-category{min-width:0;margin:12px 0 0;padding:14px;border:1px solid #e7e3d8;border-radius:8px;background:#fff}
.amenity-category>legend{padding:0 7px;color:var(--navy);font-size:.92rem;font-weight:700}
.amenity-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.admin-form .amenity-option{min-height:42px;display:flex;flex-direction:row;align-items:center;gap:10px;padding:8px 10px;border:1px solid #ebe8e1;border-radius:7px;background:#fff;font-size:.9rem;font-weight:500;cursor:pointer}
.admin-form .amenity-option:hover{border-color:var(--gold)}
.admin-form .amenity-option input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:var(--blue)}
.property-amenities-section{margin-top:28px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:9px}
.property-amenities-section>h2{margin:0 0 8px}
.amenity-display{columns:3;column-gap:36px;margin-top:24px}
.amenity-display-group{break-inside:avoid;min-width:0;margin-bottom:26px}
.amenity-display-group h3{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:1rem}
.amenity-display-group h3 i{width:22px;flex-shrink:0;color:var(--blue);text-align:center}
.amenity-display-group .features{display:block;margin:0;padding:0}
.amenity-display-group .features li{display:flex;align-items:baseline;gap:10px;padding:5px 0;background:transparent;border-radius:0;font-size:.9rem;overflow-wrap:anywhere}
.amenity-display-group .features li i{flex-shrink:0;width:16px;color:#26723b;font-size:.8rem}
@media(max-width:1050px){.amenity-display{columns:2;column-gap:24px}}
@media(max-width:600px){.property-amenities-section{padding:18px}.amenity-display{columns:1}}
.property-listing-action{display:flex;justify-content:center;margin-top:52px}
.homes-page>.section-heading{align-items:center}
.homes-page>.section-heading h1{margin:0;font-size:2rem}
.property-filters{margin:0 0 28px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 28px #0b1d390c}
.property-filters>h2{margin:0 0 18px;font-size:1.35rem}
.property-filter-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px}
.property-filter-fields>label{display:flex;flex-direction:column;gap:5px;font-size:.9rem;font-weight:650}
.property-filter-fields input{width:100%;min-height:43px;padding:9px 11px;border:1px solid #ccd1d8;border-radius:6px;background:#fff;color:var(--navy);font:inherit}
.listing-amenity-picker{margin:18px 0 12px}
.listing-amenity-dropdowns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}
.listing-amenity-dropdown{position:relative;min-width:0}
.listing-amenity-dropdown[open]{z-index:20}
.listing-amenity-dropdown summary{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 12px;border:1px solid #ccd1d8;border-radius:7px;background:#fff;font-size:.9rem;font-weight:650;cursor:pointer;list-style:none}
.listing-amenity-dropdown summary::-webkit-details-marker{display:none}
.listing-amenity-dropdown summary>span:first-child{flex:1}
.listing-amenity-dropdown summary>i{font-size:.75rem}
.listing-amenity-dropdown[open] summary>i{transform:rotate(180deg)}
.listing-amenity-count{padding:1px 7px;border-radius:12px;background:var(--navy);color:#fff;font-size:.75rem}
.listing-amenity-options{position:absolute;top:calc(100% + 5px);left:0;right:0;max-height:240px;overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 28px #0b1d3926}
.listing-amenity-options .amenity-option{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px;border-radius:5px;font-size:.9rem;cursor:pointer}
.listing-amenity-options .amenity-option:hover{background:var(--paper)}
.listing-amenity-options input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:var(--blue)}
.listing-amenity-dropdown summary:focus-visible,.listing-amenity-options .amenity-option:focus-within{outline:2px solid var(--blue);outline-offset:2px}
.property-filter-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.listing-result-count{margin:0 0 16px;color:var(--muted);font-size:.9rem}
.property-nearby-section{margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.property-nearby-section h2{margin:0 0 8px}
.property-nearby-section>p,.casa-map-editor>p{color:var(--muted);font-size:.92rem}
.casa-map{width:100%;min-height:360px;border:1px solid var(--line);border-radius:10px;background:#e7e9e5;z-index:0}
.casa-admin-map{min-height:420px}
.nearby-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}
.nearby-category{min-width:0;padding:18px;background:#fff;border:1px solid var(--line);border-radius:9px}
.nearby-category h3{margin:0 0 8px;font-size:1rem}
.nearby-category h3 i{margin-right:6px;color:var(--blue)}
.nearby-category li>span:first-child{min-width:0;overflow-wrap:anywhere}
.nearby-empty{padding:18px;background:#fff;border:1px solid var(--line);border-radius:9px}
.nearby-category ul{list-style:none;padding:0;margin:0}
.nearby-category li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:.9rem}
.nearby-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.nearby-metrics strong{white-space:nowrap}
.nearby-metrics small{color:var(--muted);font-size:.76rem;line-height:1.3}
.casa-map-editor{margin:10px 0 20px;padding:16px;border:1px solid var(--line);border-radius:9px;background:#fbfaf7}
.casa-map-editor>legend{padding:0 8px;font-weight:750}
.nearby-admin{margin:24px 0;padding:18px;border:1px solid var(--line);border-radius:9px;background:#fbfaf7}
.nearby-admin h3{margin-top:0}
.nearby-editor-row{margin-bottom:16px;padding:14px;border:1px solid var(--line);border-radius:8px}
@media(max-width:600px){.casa-map-editor .admin-form{grid-template-columns:minmax(0,1fr)}.casa-admin-map{min-height:320px}}
.nearby-admin p{color:var(--muted)}
@media(max-width:760px){.property-filters{padding:18px}.property-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.homes-page>.section-heading h1{font-size:1.7rem}}
@media(max-width:480px){.property-filter-fields{grid-template-columns:1fr}.property-filter-actions{align-items:stretch;flex-direction:column}.property-filter-actions .button{text-align:center}}
@media(max-width:760px){.hero{min-height:290px;padding:54px 24px}.details-layout{grid-template-columns:1fr;margin-top:24px}.booking-panel{position:static}.details-main .property-image{height:260px}.section-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.booking-details-layout{padding-inline:14px;grid-template-columns:minmax(0,1fr)}.booking-details-layout>.details-main,.booking-details-layout>.booking-panel{min-width:0;padding:16px}.booking-details-layout .calendar-widget{padding:10px}.booking-details-layout .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.booking-details-layout .form-field input,.booking-details-layout .form-field select{min-width:0}}
.casa-header{font-family:var(--font-body)}
.casa-nav-wrap{width:100%;gap:24px}
.casa-brand{gap:12px;flex-shrink:0}
.casa-brand{position:relative;z-index:2;text-decoration:none}
.casa-brand .brand-logo{display:block;width:auto;height:86px;max-height:86px;object-fit:contain}
.casa-brand .casa-logo-mark{height:86px}
.casa-header .casa-brand .brand-name{display:flex;flex-direction:column;line-height:1}
.casa-brand .brand-name small{margin-top:4px;color:var(--gold);font:700 .82em "Cormorant Garamond",Georgia,serif;letter-spacing:.12em;text-transform:none}
.casa-main-nav{position:relative;z-index:2;flex-wrap:nowrap;gap:clamp(12px,1.5vw,22px)}
.casa-main-nav>a{white-space:nowrap}
.casa-install-button{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:10px 14px;border:1px solid var(--gold);border-radius:8px;background:var(--casa-gold-light);color:var(--navy);font:inherit;font-size:.8rem;cursor:pointer;white-space:nowrap}
.casa-install-button:hover{background:var(--gold)}
.casa-install-button:disabled{opacity:.65;cursor:not-allowed}
.casa-site .casa-header{background:var(--casa-header-background)}
.casa-site .casa-header .header-actions{margin-left:auto}
.casa-site .casa-header .nav-toggle{display:none}
.casa-site [hidden]{display:none!important}
.casa-site .casa-header .casa-main-nav{display:flex}
.casa-site .casa-header .casa-main-nav>a:first-child{display:flex}
.casa-site .casa-header.is-compact .casa-nav-wrap{gap:12px}
.casa-site .casa-header.is-compact .nav-toggle:not([hidden]){display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;gap:5px;padding:.4rem;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--navy);cursor:pointer}
.casa-site .casa-header .nav-toggle>span{display:block;width:24px;height:2px;background:var(--gold)}
.casa-site .casa-header.is-compact .casa-main-nav{position:absolute;z-index:22;top:calc(100% + 1rem);left:1.5rem;right:1.5rem;width:auto;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:.2rem;padding:.75rem;max-height:calc(100dvh - 150px);overflow-y:auto;background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 32px rgba(var(--rgb-brand-dark),.14)}
.casa-site .casa-header.is-compact .casa-main-nav:not(.open){display:none}
.casa-site .casa-header.is-compact .casa-main-nav>a{display:flex;min-height:44px;padding:.65rem .75rem;border-radius:9px;font-size:.84rem;white-space:normal}
.casa-site .casa-header.is-compact .casa-install-button{align-self:flex-start;justify-content:flex-start;min-height:44px;padding:.65rem .75rem;font-size:.84rem;white-space:normal}
.casa-site .casa-header.is-compact .casa-main-nav .nav-call,.casa-site .casa-header.is-compact .casa-main-nav .nav-login{justify-content:flex-start;align-self:flex-start;width:auto;max-width:100%}
.casa-site .casa-header .casa-main-nav>a:hover,.casa-site .casa-header .casa-main-nav>a.active{background:transparent;color:var(--gold)}
.casa-site .casa-install-button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.casa-install-dialog{width:min(480px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow-y:auto;padding:28px;border:1px solid var(--gold);border-radius:12px;background:var(--paper);color:var(--navy)}
.casa-install-dialog::backdrop{background:#0b1d3980}
.casa-install-dialog h2{font-size:1.8rem}
.casa-install-steps{list-style:none;padding:0;counter-reset:install-step}
.casa-install-steps li{counter-increment:install-step;position:relative;padding-left:48px;margin-bottom:20px}
.casa-install-steps li::before{content:counter(install-step);position:absolute;left:0;top:0;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--casa-gold-light);color:var(--navy);font-weight:600}
.casa-install-steps strong,.casa-install-steps span{display:block}
.casa-install-steps span{margin-top:6px}
.casa-site .casa-header.is-compact .lang-switch{border-left:0;padding-left:0;align-self:flex-start}
.casa-site .casa-header.is-compact .lang-current{min-height:44px}
.casa-site .casa-header.is-compact .lang-options{position:static;box-shadow:none}
.casa-site :focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.casa-site .form-error,.casa-site .form-success,.casa-site .form-warning,.casa-site .form-info{padding:14px 18px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--site-control-radius);margin:18px 0;font-size:.9rem;line-height:1.65;overflow-wrap:anywhere}
.casa-site .form-error{background:rgba(var(--rgb-danger),.1);border-left-color:var(--color-danger);color:var(--color-danger-dark)}
.casa-site .form-success{background:rgba(var(--rgb-success),.12);border-left-color:var(--color-success);color:var(--color-success-dark)}
.casa-site .form-warning{background:var(--color-gold-pale);border-left-color:var(--gold);color:var(--navy)}
.casa-site .form-info{background:var(--color-info-background);border-left-color:var(--blue);color:var(--navy)}
.casa-site .form-error:empty{display:none}
.casa-site .form-field input,.casa-site .form-field select,.casa-site .admin-form input,.casa-site .admin-form select,.casa-site .admin-form textarea{border-color:var(--line);border-radius:var(--site-control-radius);background:var(--white);color:var(--navy)}
.casa-site .calendar-day.is-free{background:rgba(var(--rgb-success),.12);color:var(--color-success-dark)}
.casa-site .calendar-day.is-blocked{background:rgba(var(--rgb-danger),.1);color:var(--color-danger-dark)}
.casa-site .calendar-day.is-selected{background:var(--navy);color:var(--white)}
.casa-site .booking-cost-summary,.casa-site .price-quote{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--gold)}
.casa-site .booking-price-box{margin:18px 0;padding:16px;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--site-control-radius)}
.casa-site .booking-price-box .price-quote,.casa-site .booking-price-box .booking-cost-summary{margin:0;padding:0;border:0;border-radius:0;background:transparent}
.casa-service-area{width:100%;align-self:stretch;margin:0;max-width:none;padding:var(--home-notice-wave-clearance) 24px 10px;text-align:center;background:var(--home-notice-background);font-size:.88rem;font-weight:600}
.casa-service-area i{color:#1d4d7e}
.casa-footer{background:linear-gradient(135deg,#0b1d39 0%,#172f50 100%);color:#ffffffc2;padding:1rem;text-align:center;line-height:1.6;margin-top:auto}
.casa-footer .footer-wrap{max-width:1200px;margin:0 auto}
.casa-footer .footer-brand{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:1.75rem;color:#f1d889;margin-bottom:.6rem}
.casa-footer .footer-brand-heading{display:flex;align-items:center;gap:.75rem}
.casa-footer .footer-logo{display:block;width:auto;height:52px}
.casa-footer .footer-brand-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.casa-footer .footer-brand-name{margin:0;color:#f1d889;font:700 1.5rem/1.1 "Cormorant Garamond",Georgia,serif}
.casa-footer .footer-slogan{margin:.1rem 0 0;color:#f5f3eecc;font-size:.85rem;line-height:1.2}
.casa-footer .footer-legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin:.35rem 0;font-size:.85rem}
.casa-footer .footer-legal-links a{color:#f1d889;text-decoration:underline;text-underline-offset:.2em}
.casa-footer .footer-socials{display:flex;justify-content:center;gap:.85rem}
.casa-footer .footer-socials a{display:grid;place-items:center;width:34px;height:34px;border:1px solid #e4cfa08c;border-radius:50%;color:#f1d889;text-decoration:none}
.casa-footer .footer-copy{margin-block:1em;font-size:.8rem;opacity:.7}
.property-gallery{display:grid;gap:10px;margin-bottom:24px}
.property-gallery-main{position:relative;display:block;width:100%;height:420px;padding:0;overflow:hidden;border:0;border-radius:10px;background:#ddd;cursor:zoom-in}
.property-gallery-main img{display:block;width:100%;height:100%;object-fit:cover}
.property-details-layout .property-gallery{grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:repeat(2,clamp(150px,13vw,260px)) auto;gap:8px;margin:0}
.property-details-layout .property-gallery-main{grid-column:1/-1;grid-row:1/3;height:100%;border-radius:6px}
.property-details-layout .has-side-photos .property-gallery-main{grid-column:1}
.property-gallery-side{display:block;min-width:0;min-height:0;padding:0;border:0;border-radius:6px;overflow:hidden;background:#ddd;cursor:zoom-in}
.property-gallery-side img{display:block;width:100%;height:100%;object-fit:cover}
.property-gallery-side-1{grid-column:2;grid-row:1}
.property-gallery-side-2{grid-column:2;grid-row:2}
.has-two-photos .property-gallery-side-1{grid-row:1/3}
.property-details-layout .property-gallery-thumbnails-wrap{grid-column:1/-1;grid-row:3}
.property-details-layout .property-gallery-thumbnails{grid-auto-columns:calc((100% - 32px)/5);gap:8px;padding:0;overflow:visible}
.property-details-layout .property-gallery-thumbnail{position:relative;height:clamp(70px,7vw,130px);border-radius:5px}
.property-more-photos{position:absolute;inset:0;display:grid;place-items:center;background:#0b1d398c;color:#fff;font-size:.9rem;font-weight:700}
@media(min-width:761px) and (max-width:1050px){
    .property-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
    .property-details-layout{padding-inline:14px;grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "photos" "booking" "highlights" "information";gap:20px}
    .property-details-layout>.booking-panel{position:static}
    .property-heading{align-items:flex-start;flex-direction:column;gap:14px}
    .property-heading>.button{width:100%}
    .property-details-layout .property-gallery{grid-template-rows:repeat(2,clamp(110px,22vw,170px)) auto}
    .property-details-layout .property-gallery-thumbnails{grid-auto-columns:calc((100% - 16px)/3);overflow-x:auto}
    .property-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .property-highlight-grid a{padding:12px;gap:8px;font-size:.82rem}
}
.property-gallery-count{position:absolute;right:14px;bottom:14px;padding:5px 10px;border-radius:20px;background:#0b1d39c9;color:#fff;font-size:.85rem}
.property-gallery-thumbnails-wrap{position:relative;min-width:0}
.property-gallery-thumbnails{display:grid;grid-auto-columns:calc((100% - 20px)/3);grid-auto-flow:column;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) var(--paper);padding:0 1px 7px}
.property-gallery-thumbnail{height:120px;min-width:0;padding:0;overflow:hidden;border:2px solid transparent;border-radius:8px;background:#ddd;cursor:zoom-in;scroll-snap-align:start}
.property-gallery-thumbnail.is-active{border-color:var(--gold)}
.property-gallery-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}
.property-gallery-thumbnail:focus-visible,.property-gallery-main:focus-visible,.property-gallery-scroll:focus-visible,.property-gallery-dialog button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.property-gallery-scroll{position:absolute;top:50%;z-index:1;display:grid;width:36px;height:36px;place-items:center;transform:translateY(-60%);border:1px solid #fff;border-radius:50%;background:#0b1d39c9;color:#fff;cursor:pointer}
.property-gallery-scroll-prev{left:8px}
.property-gallery-scroll-next{right:8px}
.property-gallery-dialog{position:fixed;width:min(1100px,calc(100% - 32px));max-width:none;max-height:calc(100% - 32px);padding:48px 58px 14px;border:0;border-radius:12px;background:#101a2a;color:#fff;overflow:visible}
.property-gallery-dialog::backdrop{background:#071225e8}
.property-gallery-dialog-image{display:block;width:100%;height:min(76vh,780px);object-fit:contain}
.property-gallery-dialog-caption{margin:10px 0 0;text-align:center;font-size:.9rem}
.property-gallery-dialog button{position:absolute;z-index:1;display:grid;width:42px;height:42px;place-items:center;border:1px solid #ffffff80;border-radius:50%;background:#0b1d39cc;color:#fff;font-size:1.2rem;cursor:pointer}
.property-gallery-dialog-close{top:8px;right:8px}
.property-gallery-dialog-control{top:50%;transform:translateY(-50%)}
.property-gallery-dialog-prev{left:8px}
.property-gallery-dialog-next{right:8px}
.admin-property-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.admin-property-choice{min-height:110px;display:flex;align-items:center;gap:14px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;box-shadow:0 8px 24px #0b1d390c;transition:transform .16s ease,box-shadow .16s ease}
.admin-property-choice:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0b1d3919}
.admin-property-choice>img,.admin-property-placeholder{width:104px;height:84px;flex:0 0 104px;object-fit:cover;border-radius:8px;background:#e9e6de}
.admin-property-placeholder{display:grid;place-items:center;color:var(--navy);font-weight:700;font-size:1.25rem}
.admin-property-choice>span:last-child{display:flex;flex-direction:column;gap:5px}
.admin-property-choice small{color:var(--muted)}
.admin-property-add{border-style:dashed}
.admin-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:14px 0 22px}
.admin-photo-grid figure{margin:0;padding:8px;background:var(--paper);border-radius:8px}
.admin-photo-grid img{display:block;width:100%;height:130px;object-fit:cover;border-radius:6px}
.admin-photo-grid form{margin-top:8px}
.admin-photo-grid .button{width:100%;min-height:38px;padding:7px;font-size:.82rem}
.admin-photo-grid figcaption{padding-top:8px;color:var(--muted);font-size:.85rem}
@media(max-width:760px){
    .casa-header{padding:0}
    .casa-nav-wrap{height:58px;min-height:58px;gap:10px;padding:0 14px;align-items:center}
    .casa-brand{gap:7px}
    .casa-brand .brand-logo,.casa-brand .casa-logo-mark{width:auto;height:52px;max-height:52px;max-width:82px}
    body.casa-site .casa-header .casa-logo-mark{height:52px!important}
    .casa-site .casa-brand .brand-name{display:flex;max-width:145px;font-size:.95rem;letter-spacing:.01em}
    .casa-brand .brand-name small{font-size:.82em}
    .casa-site .casa-header.is-compact .casa-main-nav{left:.85rem;right:.85rem}
    .casa-main-nav>a{display:flex;align-items:center}
    .casa-header .home-header-wave{height:var(--home-wave-height)}
    .casa-service-area{padding:var(--home-notice-wave-clearance) 14px 10px}
    .casa-footer .footer-brand{flex-wrap:wrap;gap:.75rem}
    .casa-footer .footer-logo{width:auto;height:42px}
    .casa-footer .footer-brand-name{font-size:1.2rem}
    .casa-footer .footer-slogan{font-size:.68rem}
    .casa-footer .footer-socials{gap:.45rem}
    .casa-footer .footer-socials a{width:30px;height:30px}
    .property-gallery-main{height:250px}
    .property-gallery-thumbnails{grid-auto-columns:calc((100% - 14px)/3);gap:7px}
    .property-gallery-thumbnail{height:82px}
    .property-gallery-scroll{width:32px;height:32px}
    .property-gallery-dialog{width:calc(100% - 16px);max-height:calc(100% - 16px);padding:48px 40px 12px}
    .property-gallery-dialog-image{height:min(72vh,680px)}
    .property-gallery-dialog button{width:36px;height:36px}
    .amenity-options{grid-template-columns:1fr}
    .casa-footer .footer-legal-links{flex-direction:column;gap:10px}
}
