/* Booking step: readable labels, clear grouping and comfortable touch targets. */
.reformer-v1.booking-page form>label,.reformer-v1.booking-page legend,.reformer-v1.booking-page .availability-details>label{font-size:16px;line-height:1.5;margin:22px 0 9px}
.reformer-v1.booking-page form>label:first-of-type{margin-top:0}
.reformer-v1.booking-page input:not([type=radio]),.reformer-v1.booking-page select{font-size:16px;line-height:1.5;min-height:52px;padding:13px 14px}
.reformer-v1.booking-page .field-help,.reformer-v1.booking-page .field-error{font-size:14px;line-height:1.55;margin-top:8px}
.reformer-v1.booking-page .form-heading p{font-size:16px;line-height:1.6}
.reformer-v1.booking-page .contact-choices span{font-size:16px;min-height:50px}
.reformer-v1.booking-page .availability-details summary{font-size:16px;line-height:1.5;padding-block:16px;align-items:center}
.reformer-v1.booking-page .availability-details summary span{font-size:13px;white-space:nowrap}
.reformer-v1.booking-page .privacy{font-size:14px;line-height:1.6;margin:22px 0 18px}
.reformer-v1.booking-page .demo-note{font-size:13px;line-height:1.6}
.reformer-v1.booking-page .button{font-size:16px;min-height:54px;line-height:1.4}
.reformer-v1.booking-page .booking-intro>p:not(.eyebrow){font-size:16px;line-height:1.65;max-width:440px}
.reformer-v1.booking-page .booking-selection>span{font-size:12px;letter-spacing:.07em}
.reformer-v1.booking-page .booking-selection>p{font-size:16px;line-height:1.6}
.reformer-v1.booking-page .booking-selection>a{font-size:14px;line-height:1.5;min-height:44px;align-items:center;margin-top:8px}
.reformer-v1.booking-page .booking-back{font-size:14px;min-height:44px}
.reformer-v1.booking-page .receipt>p:not(.eyebrow){font-size:16px;line-height:1.6}
.reformer-v1.booking-page .receipt-summary{font-size:16px;line-height:1.5}
@media(max-width:600px){
 .reformer-v1.booking-page .form-card{padding:26px 22px}
 .reformer-v1.booking-page .booking-intro h1{font-size:34px}
 .reformer-v1.booking-page .booking-selection>strong{font-size:20px}
 .reformer-v1.booking-page .booking-back{font-size:13px;max-width:135px}
 .reformer-v1.booking-page .availability-details summary{gap:10px}
}

.reformer-v1.booking-page form>fieldset{margin-top:22px}
.reformer-v1.booking-page form>fieldset legend{margin:0 0 10px}

/* Privacy information stays available at the bottom of the booking page. */
.reformer-v1 .booking-page-footer{flex-wrap:wrap}
.reformer-v1.booking-page .booking-page-footer .privacy{flex-basis:100%;margin:0;font-size:14px;line-height:1.6}

/* Visual reassurance stays beside the task on desktop, after it on mobile. */
.reformer-v1.booking-page .booking-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:64px;row-gap:24px;align-items:start}
.reformer-v1.booking-page .booking-intro{grid-column:1;grid-row:1;position:static;padding:0}
.reformer-v1.booking-page .booking-intro h1{margin:0;font-size:44px}
.reformer-v1.booking-page .booking-reassurance{grid-column:1;grid-row:2}
.reformer-v1.booking-page .form-card{grid-column:2;grid-row:1 / span 2}
.reformer-v1 .booking-studio-photo{margin:0;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.reformer-v1 .booking-studio-photo img{display:block;width:100%;height:300px;object-fit:cover;object-position:50% 38%}
.reformer-v1 .booking-studio-photo figcaption{font-size:13px;line-height:1.5;padding:13px 17px;color:var(--muted)}
.reformer-v1 .booking-testimonial{margin:18px 0 0;padding:22px;background:white;border:1px solid var(--line);border-radius:14px}
.reformer-v1 .booking-review-source{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--muted)}
.reformer-v1 .booking-review-source .review-stars{font-size:18px;letter-spacing:1px;color:var(--gold-dark)}
.reformer-v1 .booking-testimonial blockquote{margin:13px 0;font-size:16px;line-height:1.65;color:var(--ink)}
.reformer-v1 .booking-testimonial figcaption{font-size:14px;font-weight:600}
.reformer-v1.booking-page .form-heading{padding-bottom:0;margin-bottom:22px;border:0}
.reformer-v1.booking-page .form-heading h2{margin-top:0}
.reformer-v1.booking-page .form-card .booking-selection{margin:0 0 24px;padding:17px 18px;background:var(--cream);border-radius:10px}
.reformer-v1.booking-page .form-card .booking-selection>strong{font-size:19px;margin:7px 0 5px}
.reformer-v1.booking-page .form-card .booking-selection>p{font-size:15px}
.reformer-v1.booking-page .contact-choices span{gap:9px}
.reformer-v1.booking-page .contact-choices input:checked+span:before{content:none}
.reformer-v1 .contact-icon{width:21px;height:21px;flex:0 0 21px}
@media(max-width:900px){
 .reformer-v1.booking-page .booking-grid{column-gap:30px}
 .reformer-v1.booking-page .booking-intro h1{font-size:36px}
}
@media(max-width:600px){
 .reformer-v1.booking-page .booking-grid{display:flex;flex-direction:column;gap:24px}
 .reformer-v1.booking-page .booking-intro{order:0;width:100%}
 .reformer-v1.booking-page .booking-intro h1{font-size:34px}
 .reformer-v1.booking-page .form-card{order:1;width:100%}
 .reformer-v1.booking-page .booking-reassurance{order:2;width:100%}
 .reformer-v1 .booking-studio-photo img{height:260px}
 .reformer-v1.booking-page .form-card .booking-selection{padding:16px;margin-bottom:24px}
 .reformer-v1.booking-page .form-card .booking-selection>strong{font-size:18px}
}

.reformer-v1.booking-page .booking-grid{grid-template-rows:min-content 1fr}

.reformer-v1.booking-page .form-heading .payment-reassurance{font-size:15px;line-height:1.6;color:var(--muted)}
.reformer-v1.booking-page .payment-reassurance strong{display:block;color:var(--ink);font-weight:650;margin-bottom:4px}
.reformer-v1.booking-page .payment-reassurance>span{display:block}

.reformer-v1.booking-page #booking-form>.payment-reassurance{margin:22px 0 20px;padding:16px 18px;background:#fffaf0;border:1px solid #e5d4a1;border-radius:10px;font-size:15px;line-height:1.6;color:var(--muted)}

/* One compact reassurance, with a decorative contact icon. */
.reformer-v1.booking-page #booking-form>.payment-reassurance{display:flex;align-items:flex-start;justify-content:center;gap:9px;font-size:14px;line-height:1.5;text-align:left}
.reformer-v1.booking-page #booking-form>.payment-reassurance>svg{width:18px;height:18px;flex:0 0 18px;margin-top:1px;color:var(--gold-dark)}
.reformer-v1.booking-page #booking-form>.payment-reassurance>span{display:block;min-width:0}

.reformer-v1.booking-page #booking-form>.payment-reassurance{background:#f7f7f5;border-color:#e2e2dd;color:#343431}

.reformer-v1 .booking-testimonial .booking-review-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;line-height:1.5}
.reformer-v1 .booking-review-header strong{font-size:15px;font-weight:600}
.reformer-v1 .booking-review-header .google-source-badge{color:#2272d1;display:inline-flex;width:16px;height:16px;flex:0 0 16px}
.reformer-v1 .booking-review-header .google-source-badge svg{display:block;width:16px;height:16px;flex:0 0 16px}
.reformer-v1 .booking-review-header .review-stars{color:var(--gold-dark);font-size:15px;letter-spacing:1px}
.reformer-v1 .booking-review-header .hero-review-source{font-size:12px;color:var(--muted);font-weight:400}
.reformer-v1 .booking-testimonial blockquote{margin:13px 0 0}

/* Preserve both feet and the raised leg in the owner's new portrait. */
.reformer-v1 .booking-studio-photo img{height:560px;object-fit:contain;object-position:center;background:#f4f2ed}
@media(max-width:600px){.reformer-v1 .booking-studio-photo img{height:auto;max-height:none;object-fit:contain}}

/* Keep the compact return link at the far edge of the booking header. */
.reformer-v1.booking-page header .nav{justify-content:space-between;flex-wrap:nowrap}
.reformer-v1.booking-page .booking-back{margin-left:auto;flex:0 0 auto;max-width:none;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}

/* Preserve the complete brand name beside the compact back link. */
.reformer-v1.booking-page header .nav>.brand>span{display:inline}

/* Separate customer reassurance card follows the form. */
.reformer-v1.booking-page .booking-grid>.booking-testimonial{grid-column:2;grid-row:3;margin:0;width:100%}
@media(max-width:600px){
 .reformer-v1.booking-page .booking-grid>.booking-testimonial{order:2}
 .reformer-v1.booking-page .booking-reassurance{order:3}
}

.reformer-v1.booking-page .booking-selection>.booking-credit{margin-top:14px;padding-top:13px;border-top:1px solid var(--line);font-size:14px;line-height:1.6;color:var(--ink)}

/* A quiet brand detail at the top-right of the mobile form. */
@media(max-width:600px){
 .reformer-v1.booking-page .booking-section{overflow:hidden}
 .reformer-v1.booking-page .booking-grid{position:relative;isolation:isolate}
 .reformer-v1.booking-page .form-card{position:relative;z-index:auto}
 .reformer-v1.booking-page .form-card::before{content:"";position:absolute;inset:0;background:white;border-radius:inherit;z-index:-1;pointer-events:none}
 .reformer-v1.booking-page .form-card::after{content:"";position:absolute;top:-112px;right:-86px;width:220px;height:220px;background:url("assets/brand/xpilates-symbol-gold.svg") center/contain no-repeat;opacity:.13;pointer-events:none;z-index:-2}
 .reformer-v1.booking-page .booking-grid>.booking-testimonial,.reformer-v1.booking-page .booking-reassurance{position:relative;z-index:1}
}

/* Center the action label and arrow together across CTA buttons. */
.reformer-v1.booking-page .button{justify-content:center;text-align:center}
.reformer-v1.booking-page .button>span{margin-left:0;margin-right:0}

/* Desktop: image and review left, form right; mobile order stays unchanged. */
@media(min-width:601px){
 .reformer-v1.booking-page .booking-grid{grid-template-rows:min-content min-content min-content}
 .reformer-v1.booking-page .booking-grid>.booking-testimonial{grid-column:1;grid-row:3}
 .reformer-v1.booking-page .form-card{grid-row:1 / span 3}
}
