:root{--bg:#fffbfd;--panel:#fff;--gold:#b00060;--text:#231b23;--muted:#6f606c;--pink:#cc0072;--pink-pale:#fff0f7;--line:#e9dce5}html{scroll-padding-top:110px}body.reservation-page{background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}header{height:106px;background:#fff;border-bottom:1px solid var(--line);padding:12px 5%;gap:25px}header .brand img{width:195px;height:auto;max-height:90px;object-fit:contain}header nav{gap:25px;flex-wrap:wrap;color:#30232d}header .reserve-link{display:block!important;background:var(--pink);color:white;border-radius:30px;padding:12px 23px;font-weight:bold}.booking{max-width:1470px;margin:auto;padding:0 5%}.intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6%;padding:70px 0 80px;min-height:650px}.intro .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:23px}.intro h1{font-size:clamp(43px,5.4vw,76px);letter-spacing:-3px;line-height:1.05;margin-bottom:25px;font-weight:600}.intro em{color:var(--pink)}.intro-copy>p:not(.eyebrow){max-width:430px;color:var(--muted);line-height:1.8}.hero-book{display:inline-flex;gap:32px;align-items:center;background:var(--pink);color:#fff;padding:17px 25px;border-radius:35px;font-size:14px;font-weight:bold;box-shadow:0 8px 25px #cc007226;transition:transform .2s,box-shadow .2s}.hero-book:hover{transform:translateY(-3px);box-shadow:0 12px 30px #cc007235}.hero-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;font-size:11px}.hero-chips span{padding:7px 12px;border:1px solid #e7c8d9;border-radius:20px;background:#fff}.intro-copy .hero-caption{font-size:12px;margin-top:20px}.hero-photos{position:relative;min-height:490px;isolation:isolate}.hero-photos:before{content:'';position:absolute;inset:15px -15px 0 20px;background:#fbdde9;border-radius:48% 45% 40% 48%;transform:rotate(-8deg);z-index:-1}.hero-photos figure{margin:0;overflow:hidden;background:white;box-shadow:0 15px 45px #59304720;border:7px solid white;border-radius:18px}.hero-main-photo{position:absolute;top:5px;left:0;width:88%;transform:rotate(-3deg)}.hero-main-photo img{display:block;width:100%;height:290px;object-fit:cover}.hero-photos figcaption{font-size:11px;padding:10px 7px;color:#57404e}.hero-small-photo{position:absolute;bottom:0;right:-8px;width:40%;transform:rotate(5deg)}.hero-small-photo img{display:block;width:100%;height:235px;object-fit:cover;object-position:center 35%}.photo-stamp{position:absolute;bottom:38px;left:15px;color:#a20057;font-family:Georgia,serif;font-style:italic;font-size:24px;line-height:1.25;transform:rotate(-8deg)}.photo-stamp strong{font-weight:400}.promises{display:flex;justify-content:space-between;gap:15px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 30px;color:#55434f;font-size:13px}.promises b{color:var(--pink);font-size:20px;margin-right:12px}.showcase{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:60px 0}.showcase h2{font-size:38px;letter-spacing:-1.5px;margin-bottom:20px}.showcase p{color:var(--muted);max-width:440px;font-size:14px}.showcase video{width:100%;height:300px;object-fit:contain;border-radius:18px;background:#1c151a;box-shadow:0 10px 30px #35202b15}.eyebrow{color:var(--pink)}em{color:var(--pink)}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:32px;align-items:start;padding-top:8px}.step{padding:30px;background:white;border:1px solid var(--line);border-radius:18px;margin-bottom:24px}.step .eyebrow{margin-bottom:12px}.step h2{font-size:32px;margin-bottom:24px;letter-spacing:-1px}.step>p{color:var(--muted);font-size:14px}fieldset{border:0;padding:0;margin:0 0 25px}legend{font-size:14px;font-weight:bold;margin-bottom:12px}.audience{display:grid;grid-template-columns:1fr 1fr;gap:12px}.audience label,.plan,.extra{background:#fff;border:1px solid #ddcfda;border-radius:12px;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}.audience label{padding:17px;font-size:14px}.audience label:has(input:checked),.plan:has(input:checked),.extra:has(input:checked){border-color:var(--pink);background:var(--pink-pale);box-shadow:0 0 0 1px var(--pink)}.audience small{display:block;margin-left:22px;margin-top:5px;color:var(--muted);font-size:11px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fields label{font-size:13px;font-weight:600}.fields input,.fields select,.fields textarea{display:block;width:100%;background:#fffcfe;color:var(--text);border:1px solid #d9cbd5;border-radius:8px;padding:13px;margin-top:7px;font:inherit;font-weight:400;color-scheme:light;min-height:46px}.fields input:focus,.fields select:focus,.fields textarea:focus{outline:2px solid var(--pink);outline-offset:2px}.wide{grid-column:1/-1}.note{font-size:12px;color:var(--muted);line-height:1.65;margin:16px 0}.step p.note{font-size:12px}.recommendation{padding:14px;border-left:3px solid var(--pink);background:var(--pink-pale);border-radius:0 8px 8px 0}.plans{display:grid;grid-template-columns:1fr 1fr;gap:14px}.plan{display:flex;flex-direction:column;gap:9px;padding:20px;position:relative}.plan:hover{transform:translateY(-2px)}.plan-title{font-size:23px;display:flex;gap:9px;align-items:center;font-weight:600}.plan-price{font-size:22px;color:var(--pink);font-weight:bold}.plan small{color:var(--muted);font-size:11px}.plan .badge{font-size:9px;color:#a00055;text-transform:uppercase;letter-spacing:1px;min-height:17px}.plan p{margin:0;font-size:12px}.plan .plan-image{width:100%;height:120px;object-fit:cover;border-radius:7px;margin-bottom:4px}.extras{display:grid;grid-template-columns:1fr 1fr;gap:12px}.extra{padding:0;overflow:hidden}.extra img{height:135px;width:100%;object-fit:cover;background:#f5f0f3}.extra-content{display:block;padding:15px}.extra strong{font-size:14px}.extra small{display:block;color:var(--pink);margin:8px 0}.extra span span{display:block;color:var(--muted);font-size:12px}.extra span span:last-child{margin-top:14px;color:var(--text)}.summary{position:sticky;top:20px;background:#fff;color:var(--text);padding:25px;border:1px solid #e8c5d8;border-radius:18px;box-shadow:0 12px 40px #50213a0b}.summary-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.summary-heading .eyebrow{margin:0;font-size:11px;letter-spacing:1.5px}.summary-icon{display:grid;place-items:center;width:37px;height:37px;background:var(--pink-pale);color:var(--pink);border-radius:50%;font-size:22px}.summary h2{font-size:32px;margin-bottom:8px}.summary p{font-size:13px}.summary .note{color:var(--muted);font-size:11px}.summary dl{display:grid;grid-template-columns:1fr 1.3fr;gap:8px 12px;font-size:12px;margin:20px 0;border-top:1px solid var(--line);padding-top:18px}.summary dt{color:var(--muted)}.summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.totals{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-top:20px}.totals>div{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin:12px 0}.totals strong{white-space:nowrap;font-size:14px}.totals .deposit{font-size:12px;background:var(--pink-pale);margin-left:-10px;margin-right:-10px;padding:14px 10px;border-radius:8px;align-items:center}.deposit strong{font-size:21px;color:var(--pink)}.pay,.secondary{display:block;width:100%;padding:16px 12px;border:0;border-radius:8px;font:inherit;font-size:11px;font-weight:bold;text-align:center;cursor:pointer;transition:background .2s,transform .2s;min-height:48px}.pay{background:var(--pink);color:white;box-shadow:0 6px 16px #cc00721a}.pay:hover{background:#a6005b;transform:translateY(-2px)}.secondary{background:transparent;border:1px solid #d2bcc9;margin-top:12px;color:#6d2250}.secondary:hover{background:var(--pink-pale)}.help{font-size:12px;color:var(--pink);text-decoration:underline}.consent{display:block;font-size:12px;font-weight:400;margin-top:20px}input[type=radio],input[type=checkbox]{accent-color:var(--pink);width:16px;height:16px;vertical-align:middle}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:3px}[hidden]{display:none!important}.brochure{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;margin:0 0 24px}.brochure summary{cursor:pointer;font-size:13px;display:flex;justify-content:space-between;gap:15px}.brochure summary span{color:var(--pink);font-size:20px}.brochure img{display:block;width:100%;max-width:600px;height:auto;margin:20px auto 0;border-radius:8px}.payment-methods{font-size:12px;margin-top:20px}.payment-methods label{display:inline-block;margin-right:10px}.payment-methods legend{font-weight:bold;font-size:12px}dialog{max-width:520px;width:calc(100% - 35px);background:white;color:var(--text);padding:30px;border:1px solid var(--line);border-radius:18px}dialog::backdrop{background:#27132099;backdrop-filter:blur(4px)}dialog h2{font-size:32px;margin-bottom:20px}dialog p{font-size:14px}.mobile-summary{display:none}footer{margin-top:50px;background:#fff;border-top:1px solid var(--line);color:var(--muted);justify-content:space-between}footer .brand img{width:180px;height:auto}footer a{font-size:13px}.reveal{animation:rise .65s ease both}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1050px){.booking-layout{grid-template-columns:minmax(0,1fr) 310px;gap:20px}.step{padding:22px}.summary{padding:20px}.hero-photos{min-height:435px}.hero-main-photo img{height:245px}.hero-small-photo img{height:205px}.intro h1{font-size:55px}.audience{grid-template-columns:1fr}}@media(max-width:750px){html{scroll-padding-top:20px}.booking{padding:0 5%}.intro{grid-template-columns:1fr;padding:40px 0 35px;gap:28px;min-height:0}.intro h1{font-size:clamp(43px,8vw,60px);letter-spacing:-2px}.intro-copy>p:not(.eyebrow){max-width:100%}.hero-photos{min-height:430px;max-width:520px;width:100%;margin:0 auto}.hero-main-photo img{height:260px}.hero-small-photo img{height:210px}.hero-caption{display:none}.promises{display:grid;grid-template-columns:1fr 1fr;padding:20px;gap:16px;font-size:11px}.promises b{font-size:17px;margin-right:7px}.showcase{grid-template-columns:1fr;padding:38px 0;gap:16px}.showcase h2{font-size:30px}.showcase video{height:270px}.booking-layout{display:flex;flex-direction:column;gap:0}.booking-layout>div,.summary{width:100%}.summary{position:static;margin-bottom:35px;scroll-margin-top:20px}.fields{grid-template-columns:1fr 1fr}.plans,.extras{grid-template-columns:1fr 1fr}.step{padding:22px 18px}.step h2{font-size:28px}.plan{padding:14px}.plan-price{font-size:18px}.plan-title{font-size:21px}.plan .plan-image{height:95px}.extra img{height:110px}header{padding:12px 5%;height:auto;gap:15px;flex-wrap:wrap}header .brand img{width:155px}header nav{gap:14px;flex-wrap:wrap}header nav a{display:block!important;font-size:12px}header nav .reserve-link{padding:9px 15px}.mobile-summary{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:5;background:#fff;border-top:1px solid #e5bbd1;box-shadow:0 -4px 20px #4c163c12;padding:12px 5%;padding-bottom:max(12px,env(safe-area-inset-bottom));align-items:center;justify-content:space-between;font-size:11px}.mobile-summary strong{display:block;color:var(--pink);font-size:17px}.mobile-summary>span:last-child{color:var(--pink);font-weight:bold}body{padding-bottom:80px}footer{flex-wrap:wrap;gap:20px;padding:25px 5%}.totals strong{font-size:16px}.deposit strong{font-size:24px}}@media(max-width:440px){.fields{grid-template-columns:1fr}.hero-photos{min-height:350px}.hero-main-photo img{height:215px}.hero-small-photo img{height:165px}.photo-stamp{font-size:20px;bottom:20px}.hero-small-photo{right:0}.hero-photos:before{right:0}.extra-content{padding:12px}.plan-price{font-size:16px}.plan{padding:12px}.plan small{font-size:10px}.promises{padding:16px}}@media(max-width:355px){.plans,.extras{grid-template-columns:1fr}.intro h1{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Ajustements de lisibilité et de style demandés */
.step h2.large-section-title{font-size:clamp(36px,4vw,46px);line-height:1.14;letter-spacing:-1.2px}
.step p.location-note{font-weight:700;font-style:italic;color:#594250;font-size:13px}
.promises{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.promises>span{font-family:"Chalkboard SE","Comic Sans MS","Trebuchet MS",cursive;font-size:19px;font-weight:700;line-height:1.35;color:#78234f;display:flex;align-items:center;gap:12px}
.promises b{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;font-size:22px;margin:0;background:#fff0f7;border-radius:14px;transform:rotate(-5deg)}
.photo-stamp{font-family:"Chalkboard SE","Comic Sans MS","Trebuchet MS",cursive;font-size:clamp(27px,2.8vw,36px);font-style:normal;font-weight:700;line-height:1.2;position:relative;left:auto;bottom:auto;display:block;width:max-content;max-width:100%;padding:16px 22px;margin:22px 0 0;border-radius:20px;background:#fff0f7;transform:rotate(-4deg)}
.photo-stamp strong{font-weight:700}
.hero-photos{display:flex;flex-direction:column;min-height:0;padding-bottom:80px}
.hero-main-photo{position:relative;top:auto;left:auto;align-self:flex-start}
.hero-small-photo{bottom:0;z-index:1}
@media(max-width:1100px){.promises{grid-template-columns:repeat(2,minmax(0,1fr))}.promises>span{font-size:20px}.photo-stamp{font-size:27px;padding:15px 12px}}
@media(max-width:750px){.step h2.large-section-title{font-size:clamp(34px,6vw,42px)}.promises>span{font-size:19px;gap:9px}.promises b{flex-basis:36px;width:36px;height:36px;font-size:20px}.hero-photos{min-height:0;padding-bottom:65px}.photo-stamp{font-size:clamp(25px,4.8vw,34px);margin-top:20px;width:58%}.hero-small-photo{width:38%}.step p.location-note{font-size:13px}}
@media(max-width:440px){.promises{grid-template-columns:1fr}.promises>span{font-size:21px}.photo-stamp{font-size:24px;padding:15px 10px}.step h2.large-section-title{font-size:34px}}

#extras .extra{cursor:default;display:flex;flex-direction:column}
#extras .extra>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#fff}
#extras .extra-content{display:flex;flex-direction:column;flex:1;padding:18px;gap:10px}
#extras .extra-content strong{font-size:16px;line-height:1.45}
#extras .extra-price{font-size:22px;font-weight:800;color:#7624aa;margin:0}
#extras .extra-description{font-size:13px;color:var(--muted);margin:0}
#extras .extra-inclusions{font-style:italic;font-size:13px;line-height:1.7;color:#574352;margin:0 0 8px}
.extra-toggle{margin-top:auto;width:100%;border:2px solid #7624aa;border-radius:8px;background:white;color:#7624aa;padding:13px 10px;font-weight:700;font-size:14px;cursor:pointer}
.extra-toggle[aria-pressed=true]{background:#7624aa;color:#fff}
#extras .extra:has(input:checked){border-color:#7624aa;box-shadow:0 0 0 1px #7624aa;background:#faf4ff}
@media(max-width:440px){#extras{grid-template-columns:1fr}#extras .extra-price{font-size:24px}}

.reservation-page footer{display:grid;grid-template-columns:minmax(250px,1fr) minmax(220px,1fr) auto;align-items:center;gap:35px}.reservation-page footer .brand{width:100%;max-width:390px}.reservation-page footer .brand img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}.reservation-page footer p{margin:0}@media(max-width:900px){.reservation-page footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px}.reservation-page footer>a:last-child{grid-column:1/-1}}@media(max-width:500px){.reservation-page footer{grid-template-columns:1fr}.reservation-page footer .brand{max-width:340px;margin:auto}.reservation-page footer p{text-align:center}.reservation-page footer>a:last-child{text-align:center}}

.extra-days,.salon-duration select{display:block;width:100%;min-height:48px;border:2px solid #7624aa;border-radius:8px;padding:12px;background:#fff;color:#542077;font-size:15px;font-weight:bold}.extra-days-label{margin-top:auto;font-size:13px;font-weight:bold;color:#542077}.extra-subtotal{font-size:15px;font-weight:bold;color:#7624aa;margin:0}#extras .extra-price small{display:inline;font-size:12px;color:#7624aa}.extra.is-selected{border-color:#7624aa;box-shadow:0 0 0 1px #7624aa;background:#faf4ff}.salon-duration{margin-top:18px;background:#fff0f7;border:1px solid #e4b4d0;border-radius:12px;padding:20px}.salon-duration label{display:block;font-weight:bold;margin-bottom:10px}.salon-duration p{font-size:12px;margin:12px 0}.salon-duration strong{font-size:14px}.salon-duration select{border-color:#cc0072;color:#78234f}

/* Multi-date calendar linked to booking totals */
.event-calendar{margin:26px 0 0;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fffbfd}
.event-calendar legend{padding:0 8px;font-size:17px;color:#78234f}
.calendar-help{font-size:13px;color:var(--muted);margin:0 0 18px;line-height:1.6}
.calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.calendar-navigation h3{font-size:19px;font-weight:700;letter-spacing:0;margin:0;text-transform:capitalize}
.calendar-navigation button{width:42px;height:42px;border:1px solid #e5bbd1;border-radius:50%;background:white;color:var(--pink);font-size:28px;cursor:pointer}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}
.calendar-weekdays{font-size:12px;font-weight:bold;color:var(--muted);margin-bottom:8px}
.calendar-day{width:100%;aspect-ratio:1;min-height:36px;max-height:58px;border:1px solid #e9dce5;border-radius:9px;background:white;color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.calendar-day[aria-current=date]{border-color:var(--pink)}
.calendar-day[aria-pressed=true]{background:var(--pink);border-color:var(--pink);color:white;box-shadow:0 3px 9px #cc007225}
.calendar-day:hover:not(:disabled){border-color:var(--pink)}
.calendar-day:disabled,.calendar-navigation button:disabled{opacity:.3;cursor:default}
.calendar-count{font-size:14px;font-weight:bold;color:#78234f;margin:18px 0 12px}
.selected-dates{display:flex;flex-wrap:wrap;gap:8px}
.selected-date{border:1px solid #e5bbd1;border-radius:24px;background:var(--pink-pale);color:#78234f;padding:9px 12px;font:inherit;font-size:12px;cursor:pointer}
.calendar-error{color:#a00035;font-size:13px;font-weight:bold;margin-top:14px}
#extras .extra-subtotal:empty{display:none}
#extras .extra-toggle{margin-top:auto}
@media(max-width:440px){.event-calendar{padding:14px 10px}.calendar-days,.calendar-weekdays{gap:4px}.calendar-navigation h3{font-size:17px}.calendar-day{font-size:13px;min-height:34px}}

.step>p.extras-intro{font-weight:700;color:#995647}
#plans .plan-image{height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}

/* Reservation: black, white and gold */
body.reservation-page{--bg:#0c0c0b;--panel:#181816;--text:#faf7f0;--muted:#c5c1b7;--gold:#dfbd72;--pink:#dfbd72;--pink-pale:#29251b;--line:#3a362c;background:var(--bg);color:var(--text);color-scheme:dark}
.reservation-page header{background:#080809;border-color:var(--line)}
.reservation-page header nav{color:var(--text)}
.reservation-page header .reserve-link,.reservation-page .hero-book,.reservation-page .pay{background:var(--gold);color:#17130c;box-shadow:0 6px 24px #dfbd721a}
.reservation-page .hero-book:hover,.reservation-page .pay:hover{background:#f0d69d}
.reservation-page .eyebrow,.reservation-page em{color:var(--gold)}
.reservation-page .hero-chips span{background:var(--panel);border-color:#665738}
.reservation-page .hero-photos:before{background:#302719}
.reservation-page .hero-photos figure{background:#181816;border-color:#3a3325;box-shadow:0 15px 45px #0006}
.reservation-page .hero-photos figcaption{color:var(--muted)}
.reservation-page .photo-stamp{background:#29251b;color:var(--gold)}
.reservation-page .promises{background:var(--panel);color:var(--text);border-color:var(--line)}
.reservation-page .promises>span,.reservation-page .promises b{color:var(--gold)}
.reservation-page .promises b{background:#29251b}
.reservation-page .step,.reservation-page .summary{background:var(--panel);border-color:var(--line)}
.reservation-page .summary{border-color:#6a5834;box-shadow:0 12px 40px #0004}
.reservation-page .audience label,.reservation-page .plan,.reservation-page .extra{background:#111110;border-color:#494334;color:var(--text)}
.reservation-page .audience label:has(input:checked),.reservation-page .plan:has(input:checked){background:#29251b;border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.reservation-page .plan .badge{color:var(--gold)}
.reservation-page .plan-sharing{color:#e7d4a9;font-size:12px;line-height:1.6}
.reservation-page .fields input,.reservation-page .fields select,.reservation-page .fields textarea{background:#10100f;color:var(--text);border-color:#5a513e;color-scheme:dark}
.reservation-page .fields input::placeholder,.reservation-page .fields textarea::placeholder{color:#a8a397;opacity:1}
.reservation-page .step p.location-note{color:#d4c9b0}
.reservation-page .recommendation{background:#29251b;color:#e8dfcd}
.reservation-page .step>p.extras-intro{color:#dfbd72}
.reservation-page #extras .extra-price,.reservation-page #extras .extra-price small,.reservation-page .extra-subtotal{color:var(--gold)}
.reservation-page #extras .extra-inclusions{color:#d2c9b7}
.reservation-page .extra-toggle{background:transparent;border-color:var(--gold);color:var(--gold)}
.reservation-page .extra-toggle[aria-pressed=true]{background:var(--gold);color:#17130c}
.reservation-page .extra.is-selected,.reservation-page #extras .extra:has(input:checked){background:#29251b;border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.reservation-page .secondary{border-color:#9b804a;color:#f2dab0}
.reservation-page .secondary:hover{background:#29251b}
.reservation-page .salon-duration{background:#29251b;border-color:#6a5834}
.reservation-page .event-calendar{background:#111110;border-color:#494334}
.reservation-page .event-calendar legend,.reservation-page .calendar-count{color:var(--gold)}
.reservation-page .calendar-navigation button{background:#1c1b17;border-color:#665738;color:var(--gold)}
.reservation-page .calendar-day{background:#1c1b17;border-color:#494334;color:var(--text)}
.reservation-page .calendar-day[aria-current=date]{border-color:var(--gold)}
.reservation-page .calendar-day[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#17130c;box-shadow:0 3px 9px #dfbd721a}
.reservation-page .calendar-day:hover:not(:disabled){border-color:var(--gold)}
.reservation-page .selected-date{background:#29251b;border-color:#89713f;color:#f2dab0}
.reservation-page .calendar-error{color:#ffac91}
.reservation-page .mobile-summary{background:#111110;border-color:#6a5834;box-shadow:0 -4px 20px #0006;color:var(--text)}
.reservation-page footer{background:#080809;border-color:var(--line);color:var(--muted)}
.reservation-page dialog{background:#181816;border-color:#6a5834;color:var(--text)}
.reservation-page dialog::backdrop{background:#000b}

/* Festive red and fuchsia backdrop for the booking page. */
body.reservation-page{
  background-color:#68032f;
  background-image:radial-gradient(ellipse at 95% 5%,#d0007080 0,transparent 42%),radial-gradient(ellipse at 0% 30%,#e3264570 0,transparent 45%),linear-gradient(135deg,#790c25 0%,#920746 35%,#780064 68%,#46052c 100%);
  background-repeat:no-repeat;
  background-size:100% 100%;
}
.reservation-page .booking{background:transparent}
.reservation-page .intro-copy>p:not(.eyebrow),.reservation-page .showcase p{color:#fff0f6}
.reservation-page .intro .eyebrow,.reservation-page .intro em,.reservation-page .showcase .eyebrow{color:#ffe4a3}
.reservation-page .intro h1,.reservation-page .showcase h2{color:#fffafc}
.reservation-page .hero-photos:before{background:linear-gradient(145deg,#ff5aa480,#f72b5360)}
.reservation-page .step,.reservation-page .summary{box-shadow:0 14px 38px #35001c38}

/* Annotations 1–10: event details and calendar typography. */
.reservation-page .event-details .audience label{color:#ff4d9b;font-size:20px;font-weight:700;line-height:1.45}
.reservation-page .event-details .audience small{color:#ff79b4;font-size:15px;line-height:1.5}
.reservation-page .event-details .fields>label{color:#ff4d9b;font-size:18px;font-weight:700;line-height:1.5}
.reservation-page .event-details .fields input,.reservation-page .event-details .fields select{font-size:16px;color:var(--text)}
.reservation-page .event-details #calendar-month{color:#ff4d9b;font-size:24px;line-height:1.4}
.reservation-page .event-details .calendar-weekdays{color:#ff4d9b;font-size:16px;font-weight:700}
.reservation-page .event-details .calendar-day{color:#ff4d9b;font-size:18px;font-weight:700}
.reservation-page .event-details .calendar-day[aria-pressed=true]{background:#ff4d9b;border-color:#ff4d9b;color:#21000e}
@media(max-width:440px){.reservation-page .event-details .calendar-weekdays{font-size:14px}.reservation-page .event-details .calendar-day{font-size:17px}.reservation-page .event-details #calendar-month{font-size:22px}}
