/* chambres — repris du <style> de standard-rooms.html.
   Genere par _tools/build-pagecss.py : ne pas modifier a la main. */
.ph-grid{max-width:1320px;margin:0 auto;padding:var(--s4) clamp(20px,4vw,52px) 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ph-grid .ph:first-child{grid-column:span 2;grid-row:span 2}
.ph{position:relative;display:block;width:100%;padding:0;border:0;background:var(--cream);border-radius:6px;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.ph:hover img{transform:scale(1.04)}
.ph-more{max-width:1320px;margin:0 auto;padding:14px clamp(20px,4vw,52px) 0;text-align:right;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
@media (max-width:900px){.ph-grid{grid-template-columns:repeat(2,1fr)}.ph-grid .ph:first-child{grid-column:span 2;grid-row:span 1}}
@media (max-width:520px){.ph-grid{grid-template-columns:1fr;padding-left:16px;padding-right:16px}.ph-grid .ph:first-child{grid-column:auto}}
.layout{max-width:1320px;margin:0 auto;padding:var(--s5) clamp(20px,4vw,52px) var(--s6);display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(30px,4vw,64px);align-items:start}
.layout>*{min-width:0}
@media (max-width:1000px){.layout{grid-template-columns:minmax(0,1fr)}}
.lede{font-family:var(--serif);font-size:var(--step-2);line-height:1.16;color:var(--pine);max-width:22ch;margin-bottom:var(--s3)}
.body-col p{max-width:64ch;margin-bottom:16px;color:var(--pine)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:var(--s4) 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div b{display:block;font-family:var(--serif);font-size:1.7rem;color:var(--pine);line-height:1}
.facts div span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
@media (max-width:640px){.facts{grid-template-columns:repeat(2,1fr)}}
.amen-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 28px;margin-top:var(--s3);list-style:none}
.amen-list li{position:relative;padding-left:22px;font-size:15px;color:var(--pine)}
.amen-list li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border:1px solid var(--gold);transform:rotate(45deg)}
@media (max-width:760px){.amen-list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.amen-list{grid-template-columns:1fr}}
h2.sec{font-family:var(--serif);font-weight:400;font-size:var(--step-2);color:var(--pine);margin:var(--s5) 0 18px;line-height:1.1}
h3.sub{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.faq details{border-top:1px solid var(--line);padding:18px 0}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{font-family:var(--serif);font-size:var(--step-1);color:var(--pine);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--gold);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin-top:12px;max-width:60ch}
.bk{position:sticky;top:96px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:26px 24px;box-shadow:0 18px 44px rgba(7,23,16,.07)}
.bk .price{font-family:var(--serif);font-size:2.1rem;color:var(--pine);line-height:1}
.bk .price small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-top:8px}
.bk form{margin-top:22px;display:grid;gap:14px}
.bk label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--green);margin-bottom:7px}
.bk input,.bk select{width:100%;min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 13px;font-family:var(--sans);font-size:16px;font-weight:300;color:var(--ink);outline:none}
.bk input:focus,.bk select:focus{border-color:var(--gold)}
.bk .row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
@media (max-width:380px){.bk .row2{grid-template-columns:1fr}}
.bk .btn{width:100%;margin-top:4px}
.bk .note{font-size:12.5px;opacity:.75;margin-top:12px;line-height:1.5}
.bk .alt{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:13px}
.bk .alt a{color:var(--green);border-bottom:1px solid var(--line)}
.lbx{position:fixed;inset:0;z-index:300;background:rgba(7,23,16,.96);display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,56px)}
.lbx.on{display:flex}
.lbx img{max-width:100%;max-height:86vh;border-radius:6px;object-fit:contain}
.lbx .cap{position:absolute;left:0;right:0;bottom:20px;text-align:center;color:var(--cream);font-size:.9rem;opacity:.82;padding:0 24px}
.lbx button{position:absolute;background:none;border:1px solid var(--line-dark);color:var(--cream);width:46px;height:46px;border-radius:50%;display:grid;place-items:center}
.lbx button:hover{border-color:var(--gold);background:rgba(176,139,62,.14)}
.lbx .x{top:22px;right:22px}
.lbx .pv{left:20px;top:50%;transform:translateY(-50%)}
.lbx .nx{right:20px;top:50%;transform:translateY(-50%)}
