@font-face{font-family:'Source Serif 4';src:url('/chalet-webseite/assets/fonts/SourceSerif4-Roman.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
:root{--text:'Source Serif 4',Georgia,serif;--paper:#faf9f6;--line:#deded7;--gold:#d3b58c}
body{font-family:var(--text);font-size:1.0625rem;line-height:1.65;font-optical-sizing:auto}
h1,h2{font-family:Georgia,'Times New Roman',serif}h2 em{font-style:normal}h3{font-family:var(--text);font-weight:550;font-size:1.35rem}
.eyebrow{font-family:var(--text);font-size:.875rem;font-weight:500;letter-spacing:.09em;margin-bottom:1.2rem}
.brand{font-size:.9rem;font-weight:550;letter-spacing:.06em}.brand small{font-size:.75rem;letter-spacing:.09em}.brand-mark{border:0;border-radius:0;font-size:1.8rem;width:32px;padding-right:0}
.header{padding-block:20px}.header nav{gap:24px;font-size:1rem}.nav-cta{padding:8px 23px}.button{font-family:var(--text);font-size:1rem;font-weight:500;letter-spacing:0}
.hero-copy>p:not(.eyebrow){font-size:1.125rem;line-height:1.6;max-width:480px}.hero-shade{background:linear-gradient(90deg,#14212bb0 0%,#14212b58 48%,#14212b10 100%)}
.hero-location{font-size:.875rem}.hero-location span:first-child{letter-spacing:.06em}.facts span{font-size:1rem}.facts>div{gap:14px}.facts strong{font-size:2.25rem}
.intro-copy>p:not(.eyebrow){font-size:1.125rem}.intro-image figcaption{font-family:var(--text);font-size:.9rem;font-style:normal}.text-link{font-family:var(--text);font-size:1rem;font-weight:500}
.amenity-number{display:none}.amenities-grid h3{margin-top:0}.amenities-grid p{font-size:1.0625rem;line-height:1.65}.floor-links{margin-top:30px}.floor-links>span{font-family:var(--text);font-size:1.125rem}
.section-heading.horizontal>p{font-size:1rem}.photo span{font-family:var(--text);font-size:1.5rem}.gallery-bottom>span{font-size:.9375rem}.gallery-section{padding-top:65px}.valley-copy>p:not(.eyebrow){font-size:1.0625rem}#season-copy p{font-size:1rem}.season-switch button{font-size:1.0625rem}
.rate-card{background:#eceee9}.rate-card>p:not(.eyebrow){font-size:1rem}.rate-card h3{font-family:Georgia,serif;font-size:2.25rem;font-weight:400}.availability-filter{font-size:.9375rem}th{font-size:.9rem}td{font-size:1rem}.status{font-size:.875rem}.week-link{font-size:1rem}
details>p{font-size:1.0625rem}summary{font-size:1.125rem;font-weight:500}.small{font-size:.9375rem}.footer-brand small{font-family:var(--text);font-size:.8125rem;letter-spacing:.07em}.footer-top a,.footer-link{font-size:1rem}.footer-bottom{font-size:.875rem}.preview-bar{font-size:.8125rem;letter-spacing:.04em}.preview-bar span{letter-spacing:0}
form label{font-size:1rem}.estimate{font-size:1rem}.contact-email{font-size:1.125rem}.dialog-top>span,.dialog-close,.dialog-bottom button{font-size:1rem}
/* Owner-supplied Chalet Champêtre logo, displayed without alteration. */
.header{background:#fff;padding-block:14px;gap:24px}
.brand{gap:16px;letter-spacing:0;min-width:0;flex-shrink:0}

.property-name{font-size:1.0625rem;line-height:1.35;font-weight:500;letter-spacing:0}
.property-name small{font-size:.8125rem;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:5px}


/* Four stable room categories; all fixtures use the same neutral contour. */
.layout-section{border-top:1px solid var(--line);padding-top:65px;padding-bottom:65px;--plan-shared:#f6f5f1;--plan-bed:#ece8df;--plan-bath:#e5ecea;--plan-private:#eeeeec}
.floor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:25px}
.floor-tabs{display:flex;gap:8px}
.floor-tabs button{background:transparent;color:var(--muted);border:1px solid var(--line);padding:12px 22px;min-height:48px;font-size:1rem}
.floor-tabs button span{display:inline-block;margin-left:12px;font-size:.875rem}
.floor-tabs button.active{background:var(--ink);color:white;border-color:var(--ink)}
.floor-toolbar>p{font-size:.9375rem;color:var(--muted)}
.floor-explorer{display:grid;grid-template-columns:minmax(0,1fr) 285px;border:1px solid var(--line);background:#fff}
.floor-drawing{padding:20px;min-width:0;background:white}
#floor-canvas{overflow:auto;min-width:0;overscroll-behavior:contain}
.floor-svg{display:block;width:100%;height:auto;min-width:0}
.plan-room-fill{stroke:none;fill:var(--plan-shared)}
.plan-room.bedroom .plan-room-fill{fill:var(--plan-bed)}
.plan-room.bathroom .plan-room-fill{fill:var(--plan-bath)}
.plan-room.owner .plan-room-fill{fill:var(--plan-private)}
.plan-room{cursor:pointer;outline:none}
.plan-room:hover .plan-room-fill,.plan-room:focus-visible .plan-room-fill{stroke:#777e78;stroke-width:1.7}
.plan-room.selected .plan-room-fill{stroke:#53625a;stroke-width:2.2}
.plan-label{font-family:var(--text);font-size:14px;font-weight:400;fill:#3e4944;pointer-events:none}
.plan-wall{stroke:#5e6560;stroke-width:3.5;stroke-linecap:square;fill:none}
.plan-window{stroke:#fff;stroke-width:2.5;fill:none}
.plan-furniture{stroke:#afb5ae;stroke-width:1.1;fill:none}
.plan-bed,.plan-pillow,.plan-sofa,.plan-table,.plan-chair,.plan-counter,.plan-appliance,.plan-bath,.plan-fire,.plan-stair-outline{fill:none;stroke:#afb5ae;stroke-width:1.1}
.plan-furniture-line{fill:none;stroke:#afb5ae;stroke-width:1.1}
.plan-door path{fill:none;stroke:#b4b9b2;stroke-width:1}
.plan-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:.8125rem;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:12px}
.plan-legend span{display:flex;align-items:center;gap:7px}
.plan-legend span:before{content:'';width:12px;height:12px;border:1px solid #d1d5cd;background:var(--plan-bed)}
.plan-legend .legend-shared:before{background:var(--plan-shared)}
.plan-legend .legend-bath:before{background:var(--plan-bath)}
.plan-legend .legend-owner:before{background:var(--plan-private)}
.room-detail{padding:28px 25px;background:#f7f8f5;border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:start}
.room-picker{font-size:.9375rem;color:var(--muted);width:100%;display:block}
.room-picker select{color:var(--ink);background:white;border-color:#cbd0ca;font-size:1rem}
.room-tag{font-size:.875rem;color:var(--muted);margin-top:27px;margin-bottom:12px}
.room-detail h3{font-family:Georgia,serif;font-size:1.875rem;line-height:1.12;font-weight:400;margin-bottom:18px}
.room-detail-copy>p:not(.room-tag){font-size:1rem;line-height:1.65;color:var(--muted)}
#room-facts{margin:22px 0;padding:0;list-style:none;font-size:.9375rem}
#room-facts li{padding:8px 0;border-top:1px solid #d8ded4}
.room-detail .button{width:100%;margin-top:24px}
.room-detail .text-link[hidden]{display:none}
.plan-footnote{display:flex;justify-content:space-between;gap:20px;margin-top:18px;font-size:.875rem;color:var(--muted)}
.plan-footnote a{white-space:nowrap}
.plan-mobile-tools{display:none}

@media(max-width:1100px){
  .header nav{gap:17px;font-size:.9375rem}
  .floor-explorer{grid-template-columns:minmax(0,1fr) 260px}
  .floor-drawing{padding:12px}.room-detail{padding:23px 20px}
}
@media(min-width:801px) and (max-width:960px){
  .menu-button{display:block;border:1px solid var(--ink);background:none;padding:8px 16px;min-height:44px}
  .header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px 6%;border-bottom:1px solid var(--line)}
  .header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:16px}
  .header nav .nav-cta{align-self:start}
}
@media(max-width:800px){
  html{scroll-padding-top:100px}
  .header{padding:12px 5%;gap:12px}
  .brand{gap:12px}
  .property-name{font-size:1rem}.property-name small{font-size:.75rem;margin-top:3px}
  .menu-button{min-height:44px;padding:8px 13px;font-size:1rem}
  .header nav{background:#fff;padding:20px 5%;gap:10px}
  .header nav a{padding-block:7px;font-size:1.0625rem;min-height:44px}
  .header nav .nav-cta{padding:9px 22px}
  .hero{height:auto;min-height:0;max-height:none;padding-bottom:0}
  .hero-copy{padding:48px 6% 112px;max-width:100%}
  .hero-copy h1{font-size:clamp(2.2rem,10.3vw,4.4rem);line-height:1.12}
  .hero-copy>p:not(.eyebrow){font-size:1.0625rem;max-width:34ch;margin:22px 0 26px}
  .hero-location{bottom:22px;font-size:.8125rem}
  .hero-shade{background:linear-gradient(90deg,#14212bc2,#14212b55)}
  .facts{width:88%;padding-block:28px;column-gap:12px;row-gap:24px}
  .facts>div{flex-direction:column;gap:2px;align-items:center;border-right:0}
  .facts strong{font-size:2.2rem;line-height:1.2}.facts span{font-size:1rem}
  .section{padding-block:48px}.section-heading{margin-bottom:28px}
  h2{font-size:clamp(2.1rem,8.3vw,3rem)}
  .introduction{gap:28px}.intro-image img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .amenities-grid{gap:22px}.amenities-grid p{font-size:1rem}
  .floor-links{align-items:start;gap:16px;margin-top:24px;flex-wrap:wrap}
  .floor-links>span{width:100%;font-size:1rem}.floor-links button{font-size:1rem;min-height:44px}
  .floor-toolbar{flex-direction:column;align-items:start;gap:14px;padding-bottom:18px}
  .floor-tabs{width:100%;gap:6px}.floor-tabs button{flex:1;padding:11px 12px;font-size:1rem}
  .floor-tabs button span{display:block;margin:2px 0 0;font-size:.8125rem}
  .floor-explorer{grid-template-columns:1fr}.floor-drawing{padding:12px}
  .plan-mobile-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
  .plan-mobile-tools p{font-size:.8125rem;color:var(--muted);line-height:1.4;max-width:22ch}
  .plan-mobile-tools button{border:1px solid #cbd0ca;background:white;color:var(--ink);padding:8px 12px;min-height:44px;font-size:.875rem;flex-shrink:0}
  #floor-canvas{touch-action:pan-x pan-y pinch-zoom}
  .floor-svg{width:100%;min-width:0}
  #floor-canvas:not(.is-enlarged) .plan-label{font-size:24px}
  #floor-canvas:not(.is-enlarged) .plan-furniture{display:none}
  #floor-canvas:not(.is-enlarged) .plan-room.selected .plan-room-fill{stroke-width:5}
  #floor-canvas.is-enlarged .floor-svg{width:1020px;max-width:none}
  .plan-legend{gap:10px 16px;font-size:.8125rem;padding-top:14px}
  .room-detail{border-left:0;border-top:1px solid var(--line);padding:22px}
  .room-detail-copy{width:100%}.room-picker{max-width:none;font-size:1rem}
  .room-picker select{min-height:48px}.room-tag{margin-top:22px}
  .room-detail h3{font-size:1.65rem}.room-detail .button{width:100%}
  .plan-footnote{flex-direction:column;gap:10px;font-size:.8125rem}
  .gallery-feature{grid-template-rows:280px 185px}.gallery-bottom{align-items:start;gap:18px;flex-direction:column}
  .gallery-bottom .button{width:100%}
  .valley-copy{padding:42px 6%}.valley-image{min-height:320px}
  .travel{gap:28px}.enquiry-section{padding:48px 6%;gap:30px}
  .form-grid{grid-template-columns:1fr;gap:18px}
  input:not([type=checkbox]),select,textarea{font-size:1rem;min-height:48px}
  .enquiry-section .button{width:100%}
  .questions{padding-block:48px}.footer-top{grid-template-columns:1fr;gap:26px}
  .footer-brand{grid-column:auto;font-size:1.8rem}
  dialog{width:calc(100vw - 20px);max-width:none;max-height:calc(100svh - 20px);padding:14px}
  #dialog-photo{height:min(65svh,600px)}
  .dialog-bottom{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}
  .dialog-bottom p{font-size:.8125rem}.dialog-bottom button{padding:8px;min-height:44px}
}
@media(max-width:360px){
  .property-name{font-size:.9rem}.property-name small{font-size:.7rem}.brand{gap:9px}
  .menu-button{padding-inline:10px;font-size:.9375rem}
  .plan-mobile-tools{flex-direction:column;align-items:start;gap:10px}.plan-mobile-tools p{max-width:none}
  td,th{padding-inline:4px}.week-link{font-size:.875rem}td{font-size:.9375rem}.status{font-size:.8125rem;padding-inline:4px}
}


/* Normalize upper-plan annotation and contour sizes to its tighter view box. */
.floor-upper .plan-label{font-size:9.333333px}.floor-upper .plan-wall{stroke-width:2.333333}.floor-upper .plan-window{stroke-width:1.666667}.floor-upper .plan-furniture,.floor-upper .plan-bed,.floor-upper .plan-pillow,.floor-upper .plan-sofa,.floor-upper .plan-table,.floor-upper .plan-chair,.floor-upper .plan-counter,.floor-upper .plan-appliance,.floor-upper .plan-bath,.floor-upper .plan-fire,.floor-upper .plan-stair-outline,.floor-upper .plan-furniture-line{stroke-width:.733333}.floor-upper .plan-door path{stroke-width:.666667}.floor-upper .plan-room.selected .plan-room-fill{stroke-width:1.466667}@media(max-width:800px){#floor-canvas:not(.is-enlarged) .floor-upper .plan-label{font-size:16px}#floor-canvas:not(.is-enlarged) .floor-upper .plan-room.selected .plan-room-fill{stroke-width:3.333333}}

@media(max-width:960px){.header nav.open{max-height:calc(100svh - 80px);overflow-y:auto}}@media(min-width:801px) and (max-width:960px){.floor-explorer{grid-template-columns:1fr}.room-detail{border-left:0;border-top:1px solid var(--line)}.room-picker{max-width:420px}.room-detail .button{width:auto}}

/* Full supplied artwork; retain its white background and original proportions. */
.chalet-logo{width:200px;height:auto;object-fit:contain;flex:none}
.footer-chalet-logo{width:240px;height:auto;background:#fff;padding:12px}
@media(max-width:800px){.chalet-logo{width:144px}.footer-chalet-logo{width:220px}}
@media(max-width:960px){.header nav.open{max-height:calc(100svh - 128px)}}
/* Owner-selected main photograph: keep the sofa in view across aspect ratios. */
.hero-image{object-position:center 70%}.gallery-feature .photo.large img{object-position:center 65%}
.language-links{display:flex;gap:10px;align-items:center;font-size:.8rem;flex-wrap:wrap}.language-links a{padding:12px 6px;min-height:44px}.language-links [aria-current]{font-weight:700;text-decoration:underline}.static-rooms{margin-top:32px;border-top:1px solid var(--line);padding-top:20px}.static-rooms summary{cursor:pointer;font-size:1.15rem;min-height:44px}.static-rooms>p{margin:20px 0;max-width:800px}.room-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.room-summary h3{font-size:1.2rem}.room-summary li{font-size:.9rem}.room-summary ul{padding-left:18px}.room-summary p{font-size:.95rem}
.consent-panel{position:fixed;bottom:20px;right:20px;width:min(520px,calc(100vw - 40px));max-height:85svh;overflow:auto;z-index:200;background:var(--paper,#fff);color:var(--ink);border:1px solid var(--line);padding:24px;box-shadow:0 6px 36px #0003}.consent-panel[hidden]{display:none}.consent-panel h2{font-size:1.55rem;margin:0 0 12px}.consent-panel p{font-size:.95rem;line-height:1.5;margin-bottom:14px}.consent-panel>a{font-size:.9rem}.consent-actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.consent-actions .button{flex:1;min-width:170px;justify-content:center;padding:12px}.consent-settings{margin:20px 0 0;min-height:44px}
@media(max-width:960px){.header{flex-wrap:wrap}.language-links{margin-left:auto}.room-summary{grid-template-columns:1fr 1fr}}@media(max-width:600px){.room-summary{grid-template-columns:1fr}.hero-copy h1{overflow-wrap:break-word}.language-links{gap:4px}}
html[lang="de"] .hero,html[lang="fr"] .hero{height:auto;max-height:none}html[lang="de"] .hero-copy h1,html[lang="fr"] .hero-copy h1{font-size:clamp(3rem,5.5vw,5.4rem)}

.private-preview .public-only{display:none}body:not(.private-preview) .preview-only{display:none}.legal-heading{font-size:1.8rem;margin-top:40px;margin-bottom:18px}.language-links{flex-shrink:0}.consent-status{font-size:.85rem;max-width:40rem}
