:root{--ink:#15120f;--ink2:#211c18;--cream:#f4eee5;--paper:#fbf9f5;--gold:#b99a68;--muted:#756d64;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Montserrat",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:300 14px/1.7 var(--sans)}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit}.skip-link,.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link:focus{z-index:100;top:1rem;left:1rem;width:auto;height:auto;clip:auto;background:white;padding:.7rem 1rem}.booking-header{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(22px,5vw,75px);color:white}.brand{display:flex;flex-direction:column;align-items:center;width:92px;text-decoration:none;line-height:1;letter-spacing:.22em}.brand-mark{font:500 24px/1 var(--serif);letter-spacing:.1em}.brand-line{width:100%;height:1px;margin:5px 0;background:var(--gold)}.brand-sub{font-size:7px}.back-home{font-size:9px;text-decoration:none;text-transform:uppercase;letter-spacing:.17em}.back-home span{margin-right:9px;color:var(--gold)}.booking-hero{min-height:535px;display:grid;place-items:center;padding:125px 24px 110px;color:white;background:radial-gradient(circle at 50% 40%,#39302a,#15120f 68%);text-align:center}.booking-hero .eyebrow{color:var(--gold)}.booking-hero h1{margin:0;font:400 clamp(52px,7vw,92px)/.92 var(--serif)}.booking-hero h1 em{color:#dbc7a7;font-weight:400}.booking-hero>div>p:last-child{color:#a9a099}.eyebrow,.step-number{margin:0 0 17px;font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.3em}.steps{position:absolute;top:455px;left:50%;width:min(700px,85%);display:flex;justify-content:space-between;margin:0;padding:0;transform:translateX(-50%);list-style:none;color:#78716c;font-size:8px;text-transform:uppercase;letter-spacing:.16em}.steps::before{content:"";position:absolute;top:9px;left:5%;right:5%;height:1px;background:#453c35}.steps li{z-index:1;display:flex;flex-direction:column;gap:7px;align-items:center;background:var(--ink);padding:0 13px}.steps span{color:var(--gold);font:16px var(--serif)}.steps .active{color:white}.booking-section{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(45px,8vw,125px);padding:clamp(80px,10vw,140px) clamp(23px,7vw,110px)}.section-intro{max-width:390px}.section-intro .step-number{color:#997847}.section-intro h2{margin:0 0 27px;font:400 clamp(48px,5.5vw,74px)/.95 var(--serif)}.section-intro h2 em{color:#9c7b4b;font-weight:400}.section-intro>p:last-child{color:var(--muted)}.suite-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;border:0}.suite-option{position:relative;height:540px;overflow:hidden;color:white;cursor:pointer}.suite-option input{position:absolute;opacity:0}.suite-image,.image-shade{position:absolute;inset:0}.image-shade{background:linear-gradient(to bottom,rgba(0,0,0,.05),rgba(12,9,8,.85))}.suite-info{position:absolute;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:flex-start;padding:32px}.suite-info small{color:var(--gold);font-size:8px;text-transform:uppercase;letter-spacing:.22em}.suite-info strong{font:400 clamp(37px,4vw,57px)/1 var(--serif)}.suite-info em{font:400 16px var(--serif)}.select-label{margin-top:24px;padding:9px 12px;border:1px solid rgba(255,255,255,.5);font-size:8px;font-style:normal;text-transform:uppercase;letter-spacing:.16em;transition:.2s}.select-label b{margin-left:8px;color:var(--gold)}.suite-option:hover .select-label,.suite-option input:checked~.suite-info .select-label{color:var(--ink);background:var(--gold);border-color:var(--gold)}.suite-option input:checked~.suite-image{outline:3px solid var(--gold);outline-offset:-3px}.orient-option img{object-position:center 55%}.rate-reminder{grid-column:1/3;display:flex;align-items:center;justify-content:center;gap:25px;padding:21px;background:var(--cream);color:#554c44;font-size:9px}.rate-reminder>span{text-transform:uppercase;letter-spacing:.14em}.rate-reminder p{margin:0}.rate-reminder strong{color:#8d6d40;font:23px var(--serif)}.rate-reminder i{width:1px;height:24px;background:#cfc3b2}.field-error{display:none;margin:8px 0 0;color:#b15b4d;font-size:11px}.field-error.show{display:block}.suite-options>.field-error{grid-column:1/3}.date-choice{color:white;background:var(--ink)}.section-intro.light h2 em{color:#dbc7a7}.section-intro.light>p:last-child{color:#9e968f}.dates-panel{align-self:start;padding:clamp(30px,5vw,60px);background:var(--ink2);border:1px solid rgba(185,154,104,.22)}.date-fields{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:end}.date-fields label,.personal-fields label{display:flex;flex-direction:column;gap:9px}.date-fields label>span,.personal-fields label>span{font-size:8px;text-transform:uppercase;letter-spacing:.18em}.date-fields input{width:100%;padding:13px 5px;color:white;background:transparent;border:0;border-bottom:1px solid #62564b;font:400 21px var(--serif);color-scheme:dark}.date-fields input:focus{outline:0;border-color:var(--gold)}.date-fields input:disabled{opacity:.4}.date-arrow{padding-bottom:16px;color:var(--gold)}.availability-placeholder{display:flex;gap:18px;margin-top:40px;padding:24px;border:1px dashed #665849;color:#a9a097;background:#1a1714}.status-mark{color:var(--gold);font-size:20px}.availability-placeholder strong{color:#ddd2c4;font:20px var(--serif)}.availability-placeholder p{margin:4px 0 0;font-size:11px}.estimate{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:25px;border-top:1px solid rgba(185,154,104,.3)}.estimate>div{display:flex;flex-direction:column}.estimate span{font-size:9px;text-transform:uppercase;letter-spacing:.17em}.estimate small{color:#928a83}.estimate>strong{color:#d7be95;font:400 clamp(43px,5vw,65px)/1 var(--serif)}.estimate-note{margin:8px 0 0;color:#7e7771;font-size:8px;text-align:right;text-transform:uppercase;letter-spacing:.13em}.details-section{background:var(--cream)}.details-content{max-width:760px}.summary{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:45px;padding:25px 0;border-top:1px solid #cfc1ad;border-bottom:1px solid #cfc1ad}.summary-title{grid-column:1/5;margin:0 0 20px;color:#8e6d3f;font-size:8px;text-transform:uppercase;letter-spacing:.2em}.summary>div{display:flex;flex-direction:column;padding:0 18px;border-right:1px solid #d8cdbd}.summary>div:nth-last-child(1){border:0}.summary span{color:#776e64;font-size:8px;text-transform:uppercase;letter-spacing:.15em}.summary strong{font:400 18px var(--serif)}.summary-total strong{color:#8e6d3f;font-size:25px}.personal-fields{display:flex;flex-direction:column;gap:24px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.personal-fields input:not([type=checkbox]),.personal-fields textarea{width:100%;padding:11px 4px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #bfb2a1;border-radius:0;font:300 15px var(--sans)}.personal-fields textarea{resize:vertical}.personal-fields input:focus,.personal-fields textarea:focus{outline:0;border-color:#8e6d3f}.personal-fields input:user-invalid{border-color:#b15b4d}.personal-fields small{font-size:7px}.consent{position:relative;display:grid!important;grid-template-columns:auto 1fr!important;flex-direction:row!important;gap:12px!important;align-items:start;cursor:pointer;text-transform:none!important;letter-spacing:0!important}.consent input{position:absolute;opacity:0}.custom-check{display:grid;place-items:center;width:20px;height:20px;border:1px solid #9b8d7a;color:transparent;font-size:12px}.consent input:checked+.custom-check{color:var(--ink);background:var(--gold);border-color:var(--gold)}.consent>span:last-child{font-size:11px!important;text-transform:none!important;letter-spacing:0!important}.important-notice{display:grid;grid-template-columns:auto 1fr;gap:20px;margin:35px 0;padding:24px;border-left:2px solid var(--gold);background:#e7ded1}.important-notice>span{color:#8e6d3f;font-size:8px;text-transform:uppercase;letter-spacing:.2em}.important-notice p{margin:0;color:#514940;font-size:12px}.submit-button{width:100%;display:flex;justify-content:space-between;padding:18px 22px;color:white;background:var(--ink);border:0;font:500 9px var(--sans);text-transform:uppercase;letter-spacing:.19em;cursor:pointer}.submit-button:hover{background:#8e6d3f}.submit-button span{color:var(--gold)}.demo-message{display:none;margin:18px 0 0;padding:17px;text-align:center;color:#6d522e;background:#e2d0b4;border:1px solid #c5a976;font-size:12px}.demo-message.show{display:block}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:42px clamp(24px,6vw,90px);color:#807971;background:#0d0b0a;font-size:8px;text-transform:uppercase;letter-spacing:.15em}.footer-brand{color:white;transform:scale(.8);transform-origin:left}
@media(max-width:900px){.booking-section{grid-template-columns:1fr}.section-intro{max-width:620px}.suite-options{max-width:760px}.steps{top:458px}.summary{grid-template-columns:1fr 1fr}.summary-title{grid-column:1/3}.summary>div{padding:12px 18px;border-bottom:1px solid #d8cdbd}.summary>div:nth-child(3){border-right:0}.summary>div:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:600px){.booking-header{padding:18px}.back-home{font-size:8px}.booking-hero{min-height:480px;padding-top:110px}.booking-hero h1{font-size:49px}.booking-hero>div>p:last-child{max-width:270px;margin:20px auto}.steps{top:408px;width:94%}.steps li{padding:0 6px}.booking-section{gap:36px;padding:70px 16px}.section-intro{padding:0 8px}.suite-options{grid-template-columns:1fr;gap:8px}.suite-option{height:430px}.suite-options>.field-error,.rate-reminder{grid-column:1}.suite-info{padding:25px}.rate-reminder{flex-wrap:wrap;gap:7px 15px;text-align:center}.rate-reminder>span{width:100%;margin-bottom:6px}.date-fields{grid-template-columns:1fr}.date-arrow{display:none}.dates-panel{padding:27px 20px}.availability-placeholder{padding:19px 16px}.availability-placeholder strong{font-size:17px}.estimate{align-items:end}.estimate>strong{font-size:46px}.field-row{grid-template-columns:1fr}.summary{grid-template-columns:1fr 1fr}.summary>div{padding:10px}.summary strong{font-size:16px}.summary-total strong{font-size:22px}.important-notice{grid-template-columns:1fr;gap:7px;padding:20px}.submit-button{padding:17px}.details-content{min-width:0}footer{flex-direction:column;text-align:center}.footer-brand{transform-origin:center}}

/* Bandeau d’introduction compact et tarifs intégrés à l’étape 1 */
.booking-hero{min-height:390px;padding:105px 24px 90px}
.booking-hero h1{font-size:clamp(48px,6vw,72px)}
.booking-hero>div>p:last-child{margin:14px 0}
.steps{top:326px}
.rate-reminder{display:block;grid-column:auto;margin-top:30px;padding:22px 0 0;border-top:1px solid #d8ccbc;background:transparent;color:#554c44;text-align:left}
.rate-reminder>span{display:block;width:auto;margin:0 0 14px;color:#8d6d40;font-size:7px;font-weight:500;text-transform:uppercase;letter-spacing:.16em}
.rate-reminder>div{display:flex;align-items:center;gap:18px}
.rate-reminder p{display:flex;flex-direction:column;margin:0}
.rate-reminder strong{color:#8d6d40;font:400 32px/1 var(--serif)}
.rate-reminder small{margin-top:4px;color:#6e655d;font-size:8px}
.rate-reminder i{width:1px;height:45px;background:#cfc3b2}

@media(max-width:900px){.steps{top:326px}.rate-reminder{max-width:390px}}
@media(max-width:600px){.booking-hero{min-height:355px;padding:92px 18px 82px}.booking-hero h1{font-size:43px}.booking-hero>div>p:last-child{max-width:270px;margin:12px auto}.steps{top:293px}.rate-reminder{margin-top:23px;padding-top:18px;text-align:left}.rate-reminder>span{width:auto;margin-bottom:11px}.rate-reminder>div{gap:14px}.rate-reminder strong{font-size:29px}.rate-reminder small{font-size:7px}.rate-reminder i{height:40px}}

.form-error-message{display:none;margin:15px 0 0;padding:14px 17px;color:#7d3329;background:#f0dcd7;border-left:2px solid #a74c3f;font-size:11px}.form-error-message.show{display:block}
