.reservation-heading{max-width:1100px;margin:0 auto;padding:55px 30px 35px;text-align:center}.reservation-heading h1{font-size:clamp(40px,4.3vw,60px)}.reservation-heading>p:not(.eyebrow){color:var(--muted)}.preview-label{display:inline-block;font-size:12px;border:1px solid #bda087;background:#e9d8c2;border-radius:30px;padding:7px 17px}.reservation-layout{max-width:1150px;margin:0 auto 80px;padding:0 30px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:30px;align-items:start}.booking-panel{background:#fffcf7;border:1px solid var(--line);border-radius:15px;padding:32px}.booking-progress{display:flex;gap:18px;list-style:none;margin:0 0 35px;padding:0;color:#776456;font-size:12px;justify-content:space-between}.booking-progress li{display:flex;align-items:center;gap:7px}.booking-progress li.current{color:#6c4d3c;font-weight:600}.booking-panel h2{font-size:27px;letter-spacing:-.02em;margin-bottom:20px}.service-options{display:grid;gap:13px}.service-option{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:transparent;border:1px solid var(--line);border-radius:12px;padding:20px;color:var(--ink)}.service-option>span:nth-child(2){flex:1}.service-option strong{font:19px "Nunito Sans",Arial;display:block;line-height:1.3}.service-option small{display:block;font:12px "Nunito Sans",Arial;margin-top:9px;color:var(--muted)}.service-option b{font:25px "Nunito Sans",Arial;white-space:nowrap}.service-option.selected{background:#ecdbca;border:1.5px solid #845e45;box-shadow:0 3px 10px #6547370a}.radio-mark{border:1px solid #ab8c73;border-radius:50%;width:17px;height:17px;flex-shrink:0}.selected .radio-mark{border:5px solid #75513b;background:#fffaf3}.calendar-top{margin-top:38px}.calendar-top h2{margin:0 0 8px}.calendar-top p,.booking-form-preview>p{font-size:12px;color:var(--muted)}.month-nav{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:19px 0}.month-nav strong{font:22px "Nunito Sans",Arial;text-transform:capitalize}.month-nav button{background:none;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;color:var(--ink);font-size:22px;line-height:1}.month-nav button:disabled{opacity:.3;cursor:default}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.weekdays{font-size:11px;color:var(--muted);margin-bottom:12px}.calendar-days button{background:none;border:0;aspect-ratio:1;border-radius:50%;color:var(--ink);font-size:13px;max-height:48px;justify-self:center;width:100%}.calendar-days button:hover:not(:disabled){background:#ecdbca}.calendar-days button.selected{background:#75513b;color:white}.calendar-days button:disabled{color:#c9bfb5;cursor:default}.slot-message{display:flex;gap:12px;padding:20px;background:#ecdfd2;border-radius:10px;margin-top:25px}.slot-message strong{font-size:13px;font-weight:500}.slot-message p{font-size:12px;line-height:1.7;color:var(--muted);margin:6px 0 0}.status-dot{width:7px;height:7px;border-radius:50%;background:#92715e;margin-top:8px;flex-shrink:0}.booking-summary{background:#e7d6c6;border:1px solid #d0b8a2;border-radius:15px;padding:30px;position:sticky;top:25px}.booking-summary h2{font-size:30px}.summary-line{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:15px 0;border-bottom:1px solid #c8ae96}.summary-line strong{font-weight:500}.summary-place{margin-top:28px}.summary-place .eyebrow{font-size:10px}.summary-place p{font-size:14px;margin:10px 0 15px}.summary-payment{font-size:12px;color:var(--muted);margin-top:25px}.summary-help{border-top:1px solid #c8ae96;padding-top:23px;font-size:12px}.summary-help strong{font-weight:500;display:block}.summary-help a{font:23px "Nunito Sans",Arial;display:block;margin:8px 0 15px}.summary-help p{color:var(--muted)}.current-booking{display:block;font-size:12px;text-decoration:underline;text-underline-offset:4px}.booking-form-preview{border-top:1px solid var(--line);padding-top:30px;margin-top:30px}.booking-form-preview fieldset{padding:0;border:0;margin:0;min-width:0}.booking-form-preview label{font-size:12px;display:block;margin-bottom:15px;color:var(--muted)}.booking-form-preview input{display:block;width:100%;font:14px "Nunito Sans",Arial;padding:12px;border:1px solid var(--line);border-radius:7px;margin-top:6px;background:#f5f1eb;min-width:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-form-preview .button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;background:#92715e;border:0;min-height:48px;font-size:13px}.booking-form-preview>h2{margin-bottom:10px}@media(max-width:800px){.reservation-layout{grid-template-columns:1fr;padding:0 20px;gap:22px}.reservation-heading{padding:35px 25px 30px}.booking-panel{padding:23px}.booking-summary{position:static}.booking-progress{gap:9px;font-size:10px}.service-option{padding:17px 13px;gap:10px}.service-option strong{font-size:17px}.booking-panel h2{font-size:25px}.calendar-days button{max-height:44px}.service-option b{font-size:23px}}
.time-slots{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.time-slots button{border:1px solid #92715e;border-radius:9px;background:#fffcf7;color:var(--ink);padding:10px 20px;font-size:14px}.time-slots button:hover,.time-slots button.chosen{background:#75513b;color:white}.consent-label{display:flex!important;align-items:start;gap:10px;font-size:11px!important;line-height:1.7}.consent-label input{display:inline!important;width:auto!important;margin-top:4px;accent-color:#75513b}.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.reservation-success,.reservation-error{padding:20px;border-radius:10px;margin:20px 0;font-size:14px;line-height:1.8}.reservation-success{background:#e7eddf;color:#3f5131}.reservation-error{background:#f1dfd9;color:#713b2b}

/* Un récapitulatif taupe, avec une écriture brune bien contrastée. */
.booking-summary{--ink:#49392f;--muted:#655248;--line:#bca18c;--taupe:#8c6b55;--lavender:#786580;background:#dfcbb8;color:var(--ink);border-color:#bca18c}.booking-summary .summary-line,.booking-summary .summary-help{border-color:#bca18c}.booking-summary a:hover{color:#6d5a75}.booking-summary .text-link{border-color:#8c6b55}

/* Les repères de la séance : une lecture simple, du tarif aux informations pratiques. */
.booking-summary.session-summary{padding:0;position:static;overflow:hidden;background:#fffaf4;border:1px solid #d0b79f;border-radius:17px;box-shadow:0 7px 24px #6247310a}.session-summary .summary-heading{padding:25px 25px 23px;background:#eee1d3;border-bottom:1px solid #d7bea6}.session-summary .summary-heading>.eyebrow{font-size:12px;font-weight:750;letter-spacing:.13em;color:#7b5941;margin-bottom:12px}.session-summary h2{font-size:28px;font-weight:600;line-height:1.2;letter-spacing:-.025em;color:#624731;margin-bottom:14px}.session-summary .summary-intro{font-size:15px;line-height:1.75;color:#6c5443;margin:0}.session-summary .summary-content{padding:23px 25px 25px}.session-summary .summary-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-bottom:25px}.session-summary .summary-fact{min-width:0;padding:15px 12px;background:#f3ece3;border:1px solid #e0cebb;border-radius:11px}.session-summary .summary-fact>p{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:650;line-height:1.4;color:#74583f;margin:0 0 10px}.session-summary .summary-icon{width:21px;height:21px;flex:none}.session-summary .summary-fact>strong{display:block;font-size:18px;font-weight:700;line-height:1.35;color:#624731}.session-summary .summary-fact-price{background:#eee5f0;border-color:#ddcce2}.session-summary .summary-fact-price>p{color:#6d5975}.session-summary .summary-fact-price>strong{font-size:31px;line-height:1.1;color:#6d5975}.session-summary .summary-place{margin:0 0 23px}.session-summary h3{font-family:'Nunito Sans',Arial,sans-serif;font-size:17px;font-weight:700;line-height:1.4;letter-spacing:0;margin:0 0 12px;color:#624731}.session-summary .summary-place h3{display:flex;gap:9px;align-items:center}.session-summary .summary-place>p{font-size:16px;line-height:1.7;color:#655248;margin:0 0 12px}.session-summary .summary-place>p strong{font-weight:650}.session-summary .summary-place .text-link{font-size:14px;line-height:1.6;padding-bottom:5px;gap:0;color:#6d5975;border-color:#bc9fc6}.session-summary .summary-payment{margin:0 0 23px;padding:18px;background:#f0e8f1;border:1px solid #dfcde1;border-radius:11px;color:#65516d}.session-summary .summary-payment h3{font-size:16px;color:#65516d;margin-bottom:12px}.session-summary .summary-payment-list{display:flex;flex-wrap:wrap;gap:4px 0;list-style:none;margin:0 0 11px;padding:0;font-size:15px;font-weight:700;line-height:1.5}.summary-payment-list li+li::before{content:'·';padding:0 8px;color:#9e82a8}.session-summary .summary-payment>p{font-size:14px;line-height:1.6;margin:0;color:#65516d}.session-summary .summary-payment>.summary-payment-excluded{font-size:13px;font-weight:600;line-height:1.65;margin-top:9px;padding-top:10px;border-top:1px solid #d9c8df}.session-summary .summary-help{padding:20px 0 0;border-color:#d5bfaa;font-size:15px}.session-summary .summary-help>strong{font-size:16px;font-weight:700;line-height:1.5;color:#624731}.session-summary .summary-help>a{display:inline-flex;align-items:center;white-space:nowrap;font-size:22px;font-weight:650;line-height:1.5;color:#624731;margin:10px 0 13px;min-height:40px}.session-summary .summary-help>p{font-size:14px;line-height:1.75;color:#655248;margin:0}
@media(max-width:1000px) and (min-width:801px){.session-summary .summary-heading{padding:23px 20px}.session-summary .summary-content{padding:21px 18px}.session-summary .summary-facts{gap:9px}.session-summary .summary-fact{padding:14px 10px}.session-summary .summary-fact>strong{font-size:17px}.session-summary .summary-fact-price>strong{font-size:29px}.session-summary .summary-help>a{font-size:20px}}
@media(max-width:800px){.session-summary .summary-heading{padding:25px 23px 23px}.session-summary h2{font-size:29px}.session-summary .summary-content{padding:23px}.session-summary .summary-intro{font-size:16px}.session-summary .summary-fact{padding:17px 14px}.session-summary .summary-fact>strong{font-size:19px}.session-summary .summary-fact-price>strong{font-size:33px}.session-summary .summary-place>p{font-size:16px}}
@media(max-width:360px){.session-summary .summary-heading{padding:23px 18px}.session-summary .summary-content{padding:20px 18px}.session-summary h2{font-size:27px}.session-summary .summary-facts{gap:9px}.session-summary .summary-fact{padding:14px 10px}.session-summary .summary-fact>strong{font-size:17px}.session-summary .summary-fact-price>strong{font-size:30px}.session-summary .summary-fact>p{gap:5px;font-size:11px}.session-summary .summary-icon{width:19px;height:19px}.session-summary .summary-help>a{font-size:21px}}

/* Le récapitulatif correspond explicitement à la prestation choisie. */
.session-summary .summary-caption{font-size:17px;font-weight:700;line-height:1.45;letter-spacing:0;text-transform:none;color:#7b5941;margin:0 0 16px}.session-summary .summary-intro{font-size:14px;line-height:1.75}

/* Fonds de réservation identiques au beige du logo. */
.preview-label,.booking-panel,.slot-message,.booking-summary,
.booking-summary.session-summary,.session-summary .summary-heading,
.session-summary .summary-fact,.session-summary .summary-fact-price,
.session-summary .summary-payment,.booking-form-preview input{
  background:var(--logo-background);
}
