/* Isolated Lovable-style booking preview. Never targets Home or Prijslijst. */
body.ldn-booking-page, .ldn-booking-page #main-content { background:hsl(30,20%,97%); }
.ldn-booking-page #main-content { min-height:100vh; }
.ldn-book { --book-ink:hsl(30,10%,12%); --book-muted:hsl(30,5%,42%); --book-line:hsl(30,8%,85%); --book-paper:hsl(30,20%,97%); }
.ldn-book-brand :where(h1) { font-size:30px; line-height:36px; padding:0; }
@media(min-width:640px) { .ldn-book-brand :where(h1) { font-size:36px; line-height:40px; } }
.ldn-book-brand a:hover { opacity:.75; }
.ldn-book-address, .ldn-book-label { text-transform:uppercase; }
.ldn-book-category + .ldn-book-category, .ldn-book-service + .ldn-book-service { border-top:1px solid hsla(30,8%,85%,.8); }
.ldn-book-category a { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:24px 0; text-decoration:none; }
.ldn-book-category a:hover { color:hsl(30,5%,42%); }
.ldn-book-chevron { width:16px; height:16px; position:relative; opacity:.5; flex-shrink:0; }
.ldn-book-chevron::after { content:''; position:absolute; top:4px; left:2px; width:7px; height:7px; border-top:1.33px solid currentColor; border-right:1.33px solid currentColor; transform:rotate(45deg); }
.ldn-book-category a:hover .ldn-book-chevron { opacity:1; }
.ldn-book-service p { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:24px 0; }
.ldn-book-service-info { flex:1; min-width:0; }
.ldn-book-service-name { display:block; font:500 21px/1.5 'Cormorant Garamond',serif; color:hsl(30,10%,12%); }
.ldn-book-service-meta { display:block; font:300 11px/16.5px Inter,sans-serif; color:hsla(30,5%,42%,.7); margin-top:6px; }
.ldn-book-service a { flex-shrink:0; border:1px solid hsla(30,10%,12%,.3); border-radius:2px; padding:10px 24px; color:hsl(30,10%,12%); font:300 12px/16px Inter,sans-serif; letter-spacing:1.2px; text-transform:uppercase; text-decoration:none; }
.ldn-book-service a:hover { background:hsl(30,10%,12%); color:hsl(30,20%,97%); }
.ldn-book-back { margin-bottom:32px !important; }
.ldn-book-back a { font:300 12px/16px Inter,sans-serif; color:hsl(30,5%,42%); text-transform:uppercase; letter-spacing:1.2px; text-decoration:none; }
.ldn-book-back a:hover { color:hsl(30,10%,12%); }
body.ldn-book-ready .ldn-book [hidden], body.ldn-book-ready .ldn-book-panel[hidden] { display:none !important; }
body.ldn-book-modal-open { overflow:hidden; }
.ldn-book-dialog { border:1px solid hsla(30,8%,85%,.4); padding:0; margin:auto; width:100%; max-width:448px; max-height:90vh; overflow-y:auto; background:hsl(30,20%,97%); color:hsl(30,10%,12%); box-shadow:0 25px 50px -12px rgb(0 0 0 / .05); font:300 12px/16px Inter,sans-serif; }
.ldn-book-dialog::backdrop { background:rgb(0 0 0 / .8); }
@media(min-width:640px){ .ldn-book-dialog { border-radius:8px; } }
.ldn-book-dialog .ldn-book-modal { margin:0; }
.ldn-book-close { position:absolute; right:-8px; top:-12px; z-index:1; }
.ldn-book-close a { color:hsl(30,10%,12%); font:300 24px/24px Inter,sans-serif; opacity:.7; text-decoration:none; }
.ldn-book-step .ldn-book-label { text-align:left; margin-bottom:24px !important; padding-right:16px; }
.ldn-book-step .ldn-book-back { margin-bottom:24px !important; }
.ldn-book-primary { margin-top:24px !important; }
.ldn-book-primary a { display:block; width:100%; padding:14px 0; text-align:center; font:300 12px/16px Inter,sans-serif; text-transform:uppercase; letter-spacing:1.2px; border-radius:2px; color:hsl(30,20%,97%); background:hsl(30,10%,12%); text-decoration:none; }
.ldn-book-primary a:hover { background:hsla(30,10%,12%,.85); }
.ldn-book-hint { text-align:center; font-size:11px !important; margin-top:20px !important; }
.ldn-book-preview-note { font-size:10px !important; text-align:center; margin-top:24px !important; }
.ldn-book-extra-service { font:500 20px/28px 'Cormorant Garamond',serif; text-align:center; color:hsl(30,10%,12%); }
.ldn-book-extras-label { text-align:center; font-size:10px !important; text-transform:uppercase; letter-spacing:2.5px; margin:32px 0 !important; color:hsla(30,5%,42%,.7); }
.ldn-book-addon + .ldn-book-addon { border-top:1px solid hsla(30,8%,85%,.5); }
.ldn-book-addon a { display:flex; align-items:center; gap:16px; padding:16px 0; text-decoration:none; }
.ldn-book-check { width:14px; height:14px; border:1px solid hsla(30,10%,12%,.3); flex-shrink:0; }
.ldn-book-addon [aria-checked="true"] .ldn-book-check { background:hsl(30,10%,12%); border-color:hsl(30,10%,12%); position:relative; }
.ldn-book-addon [aria-checked="true"] .ldn-book-check::after { content:''; display:block; width:7px; height:4px; border-left:1px solid white; border-bottom:1px solid white; transform:rotate(-45deg); position:absolute; left:2px; top:3px; }
.ldn-book-addon-name { flex:1; color:hsl(30,10%,12%); font:400 17px/24px 'Cormorant Garamond',serif; }
.ldn-book-addon-price { color:hsl(30,5%,42%); font:300 11px/16.5px Inter,sans-serif; letter-spacing:.025em; }
.ldn-book-summary-line { display:flex; justify-content:space-between; gap:16px; align-items:baseline; padding:12px 0; }
.ldn-book-summary-line > :last-child { flex-shrink:0; }
.ldn-book-summary-service { font:500 19px/28px 'Cormorant Garamond',serif; color:hsl(30,10%,12%); padding:16px 0 0; }
.ldn-book-summary-service > :last-child { font-size:14px; font-weight:400; }
.ldn-book-duration { font:300 11px/16.5px Inter,sans-serif; color:hsla(30,5%,42%,.7); margin:6px 0 16px; }
.ldn-book-summary-addon { border-top:1px solid hsla(30,8%,85%,.6); font:400 16px/24px 'Cormorant Garamond',serif; color:hsla(30,10%,12%,.9); }
.ldn-book-summary-addon > :last-child { font:300 12px/16px Inter,sans-serif; color:hsl(30,5%,42%); }
.ldn-book-total { padding-top:24px; }
.ldn-book-total > :first-child { font:300 10px/15px Inter,sans-serif; letter-spacing:2.5px; text-transform:uppercase; }
.ldn-book-total > :last-child { font:500 22px/30px 'Cormorant Garamond',serif; color:hsl(30,10%,12%); }
.ldn-book-date-label { font:400 14px/20px 'Cormorant Garamond',serif; color:hsl(30,10%,12%); margin-bottom:20px; }
.ldn-book-calendar { padding:12px; max-width:276px; margin:auto; }
.ldn-book-month { display:flex; justify-content:space-between; align-items:center; padding-top:4px; margin-bottom:16px; font:500 14px/20px Inter,sans-serif; }
.ldn-book button { font-family:Inter,sans-serif; cursor:pointer; }
.ldn-book-month button { width:28px; height:28px; border:1px solid hsl(30,8%,85%); border-radius:4px; background:transparent; color:hsl(30,10%,12%); font-size:18px; padding:0; opacity:.5; }
.ldn-book-days { display:grid; grid-template-columns:repeat(7,1fr); row-gap:8px; }
.ldn-book-weekday { text-align:center; color:hsl(30,5%,42%); font-size:12.8px; }
.ldn-book-day { width:100%; height:36px; background:transparent; border:0; border-radius:4px; padding:0; font-size:14px; font-weight:400; color:hsl(30,10%,12%); }
.ldn-book button:disabled { opacity:.35; cursor:default; }
.ldn-book-day:not(:disabled):hover, .ldn-book-today { background:hsl(30,12%,94%); }
.ldn-book-day[aria-pressed="true"] { background:hsl(30,10%,12%); color:hsl(30,20%,97%); }
.ldn-book-slots { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
@media(min-width:640px){ .ldn-book-slots { grid-template-columns:repeat(5,minmax(0,1fr)); } }
.ldn-book-slot { padding:10px 8px; border:1px solid hsla(30,10%,12%,.25); border-radius:2px; font-size:12px; line-height:16px; letter-spacing:.025em; color:hsl(30,10%,12%); background:transparent; }
.ldn-book-slot:hover { border-color:hsla(30,10%,12%,.5); }
.ldn-book a:focus-visible, .ldn-book button:focus-visible { outline:1px solid hsl(30,10%,12%); outline-offset:3px; }
body:not(.ldn-book-ready) .ldn-book-modal { border-top:1px solid hsl(30,8%,85%); }
body:not(.ldn-book-ready) .ldn-book-step { margin-bottom:48px; }

/* 1.1.1 — Visual correction only; match the finished price-page header offset. */
body.ldn-booking-page #main-content { padding-top:24px !important; }
@media(min-width:981px) {
 body.ldn-booking-page #main-content { padding-top:84px !important; }
}
/* TreatmentPicker py-6: Divi must not remove the last paragraph's bottom padding. */
body.ldn-booking-page .ldn-book-service p {
 padding-top:24px !important; padding-bottom:24px !important;
 margin-top:0 !important; margin-bottom:0 !important;
}
/* Preserve families, weights and colours; names remain the stronger hierarchy. */
.ldn-book .ldn-book-service-meta,
.ldn-book .ldn-book-duration { font-size:14px; line-height:21px; }
.ldn-book .ldn-book-addon-price,
.ldn-book .ldn-book-summary-addon > :last-child { font-size:14px; line-height:21px; }
.ldn-book .ldn-book-summary-service > :last-child { font-size:16px; }
/* No second frame; keyboard focus uses the existing filled hover treatment. */
body.ldn-booking-page .ldn-book-service a:focus {
 outline:none !important; box-shadow:none !important;
}
body.ldn-booking-page .ldn-book-service a:focus-visible {
 outline:none !important; box-shadow:none !important;
 background:hsl(30,10%,12%); color:hsl(30,20%,97%);
}

/* 1.1.2 — Extras only: dimensions and spacing from the Lovable reference.
   Keep all text, controls, handlers and the existing preview notice. */
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) { box-sizing:border-box; width:100%; max-width:448px; max-height:90vh; }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) .ldn-book-modal { padding:24px !important; }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) .et_pb_row:has(.ldn-book-close) {
 position:absolute !important; inset:0; width:100% !important; max-width:none !important;
 margin:0 !important; padding:0 !important; pointer-events:none;
}
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) .et_pb_row:has(.ldn-book-close) > .et_pb_column { position:static; }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) .ldn-book-close { top:16px; right:16px; margin:0 !important; padding:0 !important; pointer-events:auto; }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) .ldn-book-close p { margin:0 !important; padding:0 !important; }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) .ldn-book-close a { display:block; position:relative; width:16px; height:16px; font-size:0; line-height:0; opacity:.7; }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) .ldn-book-close a::before,
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) .ldn-book-close a::after { content:''; position:absolute; top:7px; left:1px; width:14px; height:1.3px; background:currentColor; transform:rotate(45deg); }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) .ldn-book-close a::after { transform:rotate(-45deg); }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) .ldn-book-close a:hover { opacity:1; }
/* Reset Divi paragraph spacing locally, then apply the original explicit rhythm. */
#ldn-book-step-extras .et_pb_text_inner > p,
#ldn-book-step-extras .ldn-book-widget > p { margin:0 !important; padding:0 !important; }
#ldn-book-step-extras .ldn-book-label { margin:0 0 24px !important; text-align:left; }
#ldn-book-step-extras .ldn-book-label p { font-family:'Cormorant Garamond',serif; font-size:12px; line-height:12px; font-weight:600; letter-spacing:1.2px; }
#ldn-book-step-extras .ldn-book-extra-service { font-size:20px; line-height:30px; font-weight:500; }
#ldn-book-step-extras .ldn-book-extras-label { margin:32px 0 !important; }
#ldn-book-step-extras .ldn-book-extras-label p { font-size:10px; line-height:15px; font-weight:300; letter-spacing:2.5px; color:hsla(30,5%,42%,.7); }
#ldn-book-step-extras .ldn-book-addon { margin:0 !important; padding:0 !important; }
#ldn-book-step-extras .ldn-book-addon + .ldn-book-addon { border-top:1px solid hsla(30,8%,85%,.5); }
#ldn-book-step-extras .ldn-book-addon a { display:grid; grid-template-columns:14px minmax(0,1fr) auto; align-items:baseline; gap:16px; padding:16px 0 !important; }
#ldn-book-step-extras .ldn-book-check { box-sizing:border-box; width:14px; height:14px; align-self:center; }
#ldn-book-step-extras .ldn-book-addon-name { font-size:17px; line-height:17px; font-weight:400; }
#ldn-book-step-extras .ldn-book-addon-price { font-size:11px; line-height:11px; font-weight:300; text-align:right; white-space:nowrap; }
#ldn-book-step-extras .ldn-book-primary { margin:32px 0 0 !important; }
#ldn-book-step-extras .ldn-book-primary a { box-sizing:border-box; width:100%; min-height:44px; padding:14px 0 !important; font-size:12px; line-height:16px; font-weight:300; border-radius:2px; }
#ldn-book-step-extras .ldn-book-hint { margin:32px 0 0 !important; }
#ldn-book-step-extras .ldn-book-hint p { font-size:11px; line-height:16.5px; font-weight:300; color:hsl(30,5%,42%); text-align:center; }

/* 1.1.3 — Preserve Lovable's explicit vertical rhythm, without margin collapse.
   Only the extras view loses the additional preview footer. Other steps retain it. */
.ldn-book-dialog #ldn-book-step-extras:not([hidden]) ~ .et_pb_row:has(.ldn-book-preview-note) { display:none !important; }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras {
 width:100% !important; max-width:none !important;
 margin:0 !important; padding:0 !important;
}
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras > .et_pb_column {
 display:flex; flex-direction:column; align-items:stretch; gap:0;
 width:100% !important; margin:0 !important; padding:0 !important;
}
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras > .et_pb_column::after { display:none; }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras > .et_pb_column > .et_pb_module {
 flex:0 0 auto; width:100%; min-width:0;
}
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras .ldn-book-label { margin:0 0 24px !important; }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras .ldn-book-extras-label { margin:32px 0 !important; }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras .ldn-book-addon a {
 box-sizing:border-box; min-height:49px; padding:16px 0 !important;
 column-gap:16px; row-gap:0;
}
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras .ldn-book-primary { margin:32px 0 0 !important; }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras .ldn-book-primary a {
 display:flex; align-items:center; justify-content:center;
 min-height:44px; padding:14px 0 !important; border:0;
}
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras .ldn-book-hint { margin:32px 0 0 !important; }

/* 1.1.5 — Extras header shares one row again; retain the source spacing below it. */
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras > .et_pb_column { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras > .et_pb_column > .ldn-book-extras-back {
 grid-column:1; grid-row:1; justify-self:start; align-self:start;
 width:auto !important; max-width:none; margin:0 0 24px !important;
 padding:0 !important; z-index:1;
}
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras .ldn-book-extras-back a {
 font-family:Inter,sans-serif; font-size:12px; line-height:16px; font-weight:300;
 letter-spacing:1.2px; text-transform:uppercase; text-decoration:none;
 color:hsl(30,5%,42%);
}
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras .ldn-book-extras-back a:hover { color:hsl(30,10%,12%); }
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras > .et_pb_column > .ldn-book-label {
 grid-column:1; grid-row:1; align-self:start;
 box-sizing:border-box; width:100%; text-align:center !important;
 margin:0 0 24px !important; padding:0 72px !important;
}
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras .ldn-book-label p { text-align:center; line-height:16px; }
/* Keep both controls readable on exceptionally narrow viewports. */
@media(max-width:319px) {
 .ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras > .et_pb_column > .ldn-book-extras-back { margin-bottom:12px !important; }
 .ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras > .et_pb_column > .ldn-book-label { grid-row:2; padding:0 !important; }
}

/* 1.1.6 — Typography-only extras refinement; keep all layout boxes unchanged. */
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras .ldn-book-hint p {
 font-size:12px; line-height:16.5px;
 /* Existing space is 32px above / 24px below: optically balance to 28px each. */
 transform:translateY(-4px);
}
.ldn-book-dialog:has(#ldn-book-step-extras:not([hidden])) #ldn-book-step-extras .ldn-book-addon-price { font-size:12px; }

/* 1.2.0 — Original summary/date/time/form screens; approved extras rules stay intact. */
.ldn-book-dialog:focus, .ldn-book-dialog:focus-visible,
.ldn-book-dialog .ldn-book-label:focus { outline:none !important; }
@media(min-width:981px) {
 body.ldn-booking-page .ldn-book-panel[id^="ldn-book-category-"] { padding-bottom:128px !important; }
}
:is(#ldn-book-step-summary,#ldn-book-step-date,#ldn-book-step-time,#ldn-book-step-form) > .et_pb_column { display:flex; flex-direction:column; gap:0; }
:is(#ldn-book-step-summary,#ldn-book-step-date,#ldn-book-step-time,#ldn-book-step-form) .et_pb_text_inner > p { margin:0 !important; padding:0 !important; }
:is(#ldn-book-step-summary,#ldn-book-step-date,#ldn-book-step-time,#ldn-book-step-form) .ldn-book-label { text-align:left; margin:0 0 16px !important; }
:is(#ldn-book-step-summary,#ldn-book-step-date,#ldn-book-step-time,#ldn-book-step-form) .ldn-book-label p { font:600 12px/12px 'Cormorant Garamond',serif; letter-spacing:1.2px; text-transform:uppercase; }
:is(#ldn-book-step-date,#ldn-book-step-time,#ldn-book-step-form) .ldn-book-back { margin:0 0 20px !important; }
#ldn-book-step-summary .ldn-book-label { margin-bottom:24px !important; }
#ldn-book-step-summary .ldn-book-back { margin-bottom:24px !important; }
#ldn-book-step-summary .ldn-book-summary-service { padding:16px 0 0; }
#ldn-book-step-summary .ldn-book-summary-service > :first-child { flex:1; min-width:0; }
#ldn-book-step-summary .ldn-book-summary-service > :last-child { font-size:14px; }
#ldn-book-step-summary .ldn-book-duration { font-size:11px; line-height:16.5px; margin:6px 0 16px; }
#ldn-book-step-summary .ldn-book-summary-addon > :last-child { font-size:12px; line-height:16px; }
#ldn-book-step-summary .ldn-book-total { margin-top:24px; padding:8px 0 0; }
#ldn-book-step-summary .ldn-book-primary { margin-top:24px !important; }
.ldn-book-dialog :is(#ldn-book-step-summary,#ldn-book-step-date,#ldn-book-step-time,#ldn-book-step-form):not([hidden]) ~ .et_pb_row:has(.ldn-book-preview-note) { display:none !important; }
/* These dialog controls are shared by the later steps, but not restyled in extras. */
.ldn-book-dialog:not(:has(#ldn-book-step-extras:not([hidden]))) .ldn-book-modal { padding:24px !important; }
.ldn-book-dialog:not(:has(#ldn-book-step-extras:not([hidden]))) .et_pb_row:has(.ldn-book-close) { position:absolute !important; inset:0; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; pointer-events:none; }
.ldn-book-dialog:not(:has(#ldn-book-step-extras:not([hidden]))) .et_pb_row:has(.ldn-book-close) > .et_pb_column { position:static; }
.ldn-book-dialog:not(:has(#ldn-book-step-extras:not([hidden]))) .ldn-book-close { top:16px; right:16px; margin:0 !important; pointer-events:auto; }
.ldn-book-dialog:not(:has(#ldn-book-step-extras:not([hidden]))) .ldn-book-close p { margin:0 !important; padding:0 !important; }
.ldn-book-dialog:not(:has(#ldn-book-step-extras:not([hidden]))) .ldn-book-close a { display:block; position:relative; width:16px; height:16px; font-size:0; line-height:0; }
.ldn-book-dialog:not(:has(#ldn-book-step-extras:not([hidden]))) .ldn-book-close a::before,
.ldn-book-dialog:not(:has(#ldn-book-step-extras:not([hidden]))) .ldn-book-close a::after { content:''; position:absolute; top:7px; left:1px; width:14px; height:1.3px; background:currentColor; transform:rotate(45deg); }
.ldn-book-dialog:not(:has(#ldn-book-step-extras:not([hidden]))) .ldn-book-close a::after { transform:rotate(-45deg); }
/* Calendar: 7 x 36px cells, 12px inset, 28px month controls. */
#ldn-book-step-date .ldn-book-calendar { box-sizing:border-box; width:276px; max-width:100%; padding:12px; margin:0 auto; }
#ldn-book-step-date .ldn-book-month { position:relative; display:flex; justify-content:center; min-height:32px; margin-bottom:16px; padding-top:4px; font:500 14px/20px Inter,sans-serif; }
#ldn-book-step-date .ldn-book-month button { position:absolute; top:4px; width:28px; height:28px; padding:0; margin:0; border:1px solid hsl(30,8%,85%); color:hsl(30,10%,12%); font:400 18px/26px Inter,sans-serif; }
#ldn-book-step-date .ldn-book-month button:first-child { left:4px; }
#ldn-book-step-date .ldn-book-month button:last-child { right:4px; }
#ldn-book-step-date .ldn-book-month button:hover:not(:disabled) { opacity:1; }
#ldn-book-step-date .ldn-book-days { grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px 0; }
#ldn-book-step-date .ldn-book-weekday { font:400 12.8px/19.2px Inter,sans-serif; }
#ldn-book-step-date .ldn-book-day { height:36px; font:400 14px/20px Inter,sans-serif; margin:0; }
#ldn-book-step-date button:disabled, #ldn-book-step-date .ldn-book-outside { opacity:.5; }
#ldn-book-step-time .ldn-book-date-label, #ldn-book-step-form .ldn-book-date-label { font:400 14px/20px 'Cormorant Garamond',serif; margin:0 0 20px; padding:0; }
#ldn-book-step-time .ldn-book-time-caption { font:300 12px/16px Inter,sans-serif; letter-spacing:1.2px; text-transform:uppercase; margin:0 0 16px; padding:0; }
#ldn-book-step-time .ldn-book-slots { gap:8px; }
#ldn-book-step-time .ldn-book-slot { font:300 12px/16px Inter,sans-serif; padding:10px 8px; margin:0; }
#ldn-book-step-time .ldn-book-slot[aria-pressed="true"] { background:hsl(30,10%,12%); color:hsl(30,20%,97%); }
/* BookingForm.tsx values. These controls never send a network request in this release. */
.ldn-book-dialog .ldn-book-form { display:flex; flex-direction:column; gap:24px; margin:0; padding:0; }
.ldn-book-dialog .ldn-book-field { display:flex; flex-direction:column; gap:8px; }
.ldn-book-dialog .ldn-book-field label { font:500 12px/12px Inter,sans-serif; letter-spacing:.025em; text-transform:uppercase; color:hsl(30,5%,42%); }
.ldn-book-dialog .ldn-book-form input, .ldn-book-dialog .ldn-book-form textarea { box-sizing:border-box; width:100%; margin:0; padding:8px 12px; border:1px solid hsla(30,10%,12%,.2); border-radius:2px; background:transparent; color:hsl(30,10%,12%); box-shadow:none; outline:none; font:300 16px/24px Inter,sans-serif; }
.ldn-book-dialog .ldn-book-form input { height:44px; }
.ldn-book-dialog .ldn-book-form textarea { min-height:80px; font-size:14px; line-height:20px; resize:vertical; }
@media(min-width:768px) { .ldn-book-dialog .ldn-book-form input { font-size:14px; line-height:20px; } }
.ldn-book-dialog .ldn-book-form input::placeholder, .ldn-book-dialog .ldn-book-form textarea::placeholder { color:hsl(30,5%,42%); opacity:1; }
.ldn-book-dialog .ldn-book-form input:focus, .ldn-book-dialog .ldn-book-form textarea:focus { border-color:hsla(30,10%,12%,.5); box-shadow:none; }
.ldn-book-dialog .ldn-book-submit { width:100%; padding:14px 0; margin:0; border:0; border-radius:2px; background:hsl(30,10%,12%); color:hsl(30,20%,97%); font:300 12px/16px Inter,sans-serif; letter-spacing:1.2px; text-transform:uppercase; }
.ldn-book-dialog .ldn-book-submit:hover { background:hsla(30,10%,12%,.85); }
.ldn-book-dialog .ldn-book-form-disclaimer { font:300 11px/17.875px Inter,sans-serif; color:hsl(30,5%,42%); text-align:center; padding:0; margin:0; }
.ldn-book-test-notice { font:300 11px/17px Inter,sans-serif; color:hsl(30,5%,42%); text-align:center; }
.ldn-book-form .ldn-book-test-notice { padding:0; margin:0; }
.ldn-book-form-error { font:400 12px/18px Inter,sans-serif; color:hsl(0,60%,40%); margin:0; padding:0; }
/* Confirmation replaces the visible booking page, as BookingPage.tsx does. */
body.ldn-book-ready .ldn-book-confirmation[hidden] { display:none !important; }
body.ldn-book-confirmed .ldn-book:not(.ldn-book-confirmation) { display:none !important; }
body.ldn-book-confirmed #main-content { padding:0 !important; }
body.ldn-book-confirmed .ldn-book-confirmation { display:flex; align-items:center; justify-content:center; min-height:100vh; padding:0 24px !important; }
.ldn-book-confirmation > .et_pb_row { width:100% !important; max-width:384px !important; padding:0 !important; margin:0 auto !important; }
.ldn-book-confirmation > .et_pb_row > .et_pb_column { display:flex; flex-direction:column; gap:24px; width:100%; text-align:center; }
.ldn-book-confirmation .et_pb_text { margin:0 !important; padding:0 !important; }
.ldn-book-confirmation p, .ldn-book-confirmation h1 { padding:0; margin:0; }
.ldn-book-confirm-check { display:block; position:relative; box-sizing:border-box; width:40px; height:40px; border:1px solid hsl(30,5%,42%); border-radius:50%; margin:0 auto; }
.ldn-book-confirm-check::after { content:''; position:absolute; left:11px; top:10px; width:16px; height:10px; border-left:1px solid hsl(30,5%,42%); border-bottom:1px solid hsl(30,5%,42%); transform:rotate(-45deg); }
.ldn-book-confirm-title h1 { font:400 30px/36px 'Cormorant Garamond',serif; color:hsl(30,10%,12%); letter-spacing:.02em; }
.ldn-book-confirm-title h1:focus { outline:none; }
.ldn-book-confirm-copy p { font:300 14px/22.75px Inter,sans-serif; color:hsl(30,5%,42%); }
.ldn-book-new-request a { font:300 12px/16px Inter,sans-serif; color:hsl(30,5%,42%); letter-spacing:1.2px; text-transform:uppercase; text-decoration:none; }
.ldn-book-new-request a:hover { color:hsl(30,10%,12%); }

/* Page 50: desktop final step, scrolling fields above a reserved completion zone. */
@media(min-width:981px){
 body.page-id-50 .ldn-book-dialog:has(#ldn-book-step-form:not([hidden])){overflow:hidden;max-height:calc(100dvh - 48px)}
 body.page-id-50 #ldn-book-step-form .ldn-book-form{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;max-height:calc(100dvh - 96px);min-height:0}
 body.page-id-50 #ldn-book-step-form .ldn-book-desktop-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 4px 24px 0;scrollbar-gutter:stable}
 body.page-id-50 #ldn-book-step-form .ldn-book-desktop-fields{display:flex;flex-direction:column;gap:24px}
 body.page-id-50 #ldn-book-step-form .ldn-book-desktop-actions{position:relative;bottom:auto;flex-shrink:0;gap:12px;padding:12px 0 0;margin:0;background:rgba(255,248,251,.98);border-top:1px solid rgba(112,107,102,.15)}
 body.page-id-50 #ldn-book-step-form .ldn-book-desktop-actions .ldn-book-cancellation{margin:0}
 body.page-id-50 #ldn-book-step-form .ldn-book-desktop-actions .ldn-book-cancellation-consent{margin-top:12px}
}
