/* Fleuve et Montagnes — mise en page compacte, 16 octobre 2026 */
.res-top{padding:22px 0 18px}
.res-top h1{font-size:clamp(28px,3.2vw,38px);white-space:normal}
.res-top .lead-p{margin-top:7px;font-size:16px;line-height:1.45}
.res-top .book-inline{margin-top:14px;box-shadow:none;padding:7px}
.res-top .bk-f{min-height:58px;padding:8px 14px}
.res-top .bk-go{min-height:58px}
.units{padding:16px 0 30px}
.u-head{margin:0 0 12px;padding-top:0}
.u-group{font-size:26px!important}
.u-group span{font-size:14px;margin-top:3px}
.u-grid{gap:20px;margin-bottom:26px}
.u-body{padding-top:10px;gap:7px}
.u-name a{text-decoration:none}
.u-name a:hover{text-decoration:underline}
.u-media>a{display:block;border-radius:14px}
.u-media .photo-label{position:absolute;right:9px;bottom:9px;background:rgba(21,46,67,.92);color:white;padding:5px 9px;font-size:13px;border-radius:6px;pointer-events:none}
.u-actions{display:flex;gap:8px;margin-top:auto}
.u-actions .btn{width:auto;flex:1;min-height:40px;padding:8px;font-size:15px}
.u-details{border:1px solid var(--marine);color:var(--marine);background:white}
.u-feat li{padding:3px 7px;line-height:1.3}
.unit .u-name{font-size:22px}
.plate{min-width:38px;height:38px;font-size:21px;left:9px;top:9px}
.gs-band.sec{padding:24px 0}
.gs-band.sec h2{font-size:26px;margin-bottom:8px}
.gs-band .body-p{font-size:16px;margin-top:6px;max-width:75ch}
.gs-logos{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;max-width:none;margin:16px 0 8px}
.gs-logos a{display:flex;text-align:left;gap:9px;font-size:14px}
.gs-logos img{width:42px;height:42px;border-radius:8px}
.gs-band .more{margin-top:8px;font-size:14px}
.about-visual.sec{padding:24px 0 30px}
.about-visual .story{gap:30px;align-items:center}
.about-visual .story img{max-height:340px;width:100%;object-fit:cover}
.about-visual h1{font-size:clamp(34px,4vw,48px);line-height:1.05;margin-bottom:15px;color:var(--marine)}
.about-visual .body-p{font-size:18px;line-height:1.55;margin-top:12px}
.contact-visual.sec{padding:28px 0}
.contact-grid{display:grid;gap:24px;align-items:center}
.contact-grid .ct-name{font-size:22px;margin:12px 0}
.contact-grid h1{font-size:clamp(34px,4vw,48px)}
.contact-grid .ct-card{margin:16px 0 0}
.contact-grid .ct-card li{padding:12px 0}
.contact-photo{width:100%;height:340px;object-fit:cover;border-radius:18px}
.contact-stay{display:grid;gap:28px;align-items:center}
.contact-stay .ct-col{display:block}
.contact-stay img{width:100%;height:310px;object-fit:cover;border-radius:18px}
.unit-page{padding:20px var(--gut) 40px}
.unit-back{display:inline-block;font-size:15px;margin-bottom:12px;color:var(--marine)}
.unit-heading{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.unit-heading h1{font-size:clamp(34px,4vw,48px);line-height:1.1;color:var(--marine)}
.unit-heading p{margin-top:5px;color:var(--montagne)}
.unit-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:190px 190px;gap:8px;position:relative}
.unit-mosaic>a{overflow:hidden;border-radius:10px;background:var(--brume)}
.unit-mosaic>a:first-child{grid-row:span 2}
.unit-mosaic img{width:100%;height:100%;object-fit:cover}
.all-photos{position:absolute;bottom:14px;right:14px;background:white;color:var(--marine);border:1px solid var(--marine);border-radius:8px;padding:10px 16px;font:600 15px var(--f);cursor:pointer}
.unit-info{display:grid;gap:24px;margin-top:26px}
.unit-info h2{font-size:27px;margin-bottom:14px;color:var(--marine)}
.unit-info p{max-width:65ch}
.unit-amenities{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;margin:16px 0 24px}
.unit-amenities li{border-bottom:1px solid var(--line);padding:7px 0}
.unit-booking{padding:20px;background:var(--brume);border-radius:14px;align-self:start}
.unit-booking .book{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 12px;padding:0;border:0;box-shadow:none;background:transparent}
.unit-booking .bk-g,.unit-booking .bk-go{grid-column:1/-1}
.unit-booking .bk-f{min-width:0}
.unit-booking .btn{width:100%}
.unit-booking p{font-size:15px;margin:10px 0 0}
.unit-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.unit-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.unit-gallery{margin-top:28px}
.unit-gallery summary{cursor:pointer;font-size:22px;font-weight:600;color:var(--marine)}
.photo-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#102334;color:white}
.photo-dialog::backdrop{background:#102334}
.photo-toolbar{height:64px;display:flex;justify-content:space-between;align-items:center;padding:10px 20px;gap:16px}
.photo-toolbar button,.photo-controls button{background:white;color:#152E43;border:0;border-radius:8px;min-height:44px;padding:10px 16px;font:600 16px var(--f);cursor:pointer}
.photo-dialog figure{margin:0;height:calc(100dvh - 144px);display:flex;justify-content:center;align-items:center;padding:0 16px;min-height:0}
.photo-dialog img{height:100%;width:100%;object-fit:contain}
.photo-controls{display:flex;align-items:center;justify-content:center;gap:24px;height:80px}
.photo-error{padding:16px;text-align:center}
@media(min-width:900px){
 .res-top .book-inline{max-width:calc(1180px - 2 * var(--gut))}
 .u-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .u-media img{aspect-ratio:4/3;height:auto}
 .u-top{gap:4px;align-items:center}
 .u-cap{font-size:13px}
 .u-feat{min-height:42px}
 .contact-grid{grid-template-columns:1.2fr 1fr}
 .contact-stay{grid-template-columns:1.2fr 1fr}
 .unit-info{grid-template-columns:1.4fr 1fr;gap:40px}
}
@media(min-width:1100px){
 .res-top{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.6fr);gap:24px;align-items:center;padding:14px max(32px,calc((100% - 1116px)/2))}
 .res-top>.wrap{padding:0;margin:0}
 .res-top h1{font-size:30px;line-height:1.05}
 .res-top .lead-p{font-size:14px;line-height:1.4;margin-top:7px}
 .res-top .book-inline{margin:0;max-width:none;width:100%;gap:6px}
 .res-top .bk-f{padding:7px 9px}
 .res-top .bk-val{font-size:15px}
 .res-top .bk-go{padding:10px 14px;font-size:16px}
 .rb-in{padding-top:6px;padding-bottom:6px}
}
@media(max-width:699px){
 .unit-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:240px 110px}
 .unit-mosaic>a:first-child{grid-column:1/-1;grid-row:auto}
 .unit-mosaic>a:nth-of-type(n+4){display:none}
 .unit-photo-grid{grid-template-columns:1fr 1fr}
 .unit-amenities{grid-template-columns:1fr}
 .contact-photo{height:240px}
 .unit-heading .btn{min-height:44px}
 .res-top .lead-p{font-size:15px}
 .gs-logos{gap:14px;display:grid;grid-template-columns:1fr 1fr}
 .gs-logos img{width:36px;height:36px}
}

@media(min-width:900px){.units{padding-top:12px}.u-head{margin-bottom:8px}.u-grid{margin-bottom:18px}}
