:root {
  --enterprise-red: #d70012;
  --enterprise-black: #050505;
  --enterprise-ink: #101114;
  --enterprise-line: #dfe1e5;
  --enterprise-muted: #5d6169;
}

.consumer-home { background: #fff; color: var(--enterprise-ink); }
.consumer-booking {
  background:
    linear-gradient(135deg, rgba(229,9,20,.16) 0%, rgba(229,9,20,0) 36%),
    linear-gradient(180deg, #050505 0%, #0b0b0d 52%, #050505 100%);
  color:var(--text);
}
.consumer-booking .site-header,.consumer-booking .site-footer { background:rgba(5,5,5,.96); color:#fff; }
.consult-checkout {
  background:
    linear-gradient(135deg, rgba(229,9,20,.14) 0%, rgba(229,9,20,0) 34%),
    linear-gradient(180deg, #050505 0%, #0b0b0d 58%, #050505 100%);
  color:var(--text);
}
.consult-checkout .site-header,.consult-checkout .site-footer { background:rgba(5,5,5,.96); color:#fff; }
.consult-checkout .page-hero {
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.012));
  border-bottom:1px solid var(--border);
}
.consult-checkout .page-grid { align-items:start; }
.consult-checkout .booking-form,
.consult-checkout .payment-preview,
.consult-checkout .checkout-summary,
.consult-checkout .commerce-scope-note {
  border-radius:16px;
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  box-shadow:0 24px 70px rgba(0,0,0,.3);
}
.consult-checkout .booking-form { padding:clamp(22px,3vw,36px); border-radius:18px!important; }
.consult-checkout input,.consult-checkout textarea {
  border-radius:10px!important;
  background:rgba(3,3,5,.72);
  color:var(--text);
  border-color:rgba(255,255,255,.13);
}
.consult-checkout input:focus,.consult-checkout textarea:focus {
  border-color:rgba(214,180,106,.62);
  box-shadow:0 0 0 4px rgba(214,180,106,.12);
}
.consult-checkout .btn { border-radius:10px; }
.consumer-booking h1,.consumer-booking h2 { font-family:var(--font); text-transform:none; letter-spacing:0; }
.consumer-booking h1::after,.consumer-booking h2::after { content:none; }
.consumer-booking .section-label,.consumer-booking .step-label {
  display:block;
  margin-bottom:10px;
  color:var(--gold);
  font-size:.75rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.booking-intro {
  padding:clamp(76px,8vw,112px) 0 52px;
  background:
    linear-gradient(115deg, rgba(255,255,255,.07), rgba(255,255,255,0) 44%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
  border-bottom:1px solid var(--border);
}
.booking-intro h1 { max-width:850px; font-size:clamp(2.35rem,4.6vw,4.65rem)!important; line-height:1.04; text-wrap:balance; }
.booking-intro p { max-width:760px; margin:20px 0 0; color:rgba(247,247,242,.76); font-size:1.08rem; line-height:1.7; }
.booking-flow-strip {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  width:min(900px,100%);
  margin-top:34px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,255,255,.1);
}
.booking-flow-strip div {
  min-height:118px;
  padding:18px;
  background:rgba(5,5,5,.72);
}
.booking-flow-strip span {
  display:block;
  margin-bottom:12px;
  color:var(--gold);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.08em;
}
.booking-flow-strip strong { display:block; font-size:1rem; }
.booking-flow-strip small { display:block; margin-top:6px; color:rgba(247,247,242,.62); line-height:1.45; }
.booking-experience { padding:clamp(42px,5.4vw,78px) 0 clamp(70px,7vw,104px); }
.booking-experience-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr); gap:clamp(22px,3.5vw,42px); align-items:start; }
.booking-calendar,.consumer-booking .booking-form {
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.028));
  box-shadow:0 24px 70px rgba(0,0,0,.32);
  backdrop-filter:blur(18px);
  position:relative;
  overflow:hidden;
}
.consumer-booking .booking-form { border-radius:18px!important; }
.booking-calendar::before,.consumer-booking .booking-form::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg, rgba(214,180,106,.65), rgba(229,9,20,.44), transparent);
}
.booking-calendar { padding:clamp(20px,3vw,32px); position:sticky; top:96px; }
.calendar-topline { align-items:flex-start; }
.booking-calendar h2,.consumer-booking .booking-form h2 { font-size:clamp(1.45rem,2.2vw,2.05rem)!important; line-height:1.1; }
.booking-calendar p,.consumer-booking .form-section-title p { color:rgba(247,247,242,.68); line-height:1.6; }
.consumer-booking .calendar-controls {
  min-height:42px;
  padding:5px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(0,0,0,.24);
}
.consumer-booking .calendar-nav {
  width:34px;
  height:34px;
  border-radius:50%;
  border:0;
  background:rgba(255,255,255,.08);
  color:var(--text);
}
.consumer-booking .calendar-nav:hover { background:rgba(214,180,106,.18); }
.consumer-booking .calendar-controls strong { min-width:116px; text-align:center; font-size:.88rem; }
.consumer-booking .calendar-legend {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:4px 0 18px;
}
.consumer-booking .calendar-legend span {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  font-size:.78rem;
  font-weight:800;
}
.consumer-booking .calendar-day {
  min-height:68px;
  border-radius:12px;
  color:var(--text);
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.11);
  box-shadow:none;
}
.consumer-booking .calendar-day.open { background:rgba(34,197,94,.085); }
.consumer-booking .calendar-day.limited { background:rgba(214,180,106,.13); }
.consumer-booking .calendar-day.closed { background:rgba(255,255,255,.025); }
.consumer-booking .calendar-day.is-selected {
  background:linear-gradient(135deg, var(--brand), var(--brand-dark));
  border-color:rgba(214,180,106,.65);
  color:#fff;
  box-shadow:0 18px 42px rgba(229,9,20,.28);
}
.consumer-booking .calendar-legend,
.consumer-booking .calendar-controls { color:rgba(247,247,242,.74); }
.consumer-booking .time-slot {
  border-radius:999px;
  color:var(--text);
  background:rgba(255,255,255,.055);
  border-color:rgba(214,180,106,.32);
  min-height:42px;
}
.consumer-booking .time-slot.is-selected,.consumer-booking .time-slot:hover { background:var(--brand); border-color:var(--gold); color:#fff; }
.consumer-booking .booking-form { padding:clamp(22px,3vw,36px); }
.consumer-booking .form-section-title {
  padding-bottom:18px;
  margin-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.consumer-booking .form-group-label {
  margin:22px 0 12px;
  color:var(--gold);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.consumer-booking .form-row { gap:14px; }
.consumer-booking label { margin-bottom:16px; }
.consumer-booking label span {
  color:rgba(247,247,242,.74);
  font-size:.76rem;
  letter-spacing:.045em!important;
}
.consumer-booking input,.consumer-booking select,.consumer-booking textarea {
  border-radius:10px!important;
  background:rgba(3,3,5,.72);
  color:var(--text);
  border-color:rgba(255,255,255,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.consumer-booking input::placeholder,.consumer-booking textarea::placeholder { color:rgba(247,247,242,.42); }
.consumer-booking input:focus,.consumer-booking select:focus,.consumer-booking textarea:focus {
  border-color:rgba(214,180,106,.62);
  box-shadow:0 0 0 4px rgba(214,180,106,.12);
}
.consumer-booking .booking-next-step-box,.consumer-booking .payment-preview,.consumer-booking .selected-date-card {
  border-radius:14px;
  background:rgba(0,0,0,.24);
  border-color:rgba(214,180,106,.24);
}
.consumer-booking .payment-preview span,.consumer-booking .selected-date-card small { color:rgba(247,247,242,.66); }
.consumer-booking .booking-payment-head {
  display:grid;
  gap:4px;
}
.consumer-booking .booking-payment-head span,
.consumer-booking .booking-payment-meta small {
  color:rgba(247,247,242,.58);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.consumer-booking .booking-payment-head strong { font-size:1.02rem; line-height:1.25; }
.consumer-booking .booking-payment-meta {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:12px;
}
.consumer-booking .booking-payment-meta>span {
  display:grid;
  gap:4px;
  padding:12px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  background:rgba(255,255,255,.04);
}
.consumer-booking .booking-payment-meta strong { font-size:.92rem; }
.consumer-booking .payment-preview p { margin:12px 0 0; color:rgba(247,247,242,.68); line-height:1.5; }
.consumer-booking .btn { border-radius:10px; min-height:50px; }
.consumer-booking .btn-primary { box-shadow:0 16px 40px rgba(229,9,20,.26); }
.consumer-home .site-header { background: rgba(5,5,5,.96); }
.consumer-home .site-footer { background: var(--enterprise-black); color: #fff; }
.consumer-home h1,.consumer-home h2,.consumer-home h3 { font-family: var(--font); text-transform: none; letter-spacing: 0; }
.consumer-home h1::after,.consumer-home h2::after { content: none; }
.consumer-home .section-label { display:block; margin-bottom:14px; color:var(--enterprise-red); font-size:.76rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.enterprise-hero { background:var(--enterprise-black); color:#fff; border-bottom:1px solid #222; }
.enterprise-hero-grid { min-height:660px; display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); align-items:stretch; }
.enterprise-hero-copy { padding:clamp(72px,8vw,120px) clamp(28px,5vw,76px) 72px 0; align-self:center; }
.enterprise-hero h1 { max-width:720px; font-size:clamp(2.6rem,5.2vw,5rem)!important; line-height:1.03; font-weight:850; }
.enterprise-hero-copy>p { max-width:650px; margin:24px 0 30px; color:#c7c9cf; font-size:clamp(1.02rem,1.4vw,1.24rem); line-height:1.65; }
.enterprise-hero .btn { border-radius:6px; box-shadow:none; }
.enterprise-text-link { display:inline-flex; align-items:center; gap:10px; color:inherit; font-weight:800; }
.enterprise-text-link:hover { color:var(--enterprise-red); }
.enterprise-hero-media { margin:0; min-height:560px; overflow:hidden; }
.enterprise-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.enterprise-trustline { display:flex; flex-wrap:wrap; gap:12px 26px; margin:34px 0 0; padding:22px 0 0; border-top:1px solid #303036; list-style:none; color:#d6d7db; font-size:.9rem; }
.enterprise-trustline li::before { content:'✓'; margin-right:8px; color:#ff3948; font-weight:900; }
.enterprise-band { padding:clamp(64px,7vw,104px) 0; background:#fff; color:var(--enterprise-ink); }
.enterprise-band:nth-of-type(odd) { background:#f5f6f7; }
.enterprise-split-heading { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr); gap:48px; align-items:end; margin-bottom:42px; }
.enterprise-split-heading h2,.enterprise-process h2,.enterprise-faq h2 { max-width:760px; font-size:clamp(2rem,3.7vw,3.8rem)!important; line-height:1.06; font-weight:820; }
.enterprise-split-heading>p { margin:0; color:var(--enterprise-muted); line-height:1.7; }
.enterprise-service-list { border-top:1px solid var(--enterprise-line); }
.enterprise-service-list>a { display:grid; grid-template-columns:52px minmax(220px,.8fr) minmax(280px,1.2fr) 28px; gap:22px; align-items:center; padding:22px 4px; border-bottom:1px solid var(--enterprise-line); }
.enterprise-service-list>a:hover { color:var(--enterprise-red); }
.enterprise-service-list span { color:#8b8e95; font-size:.82rem; }
.enterprise-service-list strong { font-size:1.03rem; }
.enterprise-service-list p { margin:0; color:var(--enterprise-muted); }
.enterprise-service-list i { font-style:normal; font-size:1.3rem; }
.enterprise-price-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--enterprise-line); }
.enterprise-price-grid article { min-height:360px; padding:34px; border-right:1px solid var(--enterprise-line); display:flex; flex-direction:column; }
.enterprise-price-grid article:last-child { border-right:0; }
.enterprise-price-grid article>span { color:var(--enterprise-muted); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.enterprise-price-grid h3 { margin:18px 0 8px; font-size:1.45rem!important; }
.enterprise-price-grid article>strong { margin:0 0 18px; font-size:2.5rem; line-height:1; }
.enterprise-price-grid p { color:var(--enterprise-muted); line-height:1.65; }
.enterprise-price-grid a { margin-top:auto; color:var(--enterprise-red); font-weight:850; }
.enterprise-price-grid .is-featured { border-top:4px solid var(--enterprise-red); padding-top:30px; background:#fff; }
.enterprise-process { padding:58px 0; background:var(--enterprise-black); color:#fff; }
.enterprise-process-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; align-items:center; }
.enterprise-process ol { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:0; padding:0; list-style:none; }
.enterprise-process li { display:flex; gap:16px; padding:10px 24px; border-left:1px solid #333; }
.enterprise-process li>span { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:50%; background:var(--enterprise-red); font-weight:900; }
.enterprise-process strong { font-size:1.05rem; }
.enterprise-process p { margin:6px 0 0; color:#b9bbc2; line-height:1.5; font-size:.9rem; }
.enterprise-proof-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(36px,6vw,80px); align-items:center; }
.enterprise-proof-grid figure { margin:0; aspect-ratio:4/3; overflow:hidden; }
.enterprise-proof-grid img { width:100%; height:100%; object-fit:cover; }
.enterprise-proof-grid h3 { font-size:clamp(1.7rem,2.4vw,2.5rem)!important; line-height:1.12; }
.enterprise-proof-grid p,.enterprise-proof-grid li { color:var(--enterprise-muted); line-height:1.7; }
.enterprise-proof-grid ul { margin:24px 0; padding-left:20px; }
.enterprise-faq-grid { display:grid; grid-template-columns:.65fr 1.35fr; gap:70px; }
.enterprise-faq details { border-top:1px solid var(--enterprise-line); padding:20px 0; }
.enterprise-faq details:last-child { border-bottom:1px solid var(--enterprise-line); }
.enterprise-faq summary { cursor:pointer; font-weight:800; font-size:1.02rem; }
.enterprise-faq details p { max-width:68ch; color:var(--enterprise-muted); line-height:1.7; }
.enterprise-cta { padding:34px 0; background:var(--enterprise-red); color:#fff; }
.enterprise-cta .container { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.enterprise-cta h2 { font-size:clamp(1.5rem,2.6vw,2.5rem)!important; }
.enterprise-cta p { margin:8px 0 0; }
.enterprise-cta-button { flex:0 0 auto; border-radius:6px; background:#fff; color:#111; }

@media (max-width: 980px) {
  .enterprise-hero-grid,.enterprise-split-heading,.enterprise-process-grid,.enterprise-proof-grid,.enterprise-faq-grid { grid-template-columns:1fr; }
  .enterprise-hero-copy { padding-right:0; }
  .enterprise-hero-media { min-height:420px; }
  .enterprise-price-grid { grid-template-columns:1fr; }
  .enterprise-price-grid article { min-height:0; border-right:0; border-bottom:1px solid var(--enterprise-line); }
  .enterprise-price-grid article:last-child { border-bottom:0; }
  .enterprise-process ol { grid-template-columns:1fr; }
  .enterprise-process li { border-left:0; border-top:1px solid #333; padding:20px 0; }
  .booking-experience-grid { grid-template-columns:1fr; }
  .booking-calendar { position:static; }
  .booking-flow-strip { grid-template-columns:1fr; }
  .booking-flow-strip div { min-height:0; }
}

@media (max-width: 680px) {
  .enterprise-hero-grid { min-height:0; }
  .enterprise-hero-copy { padding:64px 0 44px; }
  .enterprise-hero-media { min-height:360px; }
  .enterprise-service-list>a { grid-template-columns:34px 1fr 24px; gap:12px; }
  .enterprise-service-list p { grid-column:2/4; }
  .enterprise-split-heading { gap:20px; margin-bottom:30px; }
  .enterprise-cta .container { align-items:flex-start; flex-direction:column; }
  .enterprise-cta-button { width:100%; }
  .booking-intro { padding-top:68px; }
  .booking-flow-strip { margin-top:24px; border-radius:14px; }
  .booking-calendar,.consumer-booking .booking-form { border-radius:16px; }
  .consumer-booking .calendar-controls { width:100%; justify-content:space-between; }
  .consumer-booking .booking-payment-meta { grid-template-columns:1fr; }
  .consumer-booking .calendar-legend span { flex:1 1 auto; justify-content:center; }
}

.client-portal { margin:0; background:#f5f6f7; color:var(--enterprise-ink); font-family:var(--font); }
.client-header { position:sticky; top:0; z-index:20; background:var(--enterprise-black); color:#fff; border-bottom:1px solid #27272b; }
.client-header-inner { width:min(1180px,calc(100% - 32px)); min-height:72px; margin:auto; display:flex; align-items:center; gap:34px; }
.client-brand { display:flex; align-items:baseline; gap:8px; white-space:nowrap; }
.client-brand span { color:#ff2638; font-family:Georgia,serif; font-style:italic; font-weight:800; }
.client-brand strong { font-size:.95rem; }
.client-header nav { display:flex; align-self:stretch; gap:26px; }
.client-header nav a { display:flex; align-items:center; border-bottom:2px solid transparent; color:#bfc1c7; font-weight:750; }
.client-header nav a[aria-current="page"] { color:#fff; border-bottom-color:var(--enterprise-red); }
.client-user { margin-left:auto; display:flex; align-items:center; gap:20px; }
.client-user>span { display:flex; flex-direction:column; }
.client-user small { color:#a8aab1; }
.client-user>a { color:#fff; font-weight:750; }
.client-main { padding:clamp(42px,6vw,76px) 0 90px; }
.client-container { width:min(1080px,calc(100% - 32px)); margin:auto; }
.client-page-heading { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:38px; }
.client-page-heading>div>span { color:var(--enterprise-red); text-transform:uppercase; letter-spacing:.07em; font-size:.75rem; font-weight:850; }
.client-page-heading h1 { margin:10px 0 8px; font-family:var(--font); text-transform:none; letter-spacing:0; font-size:clamp(2rem,4vw,3.8rem)!important; line-height:1.05; }
.client-page-heading h1::after { content:none; }
.client-page-heading p { margin:0; color:var(--enterprise-muted); }
.client-primary-action { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 18px; border-radius:6px; background:var(--enterprise-red); color:#fff; font-weight:850; }
.client-summary { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--enterprise-line); background:#fff; }
.client-summary>div { min-height:118px; padding:24px; border-right:1px solid var(--enterprise-line); }
.client-summary>div:last-child { border-right:0; }
.client-summary span { display:block; color:var(--enterprise-muted); font-size:.82rem; font-weight:750; }
.client-summary strong { display:block; margin-top:12px; font-size:2.2rem; }
.client-next-step { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; margin:28px 0; padding:30px; background:var(--enterprise-black); color:#fff; border-radius:8px; }
.client-next-step>div>span { color:#ff4554; font-size:.78rem; font-weight:800; text-transform:uppercase; }
.client-next-step h2 { margin:8px 0; font-family:var(--font); text-transform:none; letter-spacing:0; font-size:1.5rem!important; }
.client-next-step h2::after { content:none; }
.client-next-step p { margin:0; color:#b9bbc2; }
.client-latest { display:flex; flex-direction:column; min-width:250px; padding-left:28px; border-left:1px solid #34343a; }
.client-latest span,.client-latest small { margin-top:5px; color:#b9bbc2; }
.client-action-list { display:block; border-top:1px solid var(--enterprise-line); }
.client-action-list a { display:grid; grid-template-columns:210px 1fr 24px; gap:26px; padding:22px 4px; border-bottom:1px solid var(--enterprise-line); }
.client-action-list span { color:var(--enterprise-muted); }
.client-action-list i { font-style:normal; }
.client-empty { padding:54px; text-align:center; border:1px solid var(--enterprise-line); background:#fff; }
.client-empty h2 { margin:0; font-family:var(--font); text-transform:none; letter-spacing:0; }
.client-empty h2::after { content:none; }
.client-empty p { color:var(--enterprise-muted); }
.client-empty a { color:var(--enterprise-red); font-weight:850; }
.client-record-list { display:grid; gap:16px; }
.client-record-list article { padding:26px; border:1px solid var(--enterprise-line); border-radius:8px; background:#fff; }
.client-record-title { display:flex; align-items:baseline; gap:14px; margin-bottom:22px; }
.client-record-title>span { color:var(--enterprise-muted); font-size:.78rem; }
.client-record-title h2 { margin:0; font-family:var(--font); text-transform:none; letter-spacing:0; font-size:1.25rem!important; }
.client-record-title h2::after { content:none; }
.client-record-title>.client-status { margin-left:auto; }
.client-record-list dl { display:grid; grid-template-columns:repeat(4,1fr); margin:0; }
.client-record-list dl>div { padding:0 20px; border-left:1px solid var(--enterprise-line); }
.client-record-list dl>div:first-child { padding-left:0; border-left:0; }
.client-record-list dt { color:var(--enterprise-muted); font-size:.76rem; font-weight:800; text-transform:uppercase; }
.client-record-list dd { margin:7px 0 0; font-weight:750; }
.client-record-list dd small { display:block; margin-top:4px; color:var(--enterprise-muted); }
.client-status { display:inline-block; padding:5px 9px; border-radius:999px; background:#eef0f3; font-size:.76rem; font-weight:800; }
.client-request-copy { display:grid; grid-template-columns:1fr 1fr; gap:36px; }
.client-request-copy p { margin:8px 0 0; color:var(--enterprise-muted); line-height:1.65; }
.consultation-records footer { margin-top:22px; padding-top:16px; border-top:1px solid var(--enterprise-line); color:var(--enterprise-muted); font-size:.85rem; }

@media (max-width: 780px) {
  .client-header-inner { padding:14px 0; flex-wrap:wrap; }
  .client-header nav { order:3; width:100%; min-height:44px; overflow-x:auto; }
  .client-user>span { display:none; }
  .client-page-heading { align-items:flex-start; flex-direction:column; }
  .client-primary-action { width:100%; }
  .client-summary { grid-template-columns:1fr; }
  .client-summary>div { min-height:86px; border-right:0; border-bottom:1px solid var(--enterprise-line); }
  .client-summary>div:last-child { border-bottom:0; }
  .client-next-step { grid-template-columns:1fr; }
  .client-latest { padding:20px 0 0; border-left:0; border-top:1px solid #34343a; }
  .client-action-list a { grid-template-columns:1fr 24px; }
  .client-action-list span { grid-column:1/3; }
  .client-record-list dl,.client-request-copy { grid-template-columns:1fr; gap:18px; }
  .client-record-list dl>div { padding:14px 0; border-left:0; border-top:1px solid var(--enterprise-line); }
  .client-record-list dl>div:first-child { border-top:0; }
  .client-record-title { align-items:flex-start; flex-direction:column; }
  .client-record-title>.client-status { margin-left:0; }
}

/* Client dashboard polish */
.client-dashboard-hero { align-items:flex-start; }
.client-dashboard-hero h1 { max-width:780px; }
.client-summary-polished { border-radius:8px; overflow:hidden; box-shadow:0 18px 44px rgba(12,16,24,.06); }
.client-summary-polished>div { display:grid; align-content:start; gap:8px; min-height:132px; }
.client-summary-polished strong { margin:0; color:var(--enterprise-ink); line-height:1; }
.client-summary-polished small { color:var(--enterprise-muted); line-height:1.45; }
.client-next-step-polished { margin:26px 0; box-shadow:0 24px 60px rgba(0,0,0,.18); }
.client-next-step-polished>a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 16px; border-radius:6px; background:#fff; color:var(--enterprise-black); font-weight:850; }
.client-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr); gap:18px; margin:18px 0; align-items:start; }
.client-dashboard-grid-secondary { grid-template-columns:1fr 1fr; }
.client-panel { padding:24px; border:1px solid var(--enterprise-line); border-radius:8px; background:#fff; box-shadow:0 14px 34px rgba(12,16,24,.045); }
.client-panel-large { min-height:100%; }
.client-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.client-panel-head span { display:block; color:var(--enterprise-red); font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.client-panel-head h2 { margin:7px 0 0; font-family:var(--font); font-size:1.2rem!important; letter-spacing:0; text-transform:none; }
.client-panel-head h2::after { content:none; }
.client-panel-head a { color:var(--enterprise-ink); font-weight:850; }
.client-booking-stack { display:grid; gap:12px; }
.client-booking-card { display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; padding:16px; border:1px solid var(--enterprise-line); border-radius:8px; background:#fafafa; }
.client-booking-card strong,.client-booking-card span,.client-booking-card small { display:block; }
.client-booking-card strong { color:var(--enterprise-ink); }
.client-booking-card span,.client-booking-card small { margin-top:5px; color:var(--enterprise-muted); line-height:1.45; }
.client-booking-card em { display:inline-block; margin-top:7px; padding:5px 9px; border-radius:999px; background:#eef0f3; color:var(--enterprise-ink); font-style:normal; font-size:.75rem; font-weight:850; }
.client-soft-empty { padding:22px; border:1px dashed var(--enterprise-line); border-radius:8px; background:#fafafa; }
.client-soft-empty h3 { margin:0 0 8px; }
.client-soft-empty p { margin:0 0 14px; color:var(--enterprise-muted); line-height:1.6; }
.client-soft-empty a { color:var(--enterprise-red); font-weight:850; }
.client-checklist { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.client-checklist li { position:relative; padding-left:30px; color:var(--enterprise-muted); line-height:1.6; }
.client-checklist li::before { content:""; position:absolute; left:0; top:.45em; width:16px; height:16px; border-radius:999px; background:var(--enterprise-red); box-shadow:inset 0 0 0 5px #fff; border:1px solid var(--enterprise-red); }
.client-mini-list { display:grid; gap:10px; }
.client-mini-list a,.client-mini-list div { display:grid; gap:5px; padding:14px; border:1px solid var(--enterprise-line); border-radius:8px; background:#fafafa; }
.client-mini-list strong { color:var(--enterprise-ink); }
.client-mini-list span { color:var(--enterprise-muted); line-height:1.45; }
.client-panel-copy { margin:0; color:var(--enterprise-muted); line-height:1.7; }
.client-action-list-polished { margin-top:26px; }
.client-action-list-polished a { padding:24px 4px; }
@media (max-width: 900px) {
  .client-dashboard-grid,.client-dashboard-grid-secondary { grid-template-columns:1fr; }
  .client-booking-card { grid-template-columns:1fr; }
}

/* Final consumer booking pass: keep the brand, reduce visual noise, and win old global rules. */
.consumer-booking .booking-experience-grid {
  gap:clamp(24px,3.5vw,44px);
}

.consumer-booking .booking-calendar,
.consumer-booking .booking-form {
  border-radius:18px!important;
  border-color:rgba(255,255,255,.12)!important;
}

.consumer-booking .booking-calendar,
.consumer-booking .booking-form,
.consumer-booking .selected-date-card-v2,
.consumer-booking .payment-preview,
.consumer-booking .booking-next-step-box {
  box-shadow:0 22px 64px rgba(0,0,0,.3)!important;
}

.consumer-booking input,
.consumer-booking select,
.consumer-booking textarea,
.consult-checkout input,
.consult-checkout textarea {
  border-radius:10px!important;
  line-height:1.45;
}

.consumer-booking .form-row {
  gap:16px!important;
}

.consumer-booking label {
  display:grid;
  gap:7px;
}

.consumer-booking label span,
.consumer-booking .form-group-label {
  letter-spacing:.04em;
}

.consumer-booking .selected-date-card-v2,
.consumer-booking .payment-preview,
.consumer-booking .booking-next-step-box {
  border-radius:14px!important;
  background:rgba(0,0,0,.24)!important;
}

.consumer-booking .calendar-controls {
  display:flex!important;
  border-radius:999px!important;
}

.consumer-booking .calendar-day {
  border-radius:12px!important;
}

.consumer-booking .booking-form .btn-primary {
  margin-top:4px;
}

.consumer-booking .site-footer .container,
.consult-checkout .site-footer .container {
  max-width:calc(100% - 24px);
}

.consumer-booking .footer-grid,
.consumer-booking .footer-links,
.consumer-booking .footer-contact,
.consult-checkout .footer-grid,
.consult-checkout .footer-links,
.consult-checkout .footer-contact {
  min-width:0!important;
}

.consumer-booking .footer-grid>*,
.consult-checkout .footer-grid>* {
  min-width:0;
  max-width:100%;
}

@media (max-width: 360px) {
  .consumer-booking .container,
  .consult-checkout .container {
    width:calc(100% - 24px)!important;
  }

  .consumer-booking .brand,
  .consult-checkout .brand {
    min-width:0;
    max-width:calc(100vw - 88px);
    overflow:hidden;
  }

  .consumer-booking .brand-name,
  .consult-checkout .brand-name {
    min-width:0;
    max-width:calc(100vw - 150px)!important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .consumer-booking .booking-intro h1,
  .consult-checkout .page-hero h1 {
    font-size:clamp(2rem,18vw,2.65rem)!important;
  }

  .consumer-booking .footer-grid,
  .consult-checkout .footer-grid {
    gap:20px;
  }
}

/* Contract acceptance UX */
.consult-checkout .booking-form,
.consumer-booking .booking-form {
  display:grid;
  gap:16px;
}

.consult-checkout .form-group-label {
  margin:8px 0 -2px;
  color:var(--gold);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.consult-checkout label {
  display:grid;
  gap:7px;
  margin:0;
}

.consult-checkout label span {
  color:rgba(247,247,242,.74);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.035em!important;
}

.consult-checkout .form-row {
  gap:14px;
}

.consult-checkout .checkout-summary,
.consult-checkout .commerce-scope-note {
  box-shadow:none!important;
  background:rgba(0,0,0,.22)!important;
  border-color:rgba(214,180,106,.2)!important;
}

.contract-step-title {
  margin-top:28px!important;
}

.contract-consent {
  display:grid;
  gap:11px;
  margin:2px 0 4px;
  padding:15px 0;
  border:0;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  min-width:0;
}

.contract-consent-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.contract-consent-head span {
  display:block;
  margin-bottom:5px;
  color:var(--gold);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.contract-consent-head strong {
  display:block;
  color:#fff;
  font-size:1rem;
  line-height:1.25;
}

.contract-consent-head small {
  flex:0 0 auto;
  padding:6px 9px;
  border:1px solid rgba(214,180,106,.28);
  border-radius:999px;
  background:rgba(214,180,106,.08);
  color:rgba(247,247,242,.78);
  font-weight:850;
  white-space:nowrap;
}

.contract-consent-copy,
.contract-record-note {
  margin:0;
  color:rgba(247,247,242,.68);
  line-height:1.5;
  font-size:.92rem;
}

.contract-points {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px 12px;
  margin:0;
  padding:0;
  list-style:none;
}

.contract-points li {
  min-width:0;
  padding-left:10px;
  border-left:2px solid rgba(214,180,106,.5);
  color:rgba(247,247,242,.78);
  font-size:.84rem;
  line-height:1.42;
}

.contract-links {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.contract-links a {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:rgba(247,247,242,.88);
  font-size:.82rem;
  font-weight:850;
}

.contract-links a:hover {
  border-color:rgba(214,180,106,.5);
  color:#fff;
}

.contract-checks {
  display:grid;
  gap:10px;
}

.contract-check.check-line {
  margin:0!important;
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  background:rgba(255,255,255,.035);
}

.contract-check.check-line span {
  color:rgba(247,247,242,.78)!important;
  font-size:.86rem!important;
  font-weight:650!important;
  letter-spacing:0!important;
  line-height:1.45;
}

.contract-check.check-line input {
  margin-top:.25rem;
}

@media (max-width: 680px) {
  .contract-consent-head {
    flex-direction:column;
    gap:10px;
  }

  .contract-points {
    grid-template-columns:1fr;
  }

  .contract-links a {
    flex:1 1 auto;
    justify-content:center;
  }
}

/* Booking service and calendar polish */
.consumer-booking .booking-service-picker {
  grid-column:1 / -1;
  display:grid;
  gap:20px;
  padding:0 0 12px;
  border-bottom:1px solid rgba(255,255,255,.1);
}

.consumer-booking .booking-service-picker-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
  gap:18px;
  align-items:end;
}

.consumer-booking .booking-service-picker-head h2 {
  margin:0;
  font-size:clamp(1.55rem,2.5vw,2.35rem)!important;
}

.consumer-booking .booking-service-picker-head p {
  max-width:720px;
  margin:8px 0 0;
  color:rgba(247,247,242,.68);
  line-height:1.6;
}

.consumer-booking .booking-service-search {
  margin:0;
}

.consumer-booking .booking-service-search input {
  min-height:48px;
  border-radius:12px!important;
}

.consumer-booking .booking-service-tabs {
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:2px;
  scrollbar-width:thin;
}

.consumer-booking .booking-service-tabs button {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:rgba(247,247,242,.76);
  font-weight:850;
  white-space:nowrap;
  cursor:pointer;
}

.consumer-booking .booking-service-tabs button small {
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:24px;
  padding:0 6px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:rgba(247,247,242,.72);
  font-size:.72rem;
}

.consumer-booking .booking-service-tabs button.is-active {
  border-color:rgba(214,180,106,.58);
  background:rgba(214,180,106,.13);
  color:#fff;
}

.consumer-booking .booking-service-results {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.consumer-booking .booking-service-option {
  display:grid;
  grid-template-rows:1fr auto auto;
  gap:14px;
  min-height:255px;
  padding:18px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.028));
  box-shadow:0 18px 48px rgba(0,0,0,.2);
  transition:border-color .18s ease, transform .18s ease, background .18s ease;
}

.consumer-booking .booking-service-option:hover,
.consumer-booking .booking-service-option.is-selected {
  border-color:rgba(214,180,106,.54);
  background:linear-gradient(180deg, rgba(214,180,106,.11), rgba(255,255,255,.035));
}

.consumer-booking .booking-service-option.is-selected {
  box-shadow:0 20px 54px rgba(214,180,106,.11), inset 0 1px 0 rgba(214,180,106,.22);
}

.consumer-booking .booking-service-option-copy span {
  display:inline-flex;
  margin-bottom:10px;
  color:var(--gold);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.consumer-booking .booking-service-option h3 {
  margin:0;
  color:#fff;
  font-size:1.05rem;
  line-height:1.22;
}

.consumer-booking .booking-service-option p {
  margin:10px 0 0;
  color:rgba(247,247,242,.68);
  font-size:.93rem;
  line-height:1.55;
}

.consumer-booking .booking-service-option-meta {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.1);
}

.consumer-booking .booking-service-option-meta strong {
  color:#fff;
  font-size:1.08rem;
  line-height:1.1;
}

.consumer-booking .booking-service-option-meta small {
  color:rgba(247,247,242,.58);
  font-size:.78rem;
  line-height:1.3;
  text-align:right;
}

.consumer-booking .booking-service-option-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.consumer-booking .booking-service-option-actions button,
.consumer-booking .booking-service-option-actions a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 12px;
  border-radius:10px;
  font-size:.88rem;
  font-weight:900;
  text-align:center;
}

.consumer-booking .booking-service-option-actions button {
  border:1px solid rgba(214,180,106,.42);
  background:rgba(214,180,106,.12);
  color:#fff;
  cursor:pointer;
}

.consumer-booking .booking-service-option-actions a {
  border:1px solid rgba(229,9,20,.68);
  background:var(--brand);
  color:#fff;
}

.consumer-booking .booking-service-empty {
  grid-column:1 / -1;
  margin:0;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  color:rgba(247,247,242,.68);
  background:rgba(255,255,255,.035);
}

.consumer-booking .booking-selected-service {
  display:grid;
  gap:4px;
  padding:14px;
  border:1px solid rgba(214,180,106,.22);
  border-radius:14px;
  background:rgba(0,0,0,.22);
}

.consumer-booking .booking-selected-service span {
  color:var(--gold);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.055em!important;
  text-transform:uppercase;
}

.consumer-booking .booking-selected-service strong {
  color:#fff;
  line-height:1.28;
}

.consumer-booking .booking-selected-service small {
  color:rgba(247,247,242,.62);
  line-height:1.35;
}

.consumer-booking .availability-calendar.calendar-v2 {
  position:relative;
  display:grid;
  grid-template-columns:repeat(7,minmax(48px,1fr));
  gap:8px;
}

.consumer-booking .availability-calendar.calendar-v2.is-loading {
  opacity:.68;
}

.consumer-booking .calendar-day-name {
  color:rgba(247,247,242,.46);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.04em;
  text-align:center;
  text-transform:uppercase;
}

.consumer-booking .calendar-day {
  display:grid;
  align-content:center;
  gap:2px;
  min-width:0;
  padding:8px 5px;
  text-align:center;
}

.consumer-booking .calendar-day .num {
  font-size:1rem;
  font-weight:900;
}

.consumer-booking .calendar-day .status,
.consumer-booking .calendar-day small {
  display:block;
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.02em;
  line-height:1.2;
}

.consumer-booking .calendar-day .status {
  color:rgba(247,247,242,.64);
}

.consumer-booking .calendar-day small {
  color:rgba(247,247,242,.42);
}

.consumer-booking .calendar-day.is-selected .status,
.consumer-booking .calendar-day.is-selected small {
  color:rgba(255,255,255,.82);
}

.consumer-booking .selected-date-card-v2 {
  display:grid;
  gap:14px;
}

.consumer-booking .time-slot-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.consumer-booking .time-slot-empty {
  grid-column:1 / -1;
  margin:0;
  color:rgba(247,247,242,.62);
  font-size:.9rem;
  line-height:1.45;
}

@media (max-width: 1040px) {
  .consumer-booking .booking-service-results {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 860px) {
  .consumer-booking .booking-service-picker-head,
  .consumer-booking .booking-experience-grid {
    grid-template-columns:1fr!important;
  }

  .booking-calendar {
    position:relative;
    top:auto;
  }
}

@media (max-width: 620px) {
  .consumer-booking .booking-service-results,
  .consumer-booking .time-slot-grid {
    grid-template-columns:1fr;
  }

  .consumer-booking .booking-service-option {
    min-height:0;
  }

  .consumer-booking .booking-service-option-actions {
    grid-template-columns:1fr;
  }

  .consumer-booking .availability-calendar.calendar-v2 {
    gap:6px;
  }

  .consumer-booking .calendar-day {
    min-height:62px;
    border-radius:10px!important;
  }
}

/* Stripe-inspired booking refinement */
.consumer-booking {
  --stripe-bg:#f6f9fc;
  --stripe-surface:#ffffff;
  --stripe-surface-soft:#f8fafc;
  --stripe-ink:#0a2540;
  --stripe-muted:#425466;
  --stripe-subtle:#697386;
  --stripe-line:#e6ebf1;
  --stripe-line-strong:#cfd7e3;
  --stripe-accent:#d70012;
  --stripe-focus:rgba(215,0,18,.16);
  background:
    radial-gradient(circle at 18% -8%, rgba(215,0,18,.11), transparent 33%),
    linear-gradient(180deg, #fff 0%, var(--stripe-bg) 38%, #fff 100%);
  color:var(--stripe-ink);
}

.consumer-booking .site-header,
.consumer-booking .site-footer {
  background:#050505;
  color:#fff;
}

.consumer-booking .booking-intro {
  padding:clamp(66px,7vw,104px) 0 40px;
  background:
    linear-gradient(120deg, rgba(215,0,18,.08), transparent 42%),
    linear-gradient(180deg, #fff, var(--stripe-bg));
  border-bottom:1px solid var(--stripe-line);
  color:var(--stripe-ink);
}

.consumer-booking .section-label,
.consumer-booking .step-label {
  color:var(--stripe-accent);
  font-size:.73rem;
  letter-spacing:.03em;
}

.consumer-booking .booking-intro h1 {
  max-width:790px;
  color:var(--stripe-ink);
  font-size:clamp(2.4rem,4.3vw,4.25rem)!important;
  line-height:1.04;
  font-weight:850;
}

.consumer-booking .booking-intro p {
  max-width:720px;
  color:var(--stripe-muted);
  font-size:1.08rem;
  line-height:1.72;
}

.consumer-booking .booking-flow-strip {
  max-width:960px;
  border:1px solid var(--stripe-line);
  border-radius:8px;
  background:var(--stripe-surface);
  box-shadow:0 16px 48px rgba(10,37,64,.08);
}

.consumer-booking .booking-flow-strip div {
  background:transparent;
  min-height:104px;
  border-right:1px solid var(--stripe-line);
}

.consumer-booking .booking-flow-strip div:last-child {
  border-right:0;
}

.consumer-booking .booking-flow-strip span {
  color:var(--stripe-accent);
  letter-spacing:.04em;
}

.consumer-booking .booking-flow-strip strong,
.consumer-booking .booking-service-picker-head h2,
.consumer-booking .booking-service-option h3,
.consumer-booking .booking-calendar h2,
.consumer-booking .booking-form h2,
.consumer-booking .booking-payment-head strong,
.consumer-booking .booking-selected-service strong {
  color:var(--stripe-ink);
}

.consumer-booking .booking-flow-strip small,
.consumer-booking .booking-service-picker-head p,
.consumer-booking .booking-service-option p,
.consumer-booking .booking-calendar p,
.consumer-booking .form-section-title p,
.consumer-booking .payment-preview p,
.consumer-booking .contract-consent-copy,
.consumer-booking .contract-record-note,
.consumer-booking .booking-selected-service small {
  color:var(--stripe-muted);
}

.consumer-booking .booking-experience {
  padding:clamp(36px,5vw,66px) 0 clamp(70px,7vw,108px);
}

.consumer-booking .booking-experience-grid {
  grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);
  gap:clamp(18px,2.8vw,34px);
}

.consumer-booking .booking-service-picker {
  gap:18px;
  padding:0 0 22px;
  border-bottom:1px solid var(--stripe-line);
}

.consumer-booking .booking-service-search span,
.consumer-booking label span,
.consumer-booking .form-group-label,
.consumer-booking .booking-selected-service span,
.consumer-booking .booking-payment-head span,
.consumer-booking .booking-payment-meta small {
  color:var(--stripe-subtle)!important;
  letter-spacing:.02em!important;
}

.consumer-booking input,
.consumer-booking select,
.consumer-booking textarea {
  min-height:48px;
  border:1px solid var(--stripe-line)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--stripe-ink)!important;
  box-shadow:0 1px 2px rgba(10,37,64,.04);
}

.consumer-booking input::placeholder,
.consumer-booking textarea::placeholder {
  color:#8a96a8;
}

.consumer-booking input:focus,
.consumer-booking select:focus,
.consumer-booking textarea:focus {
  border-color:var(--stripe-accent)!important;
  box-shadow:0 0 0 4px var(--stripe-focus)!important;
}

.consumer-booking .booking-service-tabs {
  gap:6px;
}

.consumer-booking .booking-service-tabs button {
  min-height:38px;
  border-color:var(--stripe-line);
  border-radius:999px;
  background:#fff;
  color:var(--stripe-muted);
  box-shadow:0 1px 2px rgba(10,37,64,.04);
}

.consumer-booking .booking-service-tabs button small {
  background:var(--stripe-surface-soft);
  color:var(--stripe-subtle);
}

.consumer-booking .booking-service-tabs button.is-active {
  border-color:rgba(215,0,18,.34);
  background:#fff5f6;
  color:var(--stripe-accent);
  box-shadow:0 8px 24px rgba(215,0,18,.08);
}

.consumer-booking .booking-service-results {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.consumer-booking .booking-service-option {
  min-height:238px;
  padding:16px;
  border:1px solid var(--stripe-line);
  border-radius:8px;
  background:var(--stripe-surface);
  box-shadow:0 2px 6px rgba(10,37,64,.05), 0 16px 36px rgba(10,37,64,.06);
}

.consumer-booking .booking-service-option:hover {
  transform:translateY(-1px);
  border-color:var(--stripe-line-strong);
  background:#fff;
  box-shadow:0 4px 12px rgba(10,37,64,.08), 0 22px 46px rgba(10,37,64,.08);
}

.consumer-booking .booking-service-option.is-selected {
  border-color:rgba(215,0,18,.55);
  background:linear-gradient(180deg, #fff, #fff8f8);
  box-shadow:0 0 0 3px rgba(215,0,18,.08), 0 18px 42px rgba(10,37,64,.08);
}

.consumer-booking .booking-service-option-copy span {
  color:var(--stripe-accent);
  font-size:.68rem;
  letter-spacing:.035em;
}

.consumer-booking .booking-service-option-meta {
  border-top:1px solid var(--stripe-line);
}

.consumer-booking .booking-service-option-meta strong {
  color:var(--stripe-ink);
}

.consumer-booking .booking-service-option-meta small {
  color:var(--stripe-subtle);
}

.consumer-booking .booking-service-option-actions {
  grid-template-columns:1.1fr .9fr;
}

.consumer-booking .booking-service-option-actions button,
.consumer-booking .booking-service-option-actions a {
  min-height:40px;
  border-radius:8px;
  font-size:.84rem;
}

.consumer-booking .booking-service-pay-action {
  border:1px solid var(--stripe-ink)!important;
  background:var(--stripe-ink)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(10,37,64,.14);
}

.consumer-booking .booking-service-pay-action:hover {
  background:#12385b!important;
  border-color:#12385b!important;
}

.consumer-booking .booking-service-book-action {
  border:1px solid var(--stripe-line-strong)!important;
  background:#fff!important;
  color:var(--stripe-ink)!important;
}

.consumer-booking .booking-service-book-action:hover {
  border-color:rgba(215,0,18,.36)!important;
  color:var(--stripe-accent)!important;
  background:#fff8f8!important;
}

.consumer-booking .booking-calendar,
.consumer-booking .booking-form {
  border:1px solid var(--stripe-line)!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 2px 6px rgba(10,37,64,.04), 0 20px 52px rgba(10,37,64,.08)!important;
  backdrop-filter:none;
}

.consumer-booking .booking-calendar::before,
.consumer-booking .booking-form::before {
  background:linear-gradient(90deg, var(--stripe-accent), rgba(215,0,18,.18), transparent);
}

.consumer-booking .calendar-controls {
  border:1px solid var(--stripe-line)!important;
  background:var(--stripe-surface-soft)!important;
  color:var(--stripe-ink)!important;
}

.consumer-booking .calendar-nav {
  background:#fff;
  color:var(--stripe-ink);
  box-shadow:0 1px 2px rgba(10,37,64,.06);
}

.consumer-booking .calendar-nav:hover {
  background:#fff5f6;
  color:var(--stripe-accent);
}

.consumer-booking .calendar-legend span {
  border:1px solid var(--stripe-line);
  background:#fff;
  color:var(--stripe-muted);
}

.consumer-booking .availability-calendar.calendar-v2 {
  gap:6px;
}

.consumer-booking .calendar-day {
  min-height:64px;
  border:1px solid var(--stripe-line)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--stripe-ink)!important;
  box-shadow:0 1px 2px rgba(10,37,64,.04);
}

.consumer-booking .calendar-day:hover:not(:disabled) {
  transform:translateY(-1px);
  border-color:var(--stripe-line-strong)!important;
  box-shadow:0 6px 16px rgba(10,37,64,.08);
}

.consumer-booking .calendar-day.open {
  background:#f8fffb!important;
}

.consumer-booking .calendar-day.limited {
  background:#fffaf0!important;
}

.consumer-booking .calendar-day.closed {
  background:#f8fafc!important;
  color:#9aa4b2!important;
  opacity:1;
}

.consumer-booking .calendar-day .status,
.consumer-booking .calendar-day small {
  color:var(--stripe-subtle);
}

.consumer-booking .calendar-day.open .status {
  color:#008557;
}

.consumer-booking .calendar-day.limited .status {
  color:#9a6700;
}

.consumer-booking .calendar-day.is-selected {
  border-color:var(--stripe-accent)!important;
  background:var(--stripe-accent)!important;
  color:#fff!important;
  box-shadow:0 10px 26px rgba(215,0,18,.22);
}

.consumer-booking .calendar-day.is-selected .status,
.consumer-booking .calendar-day.is-selected small,
.consumer-booking .calendar-day.is-selected .num {
  color:#fff;
}

.consumer-booking .selected-date-card-v2,
.consumer-booking .payment-preview,
.consumer-booking .booking-next-step-box,
.consumer-booking .booking-selected-service,
.consumer-booking .contract-check.check-line {
  border:1px solid var(--stripe-line)!important;
  border-radius:8px!important;
  background:var(--stripe-surface-soft)!important;
  box-shadow:none!important;
}

.consumer-booking .booking-payment-meta>span {
  border-color:var(--stripe-line)!important;
  background:#fff!important;
}

.consumer-booking .booking-payment-meta strong,
.consumer-booking .payment-preview strong,
.consumer-booking .selected-date-card strong,
.consumer-booking .booking-next-step-box strong {
  color:var(--stripe-ink);
}

.consumer-booking .payment-preview span,
.consumer-booking .selected-date-card small,
.consumer-booking .booking-next-step-box p {
  color:var(--stripe-muted);
}

.consumer-booking .time-slot {
  border:1px solid var(--stripe-line-strong)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--stripe-ink)!important;
  box-shadow:0 1px 2px rgba(10,37,64,.04);
}

.consumer-booking .time-slot:hover,
.consumer-booking .time-slot.is-selected {
  border-color:var(--stripe-accent)!important;
  background:var(--stripe-accent)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(215,0,18,.18);
}

.consumer-booking .form-section-title {
  border-bottom:1px solid var(--stripe-line);
}

.consumer-booking .contract-consent {
  border-top:1px solid var(--stripe-line);
  border-bottom:1px solid var(--stripe-line);
}

.consumer-booking .contract-points li,
.consumer-booking .contract-check.check-line span {
  color:var(--stripe-muted)!important;
}

.consumer-booking .contract-links a {
  border:1px solid var(--stripe-line);
  background:#fff;
  color:var(--stripe-ink);
}

.consumer-booking .contract-links a:hover {
  border-color:rgba(215,0,18,.36);
  color:var(--stripe-accent);
}

.consumer-booking .btn,
.consumer-booking .btn-primary {
  border-radius:8px!important;
}

.consumer-booking .btn-primary {
  background:var(--stripe-accent);
  box-shadow:0 12px 28px rgba(215,0,18,.22);
}

@media (max-width: 760px) {
  .consumer-booking .booking-flow-strip {
    grid-template-columns:1fr;
  }

  .consumer-booking .booking-flow-strip div {
    min-height:0;
    border-right:0;
    border-bottom:1px solid var(--stripe-line);
  }

  .consumer-booking .booking-flow-strip div:last-child {
    border-bottom:0;
  }
}

/* Streamlined pay-book-agree flow */
.consumer-booking .booking-experience-grid {
  grid-template-columns:minmax(0,1fr) minmax(360px,430px);
  gap:24px;
}

.consumer-booking .booking-service-picker {
  grid-column:1;
  padding:0;
  border-bottom:0;
}

.consumer-booking .booking-calendar {
  grid-column:2;
  grid-row:1 / span 2;
}

.consumer-booking .booking-form {
  grid-column:1;
}

.consumer-booking .booking-service-picker-head {
  grid-template-columns:1fr;
  gap:14px;
  margin-bottom:4px;
}

.consumer-booking .booking-service-picker-head h2,
.consumer-booking .booking-calendar h2,
.consumer-booking .booking-form h2 {
  font-size:clamp(1.3rem,2vw,1.75rem)!important;
}

.consumer-booking .booking-service-picker-head p {
  max-width:620px;
  margin-top:6px;
}

.consumer-booking .booking-service-search {
  max-width:520px;
}

.consumer-booking .booking-service-results {
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.consumer-booking .booking-service-option {
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  align-items:center;
  min-height:0;
  gap:10px 16px;
  padding:14px;
  cursor:pointer;
}

.consumer-booking .booking-service-option:focus-visible {
  outline:3px solid var(--stripe-focus);
  outline-offset:3px;
}

.consumer-booking .booking-service-option-copy {
  min-width:0;
}

.consumer-booking .booking-service-option-copy span {
  margin-bottom:5px;
}

.consumer-booking .booking-service-option h3 {
  font-size:1rem;
}

.consumer-booking .booking-service-option p {
  max-width:60ch;
  margin-top:5px;
  font-size:.88rem;
  line-height:1.42;
}

.consumer-booking .booking-service-option-meta {
  grid-column:2;
  grid-row:1;
  display:grid;
  justify-items:end;
  gap:4px;
  min-width:120px;
  padding-top:0;
  border-top:0;
}

.consumer-booking .booking-service-option-meta strong {
  font-size:1rem;
}

.consumer-booking .booking-service-option-meta small {
  max-width:130px;
  font-size:.73rem;
}

.consumer-booking .booking-service-option-actions {
  grid-column:1 / -1;
  display:flex;
  gap:8px;
  justify-content:flex-end;
}

.consumer-booking .booking-service-option-actions button,
.consumer-booking .booking-service-option-actions a {
  min-width:130px;
  min-height:38px;
}

.consumer-booking .booking-path-card {
  display:grid;
  gap:10px;
  margin-bottom:18px;
  padding:16px;
  border:1px solid var(--stripe-line);
  border-radius:8px;
  background:linear-gradient(180deg, #fff, #f8fafc);
  box-shadow:0 12px 32px rgba(10,37,64,.07);
}

.consumer-booking .booking-path-card strong {
  color:var(--stripe-ink);
  font-size:1.08rem;
  line-height:1.25;
}

.consumer-booking .booking-path-card p {
  margin:0;
  color:var(--stripe-muted);
  line-height:1.45;
}

.consumer-booking .booking-path-price {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 0;
  border-top:1px solid var(--stripe-line);
  border-bottom:1px solid var(--stripe-line);
}

.consumer-booking .booking-path-price span {
  color:var(--stripe-ink);
  font-size:1.15rem;
  font-weight:900;
}

.consumer-booking .booking-path-price small {
  color:var(--stripe-subtle);
  font-weight:750;
  text-align:right;
}

.consumer-booking .booking-path-primary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border-radius:8px;
  background:var(--stripe-ink);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(10,37,64,.16);
}

.consumer-booking .booking-path-primary:hover {
  background:#12385b;
  color:#fff;
}

.consumer-booking .booking-path-steps {
  display:grid;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:path-step;
}

.consumer-booking .booking-path-steps li {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--stripe-muted);
  font-size:.84rem;
  line-height:1.35;
}

.consumer-booking .booking-path-steps li::before {
  counter-increment:path-step;
  content:counter(path-step);
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  color:var(--stripe-accent);
  border:1px solid rgba(215,0,18,.22);
  font-size:.7rem;
  font-weight:900;
  flex:0 0 auto;
}

.consumer-booking .calendar-topline {
  gap:12px;
}

.consumer-booking .calendar-legend {
  margin-bottom:12px;
}

.consumer-booking .selected-date-card-v2,
.consumer-booking .payment-preview {
  margin-top:12px;
}

@media (max-width: 980px) {
  .consumer-booking .booking-experience-grid {
    grid-template-columns:1fr;
  }

  .consumer-booking .booking-service-picker,
  .consumer-booking .booking-calendar,
  .consumer-booking .booking-form {
    grid-column:1;
    grid-row:auto;
  }

  .consumer-booking .booking-calendar {
    position:relative;
    top:auto;
  }
}

@media (max-width: 620px) {
  .consumer-booking .booking-service-option {
    grid-template-columns:1fr;
  }

  .consumer-booking .booking-service-option-meta {
    grid-column:1;
    grid-row:auto;
    justify-items:start;
  }

  .consumer-booking .booking-service-option-meta small {
    text-align:left;
  }

  .consumer-booking .booking-service-option-actions {
    justify-content:stretch;
    flex-direction:column;
  }

  .consumer-booking .booking-service-option-actions button,
  .consumer-booking .booking-service-option-actions a {
    width:100%;
  }
}

/* Dedicated booking sections */
.consumer-booking .booking-experience-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  max-width:1040px;
  margin:0 auto;
}

.consumer-booking .booking-service-picker,
.consumer-booking .booking-step-section,
.consumer-booking .booking-form-section {
  grid-column:1;
  border:1px solid var(--stripe-line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 6px rgba(10,37,64,.04), 0 18px 46px rgba(10,37,64,.07);
}

.consumer-booking .booking-service-picker,
.consumer-booking .booking-step-section {
  padding:clamp(18px,3vw,28px);
}

.consumer-booking .booking-service-picker {
  border-bottom:1px solid var(--stripe-line);
}

.consumer-booking .booking-service-picker-head {
  grid-template-columns:minmax(0,1fr) minmax(240px,360px);
  align-items:end;
  gap:18px;
}

.consumer-booking .booking-service-search {
  max-width:none;
}

.consumer-booking .booking-service-results {
  max-height:540px;
  overflow:auto;
  padding-right:4px;
}

.consumer-booking .booking-selection-section {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
  gap:16px;
  align-items:stretch;
}

.consumer-booking .booking-selection-section .booking-path-card,
.consumer-booking .booking-selection-section .payment-preview {
  margin:0;
  min-height:100%;
}

.consumer-booking .booking-calendar {
  position:relative;
  top:auto;
  grid-column:1;
  grid-row:auto;
}

.consumer-booking .calendar-topline {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.consumer-booking .availability-calendar.calendar-v2 {
  grid-template-columns:repeat(7,minmax(82px,1fr));
  gap:8px;
}

.consumer-booking .calendar-day {
  min-height:76px;
}

.consumer-booking .selected-date-card-v2 {
  grid-template-columns:minmax(220px,.45fr) minmax(0,1fr);
  align-items:start;
}

.consumer-booking .time-slot-grid {
  grid-template-columns:repeat(5,minmax(0,1fr));
}

.consumer-booking .booking-form {
  display:grid;
  gap:24px;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.consumer-booking .booking-form::before {
  content:none;
}

.consumer-booking .booking-form-section {
  display:grid;
  gap:16px;
  padding:clamp(18px,3vw,28px);
}

.consumer-booking .booking-form-section .form-section-title {
  margin:0 0 2px;
  padding-bottom:16px;
}

.consumer-booking .contract-step-title {
  margin-top:0!important;
}

.consumer-booking .booking-form>.btn-primary {
  justify-self:stretch;
  min-height:54px;
}

@media (max-width: 900px) {
  .consumer-booking .booking-service-picker-head,
  .consumer-booking .booking-selection-section,
  .consumer-booking .selected-date-card-v2 {
    grid-template-columns:1fr;
  }

  .consumer-booking .availability-calendar.calendar-v2 {
    grid-template-columns:repeat(7,minmax(48px,1fr));
  }

  .consumer-booking .time-slot-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 620px) {
  .consumer-booking .booking-experience-grid {
    gap:18px;
  }

  .consumer-booking .booking-service-picker,
  .consumer-booking .booking-step-section,
  .consumer-booking .booking-form-section {
    border-radius:8px;
  }

  .consumer-booking .booking-service-results {
    max-height:none;
    overflow:visible;
    padding-right:0;
  }

  .consumer-booking .availability-calendar.calendar-v2 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .consumer-booking .calendar-day {
    min-height:66px;
  }

  .consumer-booking .time-slot-grid {
    grid-template-columns:1fr;
  }
}
