/* V5.11 · Fluid page surfaces and shared responsive gutters. Text measures remain readable. */
body.layout-fluid{--page-gutter:clamp(24px,4.5vw,100px)}
.layout-fluid .restaurant59>.section,.layout-fluid .live-context{width:100%;max-width:none;margin-inline:0;padding-inline:var(--page-gutter)}
.layout-fluid .restaurant59 .e28-hero-copy{width:100%;max-width:none;margin-inline:0;padding-inline:var(--page-gutter)}
.layout-fluid .restaurant59 .breadcrumb,.layout-fluid .live-context~.breadcrumb{padding-inline:var(--page-gutter)}
.layout-fluid .restaurant59 .restaurant59-grid{gap:clamp(20px,2vw,38px)}
.layout-fluid .restaurant59-card>img{aspect-ratio:16/9;max-height:560px}
.layout-fluid .restaurant59-card>div{padding:clamp(24px,3vw,46px)}
.layout-fluid .live-context .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.5vw,24px)}
.layout-fluid .live-context .stat{min-width:0;padding:clamp(18px,2.3vw,34px)}
.layout-fluid .live-context .live-table-wrap{max-width:100%;overflow:auto;overscroll-behavior-x:contain;border-radius:14px;border:1px solid #e1e7e7}
.layout-fluid .live-context .live-table{width:100%;margin:0}
.layout-fluid .live-context .live-table th,.layout-fluid .live-context .live-table td{padding:clamp(12px,1.3vw,22px)}
.layout-fluid .live-context .difficulty-legend{gap:12px;line-height:1.6}
.layout-fluid .e28-hero-copy,.layout-fluid .standard41-hero-copy{width:100%;max-width:none;padding-inline:var(--page-gutter);margin-inline:0}
.layout-fluid .e28-breadcrumb,.layout-fluid .breadcrumb{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.layout-fluid .phase42-intro,.layout-fluid .phase42-access-grid,.layout-fluid .phase42-image-story,.layout-fluid .phase42-card-rail,.layout-fluid .phase42-role-section,.layout-fluid .phase42-utility{max-width:none;margin-left:0;margin-right:0;padding-left:var(--page-gutter);padding-right:var(--page-gutter);width:100%}
.layout-fluid .listing39-intro,.layout-fluid .listing39-grid-wrap .o33-grid,.layout-fluid .listing39-grid-wrap .c33-event-grid,.layout-fluid .event39-facts{max-width:none}
.layout-fluid .standard41-story,.layout-fluid .standard41-contact,.layout-fluid .standard41-facts-grid{width:calc(100% - 2*var(--page-gutter));max-width:none}
.layout-fluid .skibus-page .skibus-section{width:calc(100% - 2*var(--page-gutter));max-width:none}
.layout-fluid .skibus-inactive{width:calc(100% - 2*var(--page-gutter))!important;max-width:none!important;margin:50px var(--page-gutter)!important}
@media(max-width:900px){body.layout-fluid{--page-gutter:28px}.layout-fluid .live-context .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-fluid .live-context .live-table{min-width:560px}.layout-fluid .standard41-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.layout-fluid{--page-gutter:18px}.layout-fluid .restaurant59>.section,.layout-fluid .live-context{padding-top:48px;padding-bottom:48px}.layout-fluid .restaurant59-card>div{padding:23px}.layout-fluid .live-context .stat b{font-size:32px}.layout-fluid .standard41-facts-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.layout-fluid{scroll-behavior:auto}.layout-fluid .restaurant59-card{transition:none}}
.layout-fluid .e28-breadcrumb,.layout-fluid .e28-intro{width:100%;max-width:none;margin-inline:0;padding-inline:var(--page-gutter)}
.layout-fluid .e28-portals,.layout-fluid .e28-story,.layout-fluid .e30-related{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.layout-fluid .e28-portals>header,.layout-fluid .e28-portal-grid,.layout-fluid .e30-related>header,.layout-fluid .e30-related-grid{width:100%;max-width:none}
.layout-fluid .listing39-intro,.layout-fluid .listing39-grid-wrap{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}

.layout-fluid .restaurant59 h1{font-size:clamp(52px,8vw,144px);line-height:.9;max-width:1200px}.layout-fluid:not([data-page-key=home]) .hero{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.layout-fluid .listing39-intro h1{overflow-wrap:anywhere}@media(max-width:600px){.layout-fluid .listing39-intro h1{font-size:clamp(42px,11vw,64px);line-height:.98}}

.layout-fluid main>.container,.layout-fluid>section.container,.layout-fluid .v5-route-photo-hero>.container{width:100%;max-width:none;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}



/* V5.14: service cards must shrink and wrap in both languages. */
.service31-hero>div,.service31-intro>*,.service31-row>*{min-width:0;max-width:100%}
.service31-hero h1,.service31-main h2,.service31-contact a{overflow-wrap:anywhere}
.service31 .cta-row{flex-wrap:wrap}
.service31 .cta-row>a{max-width:100%;white-space:normal}

/* V5.14.1 — shared frontend card shape; hero and section edges stay unchanged. */
body.layout-fluid{--maniva-card-radius:24px}
body.layout-fluid[data-page-key] :is(
  .card,.tile,.activity-card,.event-card,.offer-card,
  .e28-portal,.e30-related-card,.arrival-index-card,
  .v5-route-card,.mtb-route-card,.stay34-card,.stay-contact-card,
  .c33-event-card,.o33-card,.webcam42-card,.restaurant59-card,
  .t512-tile,.listing513-feature,.listing513-note,
  .hospitality-logistics-card,.event38-program-card,
  .standard41-extra-price-card,.standard41-promo-card,.v10-inline-cta-card,
  .valley-experiences__card
){border-radius:var(--maniva-card-radius)}
body.layout-fluid[data-page-key] :is(
  .card,.tile,.activity-card,.event-card,.offer-card,
  .e28-portal,.e30-related-card,.arrival-index-card,
  .v5-route-card,.mtb-route-card,.stay34-card,
  .c33-event-card,.o33-card,.webcam42-card,.restaurant59-card,.t512-tile
){overflow:hidden}
body.layout-fluid .v25-category-hub>.section.white:first-of-type .card{
  border-radius:var(--maniva-card-radius)
}
body.layout-fluid[data-page-key] :is(
  .skibus-fact,.skibus-stop,.skibus-route,.skibus-download,
  .t512-partner,.listing513-footer
),
body.layout-fluid[data-page-key] :is(
  .arrival-season-grid,.presale34-buy-grid,.offer39-rate-grid,
  .phase42-access-grid,.phase42-card-rail,.phase42-role-grid,.phase42-utility-grid
)>article{border-radius:var(--maniva-card-radius)}

/* V5.17: complete information cards at narrow widths; tables retain local scrolling. */
@media(max-width:620px){
 .layout-fluid .cards,.layout-fluid .e30-related-grid,.layout-fluid .restaurant59-grid,
 .layout-fluid .service31-list,.layout-fluid .service515-guide-grid,.layout-fluid .v5-route-grid,
 .layout-fluid .standard41-facts-grid,.layout-fluid .skipass-info-grid,
 .layout-fluid .stay-contact-grid,.layout-fluid .stay-intent-grid,
 .layout-fluid .live-context .stats,.layout-fluid .v5-route-facts,
 .layout-fluid .mtb-route-facts,.layout-fluid .mtb-derived-grid{grid-template-columns:minmax(0,1fr)}
 .layout-fluid .cards>*,.layout-fluid .e30-related-grid>*,.layout-fluid .restaurant59-grid>*,
 .layout-fluid .standard41-facts-grid>*,.layout-fluid .skipass-info-grid>*{min-width:0;max-width:100%;box-sizing:border-box}
 .layout-fluid .t512-tile h2,.layout-fluid .t512-tile h3,.layout-fluid .t512-tile p,
 .layout-fluid .t512-tile a{max-width:100%;overflow-wrap:anywhere;white-space:normal}
 .layout-fluid .t512-grid>*{grid-column:auto}
 .layout-fluid .skipass-info p,.layout-fluid .standard41-fact{overflow-wrap:anywhere}
}

@media(max-width:620px){body.layout-fluid .cards{display:grid;grid-template-columns:minmax(0,1fr)}body.layout-fluid .cards>.card{width:100%;min-width:0;flex-basis:auto}.layout-fluid .standard41-detail p,.layout-fluid .standard41-detail a,.layout-fluid .presale34-page p,.layout-fluid .presale34-page a{overflow-wrap:anywhere}.layout-fluid .standard41-detail .btn,.layout-fluid .presale34-page .btn{max-width:100%;white-space:normal;box-sizing:border-box}}

@media(max-width:620px){.layout-fluid .presale34-hero-copy{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}.layout-fluid .presale34-hero-copy .btn{max-width:100%;white-space:normal;box-sizing:border-box}.layout-fluid .faq-answer .text-link{max-width:100%;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}}

@media(max-width:620px){.layout-fluid .faq-editorial h2{overflow-wrap:anywhere;max-width:100%}}
@media(max-width:620px){body.layout-fluid .stats{grid-template-columns:minmax(0,1fr)}}
