:root{--booking-red:#e83423;--booking-gold:#e83423;--booking-black:#0b0b0b;--booking-ink:#222;--booking-cream:#f5f5f5}
.booking-page .ttm-stickable-header-w{position:relative}
/* Keep the booking header consistent with the home page header. */
@media (min-width:768px){
  .booking-page .ttm-topbar-wrapper,
  .booking-page #masthead,
  .booking-page .ttm-header-wrap,
  .booking-page .ttm-stickable-header-w,
  .booking-page #site-header-menu,
  .booking-page .site-header-menu-inner,
  .booking-page #site-header-menu #site-navigation{background:#000 !important}
  .booking-page #site-header-menu #site-navigation .menu ul li>a{color:#fff !important}
}
@media(min-width:1200px) and (max-width:1400px){.booking-page #site-header-menu #site-navigation .menu ul>li>a{padding-left:8px;padding-right:8px;font-size:14px}}
.booking-hero{background:radial-gradient(circle at 80% 20%,#3b1712 0,transparent 35%),linear-gradient(120deg,#050505,#17100d);padding:82px 0 72px;color:#fff;text-align:center;position:relative;overflow:hidden}
.booking-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(200,165,106,.12) 50%,transparent 50.2%);pointer-events:none}
.booking-kicker,.booking-heading>span,.booking-modal-card>span{color:var(--booking-red);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.booking-hero h1{color:#fff;text-transform:none;font-size:54px;line-height:1.1;margin:14px 0}.booking-hero h1 em{color:var(--booking-gold);font-weight:400}.booking-hero p{font-size:17px;color:#ddd}.booking-trust{display:flex;justify-content:center;gap:28px;margin-top:25px}.booking-trust i{color:var(--booking-red);margin-right:6px}
.booking-shell{padding:70px 0 90px;background:var(--booking-cream)}.booking-card{max-width:1120px;margin:auto;background:#fff;box-shadow:0 22px 60px rgba(24,16,10,.12);border-top:4px solid var(--booking-red);padding:42px 46px}
.booking-progress{display:flex;align-items:center;max-width:720px;margin:0 auto 50px}.booking-progress>i{height:1px;background:#ddd;flex:1}.progress-step{text-align:center;color:#999;min-width:66px}.progress-step b{display:flex;width:38px;height:38px;border:1px solid #ddd;border-radius:50%;align-items:center;justify-content:center;margin:auto;background:#fff}.progress-step span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-top:7px}.progress-step.active b,.progress-step.done b{border-color:var(--booking-red);background:var(--booking-red);color:#fff}.progress-step.active span,.progress-step.done span{color:var(--booking-ink);font-weight:700}
.booking-step{display:none}.booking-step.active{display:block;animation:bookingFade .28s ease}@keyframes bookingFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.booking-heading{text-align:center;margin-bottom:32px}.booking-heading h2{font-size:36px;line-height:1.2;margin:7px 0 8px;color:#171717}.booking-heading p{color:#777}
.booking-location{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#161616;color:#fff;padding:18px 20px;margin-bottom:22px;border-left:3px solid var(--booking-red)}.booking-location strong,.booking-location small{display:block}.booking-location strong i{color:var(--booking-red);margin-right:7px}.booking-location small{color:#bbb;margin-top:4px}.booking-location .booking-secondary{border:1px solid #555;white-space:nowrap}
.branch-select-field{max-width:760px;margin:0 auto 10px}.branch-select-field select{font-size:16px;font-weight:600;border:1px solid #d8d0c8;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23e83423' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 18px center;appearance:none;padding-right:45px}.branch-select-field>small{display:block;color:#777;margin-top:8px;line-height:1.5}
.booking-grid{display:grid;gap:15px}.branch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:450px;overflow:auto;padding:2px}
.booking-choice{margin:0;cursor:pointer}.booking-choice input{position:absolute;opacity:0;pointer-events:none}.booking-choice>span{display:flex;position:relative;flex-direction:column;justify-content:center;min-height:112px;border:1px solid #e5dfd8;padding:20px 45px 20px 22px;background:#fff;transition:.2s}.booking-choice>span>i{color:var(--booking-red);margin-bottom:9px}.booking-choice strong{color:#222;font-size:16px}.booking-choice small{color:#777;line-height:1.45;margin-top:5px}.choice-check{display:none;position:absolute;right:18px;top:18px;width:23px;height:23px;line-height:23px;text-align:center;border-radius:50%;background:var(--booking-red);color:#fff}.booking-choice input:checked+span{border-color:var(--booking-red);box-shadow:0 5px 20px rgba(232,52,35,.1);background:#fffafa}.booking-choice input:checked+span .choice-check{display:block}.service-choice>span{min-height:90px}
.booking-actions{display:flex;justify-content:space-between;gap:15px;margin-top:34px}.booking-actions.end{justify-content:flex-end}.booking-primary,.booking-secondary{border:0;padding:14px 24px;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.05em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none!important}.booking-primary{background:var(--booking-red);color:#fff!important}.booking-primary:hover{background:#c92718}.booking-primary:disabled{opacity:.6}.booking-secondary{background:#171717;color:#fff}.booking-field{display:block;margin-bottom:20px}.booking-field>span{display:block;color:#333;font-weight:600;margin-bottom:7px}.booking-field input,.booking-field select,.booking-field textarea{width:100%;border:1px solid #ddd;background:#fff;padding:13px 14px;color:#222;min-height:49px}.booking-field textarea{min-height:100px;resize:vertical}.booking-fields-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking-slots{display:flex;flex-wrap:wrap;gap:10px;margin:5px 0 25px}.booking-slots p{color:#777}.booking-slots button{border:1px solid #ddd;background:#fff;padding:10px 16px;cursor:pointer}.booking-slots button:hover,.booking-slots button.selected{border-color:var(--booking-red);background:var(--booking-red);color:#fff}.booking-consent{display:flex;align-items:flex-start;gap:10px;color:#555}.booking-consent input{margin-top:5px}.booking-summary{background:#f8f6f3;border-left:3px solid var(--booking-gold);padding:18px;margin-top:22px}.booking-summary strong,.booking-summary span{display:block}.booking-summary span{font-size:13px;color:#666;margin-top:4px}.booking-error{color:#b42318;font-weight:600;margin-top:14px}
.booking-modal{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;padding:20px}.booking-modal[hidden]{display:none}.booking-modal-card{background:#fff;max-width:520px;width:100%;padding:42px;text-align:center;border-top:4px solid var(--booking-red);box-shadow:0 25px 80px rgba(0,0,0,.35)}.success-mark{width:68px;height:68px;line-height:68px;margin:0 auto 20px;border-radius:50%;background:#edf8ef;color:#218838;font-size:34px}.booking-modal-card h2{font-size:34px;margin:8px 0}.booking-modal-card p{color:#666}.booking-modal-actions{display:flex;gap:12px;justify-content:center;margin-top:25px}
@media(max-width:767px){.booking-hero{padding:55px 15px}.booking-hero h1{font-size:37px}.booking-trust{gap:10px;flex-wrap:wrap;font-size:12px}.booking-shell{padding:35px 0}.booking-card{padding:28px 16px}.booking-progress{margin-bottom:35px}.booking-progress>i{min-width:8px}.progress-step{min-width:52px}.progress-step span{font-size:9px}.branch-grid,.service-grid,.booking-fields-two{grid-template-columns:1fr}.service-grid{max-height:none}.booking-heading h2{font-size:29px}.booking-location{align-items:stretch;flex-direction:column}.booking-actions,.booking-modal-actions{flex-direction:column-reverse}.booking-actions button,.booking-modal-actions>*{width:100%}.booking-modal-card{padding:32px 20px}}
.service-tools{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:14px;margin-bottom:22px;padding:18px;background:#f8f8f8;border:1px solid #ddd}.service-tools label{margin:0}.service-tools label>span{display:block;margin-bottom:7px;color:#222;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.service-tools select,.service-tools input{width:100%;height:47px;border:1px solid #ccc;background:#fff;padding:0 14px;color:#222}.service-tools .booking-secondary{height:47px}
.stylist-field{max-width:720px;margin:0 auto;padding:28px;background:#fafafa;border:1px solid #ddd;border-left:4px solid var(--booking-red)}.stylist-field select{font-size:16px;font-weight:700}.stylist-field small{display:block;margin-top:9px;color:#666;line-height:1.5}
.booking-date-cards{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin:0 0 28px}.booking-date-cards button{min-height:105px;border:1px solid #e6ddd5;border-radius:12px;background:linear-gradient(180deg,#fff,#faf7f3);color:#29211d;cursor:pointer;box-shadow:0 5px 18px rgba(45,30,20,.05);transition:.2s}.booking-date-cards button:hover{transform:translateY(-3px);border-color:var(--booking-gold)}.booking-date-cards button.selected{background:linear-gradient(145deg,#ed3b28,#bd2116);border-color:var(--booking-red);color:#fff;box-shadow:0 12px 25px rgba(232,52,35,.25)}.booking-date-cards small,.booking-date-cards span{display:block;font-size:10px;font-weight:800;letter-spacing:.08em}.booking-date-cards b{display:block;font-size:30px;line-height:1.15;margin:4px 0}.booking-slots{padding:20px;border-radius:13px;background:#171717}.booking-slots p{color:#ddd;margin:0}.booking-slots button{border:1px solid #4b423c;border-radius:20px;background:#27211e;color:#fff;padding:11px 18px}.booking-slots button:hover,.booking-slots button.selected{box-shadow:0 7px 18px rgba(232,52,35,.3)}
.payment-panel{margin-top:25px;padding:25px;background:#141414;color:#fff;border-radius:14px;border-top:3px solid var(--booking-red)}.payment-panel>span{font-size:10px;color:var(--booking-gold);font-weight:800;letter-spacing:.16em}.payment-panel h3{color:#fff;margin:5px 0 17px}.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.payment-options label{position:relative;margin:0;padding:17px 17px 17px 45px;border:1px solid #48413c;border-radius:10px;cursor:pointer;background:#201c19}.payment-options input{position:absolute;left:17px;top:20px;accent-color:var(--booking-red)}.payment-options b,.payment-options small{display:block}.payment-options b{color:#fff}.payment-options b i{color:var(--booking-red);margin-right:5px}.payment-options small{color:#bfb6af;margin-top:5px}.payment-options label.disabled{opacity:.48;cursor:not-allowed}
@media(max-width:767px){.service-tools{grid-template-columns:1fr}.booking-date-cards{display:flex;overflow-x:auto;padding-bottom:8px}.booking-date-cards button{min-width:82px}.payment-options{grid-template-columns:1fr}.booking-progress{overflow-x:auto;justify-content:flex-start}.progress-step{flex:0 0 50px}.booking-progress>i{flex:0 0 14px}}

@media(max-width:767px){
  .booking-hero{padding:30px 16px 25px;text-align:left;background:linear-gradient(135deg,#17100e,#3b1712)}
  .booking-hero h1{font-size:32px;margin:9px 0}.booking-hero p{font-size:13px}.booking-trust{justify-content:flex-start;gap:12px;font-size:10px}
  .booking-shell{padding:0 0 20px;background:#f7f4f1}.booking-card{width:100%;padding:22px 16px 28px;border-top:0;border-radius:0;box-shadow:none}
  .booking-progress{margin:0 -4px 26px;padding-bottom:4px}.progress-step b{width:32px;height:32px;font-size:12px}.progress-step span{font-size:9px}.booking-progress>i{min-width:16px}
  .booking-heading{text-align:left;margin-bottom:20px}.booking-heading h2{font-size:27px!important;margin:7px 0}.booking-heading p{font-size:12px}
  .booking-location{margin:0 0 18px;padding:14px;gap:12px;border-radius:14px}.booking-location strong{font-size:14px}.booking-location small{font-size:11px;line-height:1.5}
  .branch-select-field{margin-bottom:12px}.branch-select-field>label{font-size:13px}.branch-picker input{min-height:50px;border-radius:12px}
  .booking-actions{position:sticky;bottom:78px;z-index:20;margin:22px -16px -28px;padding:12px 16px;background:#fff;border-top:1px solid #eee;box-shadow:0 -5px 16px #00000012}.booking-actions button{width:100%;min-height:48px;border-radius:12px}
  .service-tools{margin:0 -2px 16px;padding:12px;border-radius:14px}.service-grid{display:grid;grid-template-columns:1fr;gap:10px}.booking-choice>span{min-height:72px;padding:15px 42px 15px 16px;border-radius:12px}.service-choice>span{min-height:72px}
  .booking-date-cards{gap:8px;margin:0 -2px 18px}.booking-date-cards button{min-width:76px;min-height:92px;border-radius:12px}.booking-slots{padding:14px;border-radius:14px;gap:8px}.booking-slots button{padding:10px 13px}
  .payment-panel{margin:16px 0;padding:16px;border-radius:14px}.payment-panel h3{font-size:24px}.payment-options label{padding:14px 12px 14px 40px}
  .booking-coupon{padding:15px;border-radius:14px;background:#fff}.coupon-controls{flex-wrap:wrap}.coupon-controls input{flex-basis:100%;border-radius:10px}.coupon-controls button{flex:1}.booking-summary{padding:15px;border-radius:12px;font-size:13px}
}

.branch-select-field>label{display:block;font-weight:600;color:#333;margin-bottom:7px}.branch-select-field select[hidden]{display:none}.branch-picker{position:relative}.branch-picker input{padding-right:38px;font-size:16px;font-weight:600}.branch-picker:after{content:"⌄";position:absolute;right:16px;top:12px;pointer-events:none;color:var(--booking-red)}.branch-picker input:focus{outline:2px solid var(--booking-red);outline-offset:1px}.branch-picker [role=listbox]{position:absolute;top:100%;left:0;right:0;z-index:20;max-height:280px;overflow-y:auto;background:#fff;border:1px solid #ddd;box-shadow:0 10px 24px #0002}.branch-picker [role=option]{padding:12px 14px;cursor:pointer;border-bottom:1px solid #eee;color:#222}.branch-picker [role=option]:hover,.branch-picker [role=option].active{background:#fff0ed}.branch-picker [aria-selected=true]{border-left:3px solid var(--booking-red)}.branch-picker strong,.branch-picker small{display:block}.branch-picker small{font-size:12px;color:#777;font-weight:400;line-height:1.5}.branch-picker p{padding:14px;margin:0;color:#777}

.booking-coupon{margin-top:24px;border:1px solid #ddd;padding:20px}.booking-coupon>label{font-weight:600}.coupon-controls{display:flex;gap:10px;margin-top:10px}.coupon-controls input{min-width:0;flex:1;border:1px solid #ccc;padding:12px;text-transform:uppercase}.booking-coupon details{font-size:13px;line-height:1.7;color:#666}.booking-coupon summary{cursor:pointer;font-weight:600}.booking-coupon ul{padding-left:20px}.booking-coupon [hidden]{display:none!important}#coupon-status{margin:12px 0;color:#b42318}.booking-coupon .booking-consent{margin-top:12px}@media(max-width:480px){.coupon-controls{flex-wrap:wrap}.coupon-controls input{flex-basis:100%}}
