/* Schedule page integration: Core Pro owns the schedule hero on /schedule/.
   Hide only the theme's generic page-title hero and let the scheduler span the page. */
.kbc-schedule-page .kbg-page-hero{display:none!important}
.kbc-schedule-page .kbg-page-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.kbc-schedule-page .kbg-page-article{margin:0!important;padding:0!important}
.kbc-schedule-page .kbg-main{overflow:clip}
.kbc-schedule-hero{min-height:clamp(520px,66vw,760px);background-image:linear-gradient(90deg,rgba(255,253,248,.98) 0%,rgba(255,253,248,.92) 34%,rgba(255,253,248,.18) 65%,rgba(255,253,248,.02) 100%),var(--kbc-schedule-hero);background-size:cover;background-position:center;display:flex;align-items:center;color:#211d18}.kbc-schedule-hero-overlay{width:min(1420px,calc(100% - 56px));margin:auto}.kbc-schedule-hero-copy{max-width:590px;padding:60px 0}.kbc-schedule-hero-copy h1{margin:10px 0 18px;font-size:clamp(48px,6vw,78px);line-height:.96;font-weight:500;letter-spacing:-.035em}.kbc-schedule-hero-copy p{font-size:18px;line-height:1.65;color:#5d554c;max-width:570px}.kbc-schedule-hero .kbc-button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.kbc-scheduler{--ink:#211d18;--muted:#665f56;--gold:#b98613;--champ:#ecd58b;--cream:#fffaf0;--line:rgba(185,134,19,.25);padding:clamp(48px,6vw,88px) 20px;background:linear-gradient(180deg,#fffdf8,#faf3e6);color:var(--ink)}.kbc-scheduler *{box-sizing:border-box}.kbc-scheduler-shell{max-width:1420px;margin:auto}.kbc-scheduler-header{max-width:980px;margin:0 auto 30px;text-align:center}.kbc-scheduler-eyebrow{display:inline-block;color:#94680b;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.kbc-scheduler-header h2{font-size:clamp(40px,5vw,64px);line-height:1;margin:10px 0 14px;font-weight:500}.kbc-scheduler-header p{font-size:17px;line-height:1.65;color:var(--muted)}.kbc-timezone-banner{display:inline-block;margin-top:14px;padding:10px 14px;border:1px solid var(--line);background:#fff7dd;font-size:12px;font-weight:800;letter-spacing:.07em}.kbc-payment-return{max-width:900px;margin:0 auto 24px;padding:14px 16px;border:1px solid #b8a05f;background:#fff8e4}.kbc-payment-return.is-warning{border-color:#c88762;background:#fff4ee}.kbc-scheduler-steps{display:grid;grid-template-columns:repeat(4,1fr);max-width:1100px;margin:0 auto 30px;padding:0;list-style:none;border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.kbc-scheduler-steps li{display:flex;gap:8px;align-items:center;justify-content:center;padding:13px 8px;border-right:1px solid var(--line);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#81786e}.kbc-scheduler-steps li:last-child{border-right:0}.kbc-scheduler-steps span{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--line);border-radius:50%}.kbc-scheduler-steps .is-active{background:#fff7df;color:var(--ink)}.kbc-scheduler-steps .is-complete span{background:var(--champ);color:var(--ink)}
.kbc-scheduler-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:start}.kbc-scheduler-main,.kbc-scheduler-summary{background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:0 20px 54px rgba(74,52,12,.06)}.kbc-scheduler-main{padding:clamp(22px,3vw,36px);border-radius:14px}.kbc-scheduler-main h3{margin-top:0;font-size:30px}.kbc-scheduler-summary{position:sticky;top:110px;padding:24px;border-radius:14px}.kbc-summary-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;color:#93690c}.kbc-scheduler-summary h2{font-size:26px;line-height:1.1;margin:10px 0 7px}.kbc-summary-price{font-size:19px;font-weight:800;color:#8d650c;margin-bottom:18px}.kbc-scheduler-summary dl{border-top:1px solid var(--line);margin:0}.kbc-scheduler-summary dl>div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.kbc-scheduler-summary dt{font-weight:700}.kbc-scheduler-summary dd{margin:0;text-align:right;color:var(--muted)}.kbc-summary-note{font-size:12px;line-height:1.55;color:#756d64}.kbc-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kbc-service-card{position:relative;min-height:220px;padding:22px;text-align:left;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;display:flex;flex-direction:column;transition:.18s ease}.kbc-service-card:hover,.kbc-service-card:focus-visible{transform:translateY(-2px);border-color:#ba8b1a;box-shadow:0 14px 30px rgba(85,61,15,.08)}.kbc-service-card.is-selected{background:#fff8e3;border-color:#b98613;box-shadow:0 0 0 3px rgba(212,175,55,.13)}.kbc-service-check{position:absolute;right:15px;top:15px;width:25px;height:25px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:transparent}.kbc-service-card.is-selected .kbc-service-check{background:#d9b548;color:#211d18}.kbc-service-name{font-size:22px;line-height:1.1;padding-right:30px}.kbc-service-summary{font-size:14px;line-height:1.55;color:var(--muted);margin:10px 0 18px}.kbc-service-meta{margin-top:auto;padding-top:13px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}.kbc-service-meta strong{color:#865f08}.kbc-service-meta em{font-style:normal;font-size:11px;color:#756d63;text-transform:uppercase;letter-spacing:.05em}.kbc-date-label>span,.kbc-form-grid label>span,.kbc-full>span{display:block;margin-bottom:7px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#76530a}.kbc-date-label input,.kbc-form-grid input,.kbc-form-grid select,.kbc-form-grid textarea,.kbc-full textarea{width:100%;min-height:50px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:11px 13px;font:inherit;color:var(--ink)}.kbc-form-grid textarea,.kbc-full textarea{min-height:112px;resize:vertical}.kbc-date-label input:focus,.kbc-form-grid input:focus,.kbc-form-grid select:focus,.kbc-form-grid textarea:focus,.kbc-full textarea:focus{outline:3px solid rgba(212,175,55,.18);border-color:#b98613}.kbc-slots{margin-top:18px}.kbc-slot-placeholder,.kbc-inquiry-calendar-note{padding:18px;border:1px dashed var(--line);background:#fffaf0;text-align:center;color:var(--muted)}.kbc-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.kbc-slot{min-height:46px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:800;border-radius:6px;cursor:pointer}.kbc-slot:hover,.kbc-slot.is-selected{background:#f4e5b8;border-color:#b98613}.kbc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.kbc-full{grid-column:1/-1}.kbc-service-fields{margin-top:22px;padding:20px;border:1px solid var(--line);background:#fffaf0;border-radius:10px}.kbc-service-fields h4{font-size:22px;margin:0 0 16px}.kbc-scope-note,.kbc-secure-note{font-size:12px;line-height:1.55;color:#6f675e}.kbc-booking-consent{display:flex;gap:9px;align-items:flex-start;margin-top:14px;color:#5f584f;font-size:13px;line-height:1.45}.kbc-booking-consent input{margin-top:3px}.kbc-step-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.kbc-review-box{border:1px solid var(--line);background:#fffaf0;padding:18px;border-radius:9px}.kbc-review-box>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--line)}.kbc-review-box>div:last-child{border-bottom:0}.kbc-inline-status{padding:12px 14px;margin:12px 0;border:1px solid #cdb66a;background:#fff9e8;color:#4b3a12}.kbc-inline-status.is-error{border-color:#c06d55;background:#fff3ef;color:#702d1b}.kbc-booking-success{text-align:center;padding:35px}.kbc-success-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;background:#edd78d;border-radius:50%;font-size:28px}.kbc-booking-success h2{font-size:38px;margin:0 0 10px}.kbc-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important}.kbc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border-radius:7px;border:1px solid #d1ad45;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.03em;cursor:pointer}.kbc-btn-primary{background:#ecd17a;color:#211d18}.kbc-btn-secondary{background:#fff;color:#211d18}.kbc-btn:hover{transform:translateY(-1px)}.kbc-btn:focus-visible{outline:3px solid rgba(185,134,19,.28);outline-offset:2px}.kbc-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
@media(max-width:900px){.kbc-schedule-hero{min-height:560px;background-image:linear-gradient(180deg,rgba(255,253,248,.96) 0%,rgba(255,253,248,.78) 52%,rgba(255,253,248,.15) 100%),var(--kbc-schedule-hero);background-position:62% center}.kbc-schedule-hero-copy{max-width:600px}.kbc-scheduler-layout{grid-template-columns:1fr}.kbc-scheduler-summary{position:static;order:-1}.kbc-service-grid{grid-template-columns:1fr 1fr}.kbc-slot-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.kbc-schedule-hero{min-height:620px;background-position:66% center}.kbc-schedule-hero-overlay{width:min(100% - 28px,1420px)}.kbc-schedule-hero-copy{padding:36px 0 260px}.kbc-schedule-hero-copy h1{font-size:43px}.kbc-schedule-hero-copy p{font-size:16px}.kbc-scheduler{padding:34px 14px}.kbc-scheduler-header{text-align:left}.kbc-scheduler-header h2{font-size:40px}.kbc-scheduler-steps{grid-template-columns:1fr 1fr}.kbc-scheduler-steps li{justify-content:flex-start;border-bottom:1px solid var(--line)}.kbc-service-grid,.kbc-form-grid{grid-template-columns:1fr}.kbc-full{grid-column:auto}.kbc-slot-grid{grid-template-columns:repeat(2,1fr)}.kbc-step-actions{flex-direction:column-reverse}.kbc-step-actions .kbc-btn{width:100%}.kbc-service-card{min-height:185px}.kbc-review-box>div{display:block}.kbc-review-box span{display:block;margin-top:4px}}
@media(prefers-reduced-motion:reduce){.kbc-service-card,.kbc-btn{transition:none!important}}

/* v5.8.10 — visible calendar, aligned step headings, flash-free first paint */
.kbc-scheduler-main{overflow:hidden}
.kbc-scheduler-main>[data-step],.kbc-scheduler-main>form>[data-step]{padding:2px 0 0}
.kbc-scheduler-main .kbc-step-title,.kbc-scheduler-main>[data-step]>h3,.kbc-scheduler-main>form>[data-step]>h3{margin:0 0 24px!important;padding:0!important;font-size:clamp(26px,2.2vw,34px)!important;line-height:1.08!important;text-align:left!important}
.kbc-calendar-layout{display:grid;grid-template-columns:minmax(380px,.82fr) minmax(360px,1.18fr);gap:26px;align-items:start}
.kbc-calendar-card{border:1px solid var(--line);background:#fffdf9;border-radius:12px;padding:20px;box-shadow:0 10px 28px rgba(74,52,12,.04)}
.kbc-calendar-toolbar{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;margin-bottom:16px}
.kbc-calendar-toolbar strong{text-align:center;font:600 22px/1.1 Georgia,serif;color:var(--ink)}
.kbc-calendar-nav{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:18px;cursor:pointer}
.kbc-calendar-nav:hover:not(:disabled){background:#fff4d5;border-color:#b98613}.kbc-calendar-nav:disabled{opacity:.28;cursor:not-allowed}
.kbc-calendar-weekdays,.kbc-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.kbc-calendar-weekdays{margin-bottom:8px}.kbc-calendar-weekdays span{text-align:center;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8a8178}
.kbc-calendar-day,.kbc-calendar-blank{aspect-ratio:1/1;min-width:0}
.kbc-calendar-day{border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);font-weight:700;cursor:pointer}
.kbc-calendar-day:hover:not(:disabled){border-color:#d3ad45;background:#fff7df}.kbc-calendar-day.is-selected{background:#d9b548;border-color:#b98613;color:#211d18}.kbc-calendar-day.is-today:not(.is-selected){border-color:#c8a348}.kbc-calendar-day.is-disabled{opacity:.22;cursor:not-allowed}
.kbc-time-panel{min-height:360px;border:1px solid var(--line);background:#fffaf0;border-radius:12px;padding:20px}
.kbc-time-panel-label{display:block;margin-bottom:14px;font-size:11px;font-weight:800;letter-spacing:.14em;color:#8d650c}
.kbc-time-panel .kbc-slots{margin-top:0}.kbc-time-panel .kbc-slot-placeholder{min-height:96px;display:grid;place-items:center;border-radius:8px}
@media(max-width:1050px){.kbc-calendar-layout{grid-template-columns:1fr}.kbc-time-panel{min-height:0}}
@media(max-width:640px){.kbc-calendar-card,.kbc-time-panel{padding:14px}.kbc-calendar-weekdays,.kbc-calendar-grid{gap:3px}.kbc-calendar-toolbar strong{font-size:19px}.kbc-calendar-nav{width:38px;height:38px}}


/* v5.8.11 — consistent inner spacing for every scheduler step, especially Your Details */
.kbc-scheduler-main{padding:0!important;overflow:hidden}
.kbc-scheduler-main>[data-step],
.kbc-scheduler-main>form>[data-step]{
  padding:30px 34px 34px!important;
  margin:0!important;
}
.kbc-scheduler-main .kbc-step-title,
.kbc-scheduler-main>[data-step]>h3,
.kbc-scheduler-main>form>[data-step]>h3{
  margin:0 0 26px!important;
  padding:0!important;
  font-size:clamp(28px,2.3vw,36px)!important;
  line-height:1.08!important;
  text-align:left!important;
}
.kbc-details-step .kbc-form-grid{gap:18px 20px}
.kbc-details-step .kbc-form-grid label{display:block;min-width:0;margin:0}
.kbc-details-step .kbc-form-grid label>span{margin-bottom:8px}
.kbc-details-step .kbc-form-grid input,
.kbc-details-step .kbc-form-grid select{min-height:52px;padding:12px 14px}
.kbc-details-step .kbc-form-grid textarea{padding:13px 14px}
.kbc-details-step>.kbc-full{display:block;margin-top:18px}
.kbc-details-step .kbc-service-fields{margin-top:26px;padding:22px 24px}
.kbc-details-step .kbc-booking-consent{margin-left:0;margin-right:0}
.kbc-review-step .kbc-review-box{margin-top:4px}
@media(max-width:640px){
  .kbc-scheduler-main>[data-step],
  .kbc-scheduler-main>form>[data-step]{padding:22px 18px 24px!important}
  .kbc-scheduler-main .kbc-step-title,
  .kbc-scheduler-main>[data-step]>h3,
  .kbc-scheduler-main>form>[data-step]>h3{font-size:28px!important;margin-bottom:20px!important}
  .kbc-details-step .kbc-form-grid{gap:15px}
  .kbc-details-step .kbc-service-fields{padding:18px}
}


/* v5.8.29 — payment-first confirmation flow */
.kbc-payment-return{display:flex;align-items:flex-start;gap:14px;max-width:900px;margin:0 auto 26px;padding:18px 20px;border-radius:10px;box-shadow:0 12px 30px rgba(74,52,12,.05)}
.kbc-payment-return p{margin:6px 0 0;line-height:1.6;color:#5d554c}
.kbc-payment-return-icon{flex:0 0 36px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#ead8a2;color:#3f3216;font-weight:900;font-size:18px}
.kbc-payment-return.is-success{border-color:#b8a05f;background:#fff8e4}
.kbc-payment-return.is-success .kbc-payment-return-icon{background:#d9b548}
.kbc-payment-return.is-warning .kbc-payment-return-icon{background:#f0c8b1;color:#78361e}
