:root{--ink:#163448;--muted:#536775;--line:#d8e1e6;--paper:#f4f7f8;--accent:#165b70;--soft:#e9f2f4;--white:#fff;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:16px;background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}:focus-visible{outline:3px solid #cf7a25;outline-offset:4px}.preview-bar{padding:10px 4%;display:flex;justify-content:space-between;gap:12px;background:#173449;color:white;font-size:.875rem}.header{padding:25px 4%;background:white;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.header>a:last-child{font-size:.9rem;text-decoration:none}.brand{font-family:Georgia,serif;text-decoration:none;font-size:1.55rem}.brand strong{font-weight:normal}.brand small{display:block;font: .7rem "Segoe UI",sans-serif;letter-spacing:.16em;margin-top:6px}main{max-width:1320px;margin:0 auto;padding:36px 32px 48px}.intro{margin-bottom:24px}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:700;color:var(--accent);margin:0 0 12px}h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);font-weight:normal;line-height:1.12;margin:0 0 12px}p{line-height:1.55}.intro>p:last-child{margin:0;color:var(--muted)}.search{background:white;border:1px solid var(--line);padding:20px;display:grid;grid-template-columns:1.25fr 1.25fr .7fr .7fr 1.55fr;gap:14px;align-items:end;box-shadow:0 8px 24px #16344808}.search label{font-size:.875rem;font-weight:600}.search input,.search select{display:block;min-width:0;width:100%;min-height:48px;padding:10px;margin-top:8px;border:1px solid #aebec8;border-radius:3px;background:white;color:var(--ink)}.primary,.secondary{min-height:48px;border:0;border-radius:3px;padding:12px 18px;font-weight:600}.primary{background:var(--accent);color:white}.primary:hover{background:#10495a}.secondary{background:var(--soft);color:var(--ink)}.status{min-height:25px;margin:16px 0;color:var(--muted)}.status.error{color:#a32c28}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}.results-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:16px}.results-head h2{font-size:1.1rem;margin:0}.results-head p{font-size:.875rem;color:var(--muted);margin:0}.results{display:grid;gap:18px}.room{background:white;border:1px solid var(--line);display:grid;grid-template-columns:42% minmax(0,1fr);overflow:hidden;border-radius:4px}.room.selected{outline:2px solid var(--accent)}.room-image{width:100%;height:100%;min-height:250px;object-fit:cover}.room-placeholder{display:flex;align-items:center;justify-content:center;background:var(--soft);min-height:220px;color:var(--muted)}.room-body{padding:24px;display:flex;flex-direction:column}.room-code{font-size:.75rem;font-weight:600;letter-spacing:.08em;color:var(--muted);margin:0 0 8px}.room h3{font-family:Georgia,serif;font-size:1.5rem;font-weight:normal;line-height:1.2;margin:0 0 14px}.room-features{color:var(--muted);font-size:.9rem;margin:0 0 20px}.price-line{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto}.price-line strong{font-size:1.65rem}.price-line small{display:block;font-size:.8rem;color:var(--muted);margin:5px 0}.room button{margin-top:16px;width:100%}.summary{position:sticky;top:20px;background:white;border:1px solid var(--line);border-top:4px solid var(--accent);padding:24px;border-radius:3px}.summary h2{font-family:Georgia,serif;font-weight:normal;font-size:1.55rem;line-height:1.2;margin:0 0 16px}.summary p{color:var(--muted);font-size:.9rem}.summary-note{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.summary-note strong{font-size:.9rem}.summary-note p{margin-bottom:0}.breakdown{margin:20px 0}.breakdown div{display:flex;justify-content:space-between;gap:15px;margin:12px 0;font-size:.9rem}.breakdown dd{margin:0;white-space:nowrap}.breakdown .total{border-top:1px solid var(--line);padding-top:16px;font-size:1.15rem;font-weight:700}.summary button{width:100%}.daily{font-size:.875rem;margin-top:20px}.daily table{width:100%;border-collapse:collapse;margin-top:12px}.daily td,.daily th{text-align:right;border-bottom:1px solid var(--line);padding:8px 3px}.daily td:first-child,.daily th:first-child{text-align:left}.empty{padding:40px 28px;background:white;border:1px solid var(--line)}.empty h3{font-family:Georgia,serif;font-size:1.5rem;font-weight:normal;margin-top:0}.empty p{color:var(--muted)}.audit{border-top:1px solid var(--line);margin-top:36px;padding-top:20px;font-size:.875rem;color:var(--muted)}summary{cursor:pointer;font-weight:600}.audit ul{columns:2;padding-left:20px;line-height:1.8}footer{padding:25px 4%;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted);background:white}[hidden]{display:none!important}@media(max-width:1000px){.search{grid-template-columns:1fr 1fr 1fr 1fr}.search button{grid-column:1/-1}.workspace{grid-template-columns:minmax(0,1fr) 280px}.room{grid-template-columns:1fr}.room-image{height:230px;min-height:0}.room-body{padding:20px}}@media(max-width:700px){.preview-bar{display:block;font-size:.8rem}.preview-bar span{display:block;margin-top:4px}.header{padding:20px}.header>a:last-child{max-width:100px;text-align:right}main{padding:28px 16px}.search{grid-template-columns:1fr 1fr;padding:16px;gap:12px}.workspace{grid-template-columns:1fr}.summary{position:static}.results-head{display:block}.results-head p{margin-top:8px}.room-image{height:235px}.audit ul{columns:1}footer{flex-direction:column;gap:10px}.brand{font-size:1.3rem}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}
.gallery{min-width:0;position:relative;background:var(--soft);display:flex;flex-direction:column}.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;min-width:0}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;overflow:hidden}.gallery-slide .room-image{display:block;width:100%;height:100%;min-height:270px;object-fit:cover}.gallery-slide .room-placeholder{height:100%;padding:24px;text-align:center}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:8px;background:#fff;border-top:1px solid var(--line)}.room .gallery-controls button{width:44px;height:44px;min-height:44px;margin:0;padding:0;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);font-size:1.8rem;line-height:1}.gallery-controls span{min-width:48px;text-align:center;font-size:.85rem}.gallery-controls button:hover{background:var(--soft)}@media(max-width:1000px){.gallery-track{flex:none}.gallery-slide .room-image{height:235px;min-height:0}}
.checkout{margin-top:32px;background:white;border:1px solid var(--line);padding:28px;scroll-margin-top:20px}.checkout h2{font-family:Georgia,serif;font-weight:normal;font-size:1.8rem}.checkout-options{padding:16px;background:var(--soft);margin-bottom:24px}.checkout-form{max-width:720px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkout-form h3,.checkout-form p,.checkout-form button{grid-column:1/-1}.checkout-form label{display:grid;gap:8px}.checkout-form input{width:100%;min-width:0;padding:12px;border:1px solid #aebec8;border-radius:3px;font:inherit}.checkout-notice{font-size:.875rem;color:var(--muted)}.checkout-total{font-weight:600}.meal-choice{display:flex;align-items:center;gap:12px;padding:10px 0}.meal-choice input{width:22px;height:22px}.checkout-review{max-width:720px}.checkout-review button{display:block;margin-top:18px}.checkout-review strong{display:block;font-size:1.4rem;margin:24px 0}@media(max-width:700px){.checkout{padding:20px}.checkout-form{grid-template-columns:1fr}}
.gallery-controls{position:absolute;inset:0;justify-content:space-between;padding:12px;background:none;border:0;pointer-events:none}.room .gallery-controls button{pointer-events:auto;background:rgba(255,255,255,.94);box-shadow:0 2px 10px #0003;border:0}.room .gallery-controls button:disabled{opacity:.45}.meal-ages{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}.meal-ages label{display:grid;gap:8px}.meal-ages select{min-height:44px;padding:10px;border:1px solid #aebec8;background:white;border-radius:3px}
.stay-offer{background:#fff5ce;border-left:3px solid #b47a16;padding:10px 12px;margin:0 0 14px;color:#66440d}.offer-badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em}.stay-offer p{margin:5px 0;font-size:.9rem}.stay-offer del{color:#70695b}.stay-offer small{font-size:.8rem}.room.has-offer{border-color:#cfa856}
.treatment-field{display:grid;gap:8px;max-width:100%;min-width:0}.treatment-field select{display:block;width:100%;max-width:100%;min-width:0;min-height:44px;padding:10px 36px 10px 12px;border:1px solid #aebec8;border-radius:3px;background-color:white;color:var(--ink)}.checkout-total{grid-column:1/-1;font-weight:400;min-width:0}.checkout-price{border:1px solid var(--line);border-top:3px solid var(--accent);padding:18px;background:white}.checkout-price h3{margin:0 0 14px}.checkout-price .breakdown{margin:0}.checkout-price .total{font-size:1.2rem}.checkout-price .breakdown dt{min-width:0}.checkout-price .breakdown dd{text-align:right}.checkout-review .stay-offer strong{display:inline;font-size:inherit;margin:0}.checkout-options{min-width:0}
.booking-consent{display:flex;align-items:flex-start;gap:12px;margin:20px 0;line-height:1.5}.booking-consent input{width:20px;height:20px;flex-shrink:0;margin-top:3px}
/* Guest date-range picker */
.search.search-calendar{grid-template-columns:1fr 1fr 1.4fr;border-radius:16px;padding:24px;gap:18px}.date-range{grid-column:1/-1;min-width:0;border-bottom:1px solid var(--line);padding-bottom:20px}.range-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.range-heading .eyebrow{font-size:.65rem;margin-bottom:6px}.range-heading h2{font:normal 1.7rem Georgia,serif;margin:0}.range-nights{background:var(--soft);color:var(--accent);border-radius:30px;padding:8px 16px;font-size:.85rem;white-space:nowrap}.range-selection{display:flex;align-items:center;gap:14px;max-width:580px;margin:0 auto 14px}.search .range-selection button{grid-column:auto;flex:1;min-width:0;text-align:left;padding:12px 18px;border:1px solid var(--line);border-radius:10px;background:#fafcfc;color:var(--ink)}.range-selection button span{display:block;color:var(--muted);font-size:.75rem;margin-bottom:5px}.range-selection button strong{font-size:1rem}.search .range-selection .is-active{border-color:var(--accent);box-shadow:inset 0 -3px var(--accent);background:var(--soft)}.range-arrow{color:var(--muted)}.range-navigation{display:flex;justify-content:space-between;align-items:center;gap:10px}.range-navigation p{font-size:.8rem;color:var(--muted);text-align:center;margin:8px}.search .range-navigation button{grid-column:auto;flex-shrink:0;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--accent);font-size:1.8rem;line-height:1}.range-months{display:grid;grid-template-columns:1fr 1fr;gap:42px;max-width:850px;margin:auto}.range-month{min-width:0}.range-month h3{text-align:center;text-transform:capitalize;font-size:1rem;font-weight:600;margin:4px 0 16px}.range-week,.range-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:5px 0}.range-week{font-size:.7rem;color:var(--muted);margin-bottom:8px}.range-week span:nth-last-child(-n+2){color:#8b6542}.search .range-day{grid-column:auto;min-width:0;width:100%;height:40px;border:0;background:none;border-radius:7px;color:var(--ink);font-size:.9rem;position:relative}.search .range-day:hover:not(:disabled){background:#dcebef}.search .range-day:disabled{color:#aeb7bd;opacity:.55}.search .range-between{background:#e6f0ef;border-radius:0}.search .range-start,.search .range-end{background:var(--accent);color:white;font-weight:700;border-radius:7px}.search .range-start:hover:not(:disabled),.search .range-end:hover:not(:disabled){background:#10495a}.range-today::after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:currentColor;bottom:4px;left:calc(50% - 2px)}.range-footnote{text-align:center;font-size:.75rem;color:var(--muted);margin:14px 0 0}.search-calendar>#search-button{grid-column:auto}@media(max-width:700px){.search.search-calendar{grid-template-columns:1fr 1fr;padding:16px;gap:14px}.search-calendar>#search-button{grid-column:1/-1}.range-months{grid-template-columns:1fr;max-width:390px;gap:0}.range-month:nth-child(2){display:none}.range-heading h2{font-size:1.45rem}.range-nights{padding:7px 10px;font-size:.75rem}.range-selection{gap:8px}.search .range-selection button{padding:10px}.range-selection button strong{font-size:.9rem}.range-heading .eyebrow{font-size:.58rem}.search .range-day{height:42px}}
.search .period-holiday{background:#fff0d6;box-shadow:inset 0 -2px #cc9b4e}.search .period-carnival{background:#fbe6e8;box-shadow:inset 0 -2px #c77582}.search .period-ambrosian{background:#eee6f9;box-shadow:inset 0 -2px #9b7bbd}.search .range-day.range-between{background:#e6f0ef}.search .range-day.range-start,.search .range-day.range-end{background:var(--accent);color:#fff}.range-periods{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:22px auto 0}.search .period-link{grid-column:auto;display:flex;flex-direction:column;gap:4px;text-align:left;border:0;border-radius:7px;padding:9px 13px;color:var(--ink);font-size:.75rem}.period-link strong{font-weight:600}.period-link span{font-size:.7rem;color:var(--muted)}.range-opening{text-align:center;color:var(--accent);font-size:.8rem;font-weight:600;margin:14px 0 0}@media(max-width:700px){.range-periods{display:grid;grid-template-columns:1fr 1fr}.search .period-link{width:100%;padding:9px 10px}}
.service-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:4px 0 0}.room .service-buttons button{margin:0;padding:10px 5px;min-height:76px;border:1px solid var(--line);border-radius:8px;background:#f8fafb;color:var(--ink);font-size:.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.service-icon{font-size:1.4rem;line-height:1.2}.room .service-buttons button[aria-pressed="true"]{background:var(--soft);border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}.room .service-buttons button:hover:not(:disabled){background:#e3eeee}.service-buttons small{font-size:.65rem;font-weight:normal}.service-calculation{margin-top:7px;font-size:.77rem;font-weight:normal;color:var(--muted)}.service-calculation p{margin:4px 0;line-height:1.45}.service-calculation .service-period{font-weight:600;margin-top:9px}.summary .checkout-price{border:0;padding:0}.summary .checkout-price h3{font-size:1rem}.checkout-price .breakdown dt{flex:1}.checkout-price .breakdown dd{flex-shrink:0}.summary .service-calculation p{font-size:.77rem}
/* Winter photograph from the residence Wix site, softened behind the proposal text. */
.room-body{background-color:#fff;background-image:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.91) 35%,rgba(255,255,255,.80) 70%,rgba(255,255,255,.68) 100%),url('https://static.wixstatic.com/media/151065_810a828c0c1245d6b46efe9bde4a9517~mv2.jpg/v1/crop/x_37,y_0,w_2127,h_829/fill/w_980,h_382,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/esterno-1-inv1-003.jpg');background-size:cover;background-position:center,65% bottom;background-repeat:no-repeat}.room-body>.room-features,.room-body>.room-code{color:#435c6c}.room .service-buttons button{background:rgba(255,255,255,.94)}.room .service-buttons button[aria-pressed="true"]{background:#e9f2f4}@media print{.room-body{background-image:none}}

.proposal-item{padding:12px 0;border-bottom:1px solid #d5e0e4}.proposal-item>h3{margin:0 0 6px}.proposal-item>p{font-size:.85rem}.proposal-total{display:flex;justify-content:space-between;gap:12px;padding:18px 0;font-size:1.1rem;border-top:2px solid #779da6}.proposal-total strong{white-space:nowrap}.summary-content button,#summary-content>button{width:100%;margin-top:8px}.proposal-item .checkout-price{padding:0;border:0;background:transparent}.proposal-item .checkout-price h3{font-size:.85rem}

.proposal-item>summary{cursor:pointer;line-height:1.5;font-weight:600}.proposal-item>summary strong{display:block;text-align:right;margin-top:6px}.checkout-review .proposal-total strong{font-size:1.25rem;margin:0}.summary{max-height:calc(100dvh - 40px);overflow:auto}@media(max-width:1000px){.summary{max-height:none;overflow:visible}}
