/* Château La Châteline Public Experience v20.004 — accommodation studio, live booking and estate map */
.detail-hero-v20-004{min-height:72svh}.detail-quickfacts{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.detail-quickfacts span{padding:8px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(0,0,0,.16);backdrop-filter:blur(7px);font-size:.9rem}.stay-detail-section{padding:clamp(54px,7vw,100px) 24px}.stay-detail-section.stay-surface-soft{background:var(--surface)}.stay-detail-section.stay-surface-brand{background:var(--brand);color:#fff}.stay-detail-inner{width:min(var(--content-width),100%);margin:auto}.stay-width-narrow .stay-detail-inner{width:min(820px,100%)}.stay-width-full{padding-left:0;padding-right:0}.stay-width-full .stay-detail-inner{width:100%}.stay-block-heading{max-width:760px;margin-bottom:30px}.stay-block-heading h2,.stay-detail-copy h2,.stay-practical-card h2{font-family:var(--heading-font);font-size:clamp(2rem,4vw,3.5rem);line-height:1.02;margin:.25em 0}.stay-detail-copy{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(28px,6vw,88px);align-items:start}.stay-detail-copy>.eyebrow,.stay-detail-copy>h2{grid-column:1}.stay-detail-copy>.richtext{grid-column:2;grid-row:1/4;font-size:1.08rem;line-height:1.85}.stay-amenities{display:grid;grid-template-columns:repeat(var(--amenity-cols,4),minmax(0,1fr));gap:12px}.stay-amenity{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:18px;background:color-mix(in srgb,var(--card) 88%,transparent)}.stay-amenity>span{width:44px;height:44px;flex:0 0 44px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 9%,var(--card));color:var(--brand);font-weight:900}.stay-amenity strong,.stay-amenity small{display:block}.stay-amenity small{margin-top:2px;opacity:.66;font-size:.82rem}.stay-detail-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:145px;gap:10px}.stay-detail-shot{border:0;padding:0;overflow:hidden;border-radius:20px;cursor:zoom-in;background:var(--surface);grid-column:span 4;grid-row:span 2}.stay-detail-shot:first-child{grid-column:span 7;grid-row:span 3}.stay-detail-shot:nth-child(2){grid-column:span 5;grid-row:span 3}.stay-detail-shot img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.stay-detail-shot:hover img{transform:scale(1.025)}.stay-practical-card{padding:clamp(24px,5vw,54px);border:1px solid color-mix(in srgb,var(--brand) 14%,transparent);border-radius:30px;background:var(--card)}.stay-image-text{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(24px,6vw,80px);align-items:center}.stay-image-text.pos-right .stay-image-text-copy{order:2}.stay-image-text.pos-right img{order:1}.stay-image-text.pos-center{grid-template-columns:1fr;text-align:center}.stay-image-text img{width:100%;max-height:620px;object-fit:cover;border-radius:30px}.stay-highlight{display:flex;gap:22px;align-items:flex-start;padding:clamp(28px,5vw,58px);border-radius:30px;background:color-mix(in srgb,var(--accent) 13%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.stay-highlight>span{font-size:2rem}.stay-highlight h2{margin-top:0;font-family:var(--heading-font)}
/* per-accommodation availability */
.stay-calendar-experience{border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:30px;background:var(--card);padding:clamp(18px,4vw,34px);box-shadow:0 20px 70px rgba(17,45,36,.07)}.stay-calendar-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.stay-calendar-head h3{font-family:var(--heading-font);font-size:clamp(1.7rem,3vw,2.7rem);margin:.15em 0}.stay-calendar-head p{margin:0;max-width:620px;color:color-mix(in srgb,var(--ink) 70%,transparent)}.stay-calendar-nav{display:flex;align-items:center;gap:12px;white-space:nowrap}.stay-calendar-nav button{width:44px;height:44px;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:50%;background:var(--card);font-size:1.2rem;cursor:pointer}.stay-calendar-nav strong{min-width:145px;text-align:center;text-transform:capitalize}.stay-calendar-week,.stay-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.stay-calendar-week{margin-bottom:7px}.stay-calendar-week span{text-align:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.55;padding:8px}.stay-calendar-grid .cal-spacer{min-height:64px}.stay-cal-day{min-height:68px;border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:15px;background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;color:var(--ink);position:relative}.stay-cal-day strong{font-size:1rem}.stay-cal-day small{font-size:.67rem;font-weight:750}.stay-cal-day.is-free{background:color-mix(in srgb,#3d9c69 10%,var(--card));border-color:color-mix(in srgb,#3d9c69 34%,transparent)}.stay-cal-day.is-free small{color:#24764b}.stay-cal-day.is-busy{background:color-mix(in srgb,#b6504b 8%,var(--card));border-color:color-mix(in srgb,#b6504b 25%,transparent);opacity:.72;cursor:pointer}.stay-cal-day.is-busy small{color:#9a3e39}.stay-cal-day.is-past{opacity:.35;cursor:not-allowed}.stay-cal-day.is-start,.stay-cal-day.is-end{background:var(--brand);border-color:var(--brand);color:#fff;opacity:1}.stay-cal-day.is-range:not(.is-start):not(.is-end){background:color-mix(in srgb,var(--accent) 18%,var(--card));border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.stay-calendar-legend{display:flex;gap:16px;flex-wrap:wrap;margin:18px 0 0;font-size:.8rem}.stay-calendar-legend span{display:flex;align-items:center;gap:7px}.stay-calendar-legend i{width:12px;height:12px;border-radius:4px}.stay-calendar-legend .is-free{background:#72ba8d}.stay-calendar-legend .is-busy{background:#cb7772}.stay-calendar-legend .is-select{background:var(--brand)}.stay-calendar-selection{margin-top:14px;padding:13px 15px;border-radius:14px;background:var(--surface);font-weight:700}.stay-calendar-selection.error{background:#fff0ef;color:#8a332e}
/* live booking wizard */
.stay-booking-experience{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(24px,6vw,76px);align-items:start}.stay-booking-intro{position:sticky;top:120px}.stay-booking-intro h2{font-family:var(--heading-font);font-size:clamp(2.2rem,4vw,4rem);line-height:1;margin:.22em 0}.stay-booking-intro p{color:rgba(255,255,255,.72);line-height:1.7}.stay-booking-intro ol{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:8px}.stay-booking-intro li{display:flex;align-items:center;gap:10px;padding:9px 0;color:rgba(255,255,255,.55);font-weight:700}.stay-booking-intro li span{width:30px;height:30px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center}.stay-booking-intro li.active,.stay-booking-intro li.done{color:#fff}.stay-booking-intro li.active span{background:#fff;color:var(--brand)}.stay-booking-intro li.done span{background:var(--accent);border-color:var(--accent);color:#fff}.stay-booking-experience form{background:#fff;color:var(--ink);border-radius:30px;padding:clamp(20px,4vw,38px);box-shadow:0 30px 90px rgba(0,0,0,.18)}.stay-book-step{border:0;padding:0;margin:0}.stay-book-step legend{font-family:var(--heading-font);font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700;margin-bottom:20px}.stay-booking-experience.is-enhanced .stay-book-step:not(.active){display:none}.stay-booking-experience .form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stay-booking-experience .form-row.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.stay-booking-experience label{display:grid;gap:7px;font-size:.82rem;font-weight:750}.stay-booking-experience input,.stay-booking-experience textarea{width:100%;border:1px solid rgba(25,48,40,.16);background:#fff;border-radius:14px;padding:13px 14px;color:var(--ink);font:inherit}.stay-live-check{margin-top:14px;padding:14px;border-radius:14px;background:var(--surface);font-weight:700}.stay-live-check.ok{background:#e8f5ed;color:#1e6d45}.stay-live-check.no{background:#fff0ef;color:#8e302c}.book-step-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:24px}.stay-booking-experience .btn-ghost-light{border-color:rgba(20,61,49,.2);color:var(--brand);background:transparent}.stay-booking-experience .btn-light{background:var(--brand);color:#fff}.stay-book-summary{display:grid;gap:10px}.stay-book-summary>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid rgba(25,48,40,.1)}.stay-book-summary small{color:#68746f}.stay-book-summary strong{text-align:right}.stay-book-success{padding:20px;border-radius:18px;background:#e8f5ed;color:#1e6d45;font-weight:750}
/* more playful private-estate map */
.map-experience.map-style-estate .map-stage{background:linear-gradient(135deg,#203e32,#365f49)}.map-experience.map-style-estate .estate-map{filter:saturate(.82) contrast(.94)}.domain-map-label{background:rgba(20,61,49,.88)!important;color:#fff!important;border:1px solid rgba(255,255,255,.55)!important;border-radius:999px!important;padding:6px 11px!important;font-weight:800!important;box-shadow:0 6px 24px rgba(0,0,0,.16)!important}.domain-map-label:before{display:none}.map-experience.map-style-estate .leaflet-control-zoom a{border-radius:12px!important}.map-experience.map-style-estate .leaflet-popup-content-wrapper{border-radius:18px}.map-experience.map-style-estate .map-list button{border-radius:14px}
@media(max-width:900px){.stay-detail-copy,.stay-image-text,.stay-booking-experience{grid-template-columns:1fr}.stay-detail-copy>.eyebrow,.stay-detail-copy>h2,.stay-detail-copy>.richtext{grid-column:auto;grid-row:auto}.stay-booking-intro{position:static}.stay-booking-intro ol{grid-template-columns:repeat(4,1fr);gap:4px}.stay-booking-intro li{font-size:0;justify-content:center}.stay-amenities{grid-template-columns:repeat(2,minmax(0,1fr))!important}.stay-calendar-head{align-items:flex-start;flex-direction:column}.stay-calendar-nav{width:100%;justify-content:space-between}.stay-detail-gallery{grid-auto-rows:110px}.stay-booking-experience .form-row,.stay-booking-experience .form-row.compact{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.stay-detail-section{padding-left:16px;padding-right:16px}.stay-amenities{grid-template-columns:1fr!important}.stay-calendar-experience{padding:14px;border-radius:22px}.stay-calendar-week,.stay-calendar-grid{gap:3px}.stay-calendar-week span{font-size:.62rem;padding:5px 1px}.stay-cal-day{min-height:52px;border-radius:10px}.stay-cal-day small{font-size:.58rem}.stay-booking-experience .form-row,.stay-booking-experience .form-row.compact{grid-template-columns:1fr}.stay-detail-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.stay-detail-shot,.stay-detail-shot:first-child,.stay-detail-shot:nth-child(2){grid-column:span 1;grid-row:span 1}.stay-detail-shot:first-child{grid-column:1/-1}.book-step-actions .btn{width:100%}}
.map-domain-only .map-shell{grid-template-columns:1fr}.map-domain-only .map-sidebar{display:none}.map-domain-only .map-stage{min-height:620px}
