
.btc-booking-app,.btc-manage{
    --btc-ink:#17171c;
    --btc-muted:#70707a;
    --btc-line:#e8e8ed;
    --btc-soft:#f7f7f9;
    --btc-a1:#6d1748;
    --btc-a2:#dc252d;
    color:var(--btc-ink);
    font-family:inherit;
}
.btc-booking-app{max-width:1180px;margin:0 auto;padding:54px 24px 80px}
.btc-booking-app *,.btc-manage *{box-sizing:border-box}
.btc-intro{text-align:center;max-width:780px;margin:0 auto 34px}
.btc-eyebrow{display:inline-block;color:var(--btc-a2);font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}
.btc-intro h2{font:inherit;font-size:clamp(29px,4vw,46px);font-weight:800;line-height:1.15;margin:0 0 12px;color:var(--btc-ink)}
.btc-intro>p{font-size:16px;line-height:1.75;color:var(--btc-muted);margin:0 auto 12px;max-width:690px}
.btc-timezone-note{font-size:12px;color:#84848d}
.btc-mode-pill{display:table;margin:0 auto 13px;padding:7px 11px;border-radius:999px;background:#fff1f3;color:#a61939;font-size:11px;font-weight:800}
.btc-progress{display:grid;grid-template-columns:repeat(4,1fr);max-width:800px;margin:0 auto 48px;position:relative}
.btc-progress:before{content:"";position:absolute;left:10%;right:10%;top:17px;height:1px;background:var(--btc-line)}
.btc-progress>div{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px;color:#9898a0}
.btc-progress b{width:35px;height:35px;border-radius:50%;border:1px solid var(--btc-line);background:#fff;display:grid;place-items:center;font-size:11px}
.btc-progress .is-active b,.btc-progress .is-done b{background:linear-gradient(135deg,var(--btc-a1),var(--btc-a2));border-color:transparent;color:#fff}
.btc-progress .is-active{color:var(--btc-ink);font-weight:750}
.btc-step{display:none}
.btc-step.is-active{display:block;animation:btcFade .25s ease}
@keyframes btcFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.btc-step-title{display:flex;gap:15px;align-items:flex-start;margin-bottom:23px}
.btc-step-title>span{color:var(--btc-a2);font-size:11px;font-weight:850;letter-spacing:.1em;padding-top:8px}
.btc-step-title h3{font:inherit;font-size:clamp(26px,3vw,37px);font-weight:800;line-height:1.2;margin:0 0 6px;color:var(--btc-ink)}
.btc-step-title p{margin:0;color:var(--btc-muted)}
.btc-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.btc-service{position:relative;text-align:left;min-height:295px;padding:27px;border:1px solid var(--btc-line);border-radius:19px;background:#fff;color:inherit;font:inherit;cursor:pointer;transition:.2s;overflow:hidden}
.btc-service:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--btc-a1),var(--btc-a2));opacity:0;transition:.2s}
.btc-service:hover,.btc-service.is-selected{transform:translateY(-3px);border-color:rgba(160,30,70,.3);box-shadow:0 18px 50px rgba(40,15,30,.08)}
.btc-service:hover:before,.btc-service.is-selected:before{opacity:1}
.btc-service-number{font-size:11px;font-weight:850;letter-spacing:.12em;color:var(--btc-a2)}
.btc-service h4{font:inherit;font-size:25px;line-height:1.2;font-weight:800;margin:18px 0 10px;color:var(--btc-ink)}
.btc-service p{font-size:14px;line-height:1.75;color:var(--btc-muted);margin:0 0 20px}
.btc-service-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--btc-line);padding-top:15px;margin-top:auto}
.btc-service-meta span{font-size:12px;color:var(--btc-muted)}
.btc-service-meta strong{font-size:13px}
.btc-service-cta{display:block;margin-top:15px;font-size:12px;font-weight:800;color:var(--btc-a2)}
.btc-back{border:0;background:transparent;padding:0;margin:0 0 22px;color:var(--btc-muted);font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.btc-back:hover{color:var(--btc-a2)}
.btc-schedule{display:grid;grid-template-columns:1.08fr .92fr;gap:22px}
.btc-date-card,.btc-time-card{border:1px solid var(--btc-line);border-radius:18px;background:#fff;padding:23px}
.btc-card-label{font-size:14px;font-weight:800;margin-bottom:16px}
.btc-dates{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:420px;overflow:auto}
.btc-date{border:1px solid var(--btc-line);border-radius:11px;background:#fff;padding:11px 5px;color:inherit;font:inherit;text-align:center;cursor:pointer}
.btc-date small,.btc-date em{display:block;font-size:10px;font-style:normal;color:var(--btc-muted)}
.btc-date strong{display:block;font-size:20px;line-height:1.2}
.btc-date:hover,.btc-date.is-selected{border-color:var(--btc-a2);background:#fff7f8}
.btc-times{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.btc-time{border:1px solid var(--btc-line);border-radius:10px;background:#fff;padding:11px;color:inherit;font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.btc-time:hover,.btc-time.is-selected{background:var(--btc-ink);border-color:var(--btc-ink);color:#fff}
.btc-muted{color:var(--btc-muted);grid-column:1/-1;line-height:1.6}
.btc-actions{display:flex;justify-content:flex-end;margin-top:22px}
.btc-primary,.btc-secondary,.btc-danger{display:inline-flex;align-items:center;justify-content:center;min-height:49px;border-radius:10px;padding:0 20px;text-decoration:none!important;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.btc-primary{border:0;background:linear-gradient(135deg,var(--btc-a1),var(--btc-a2));color:#fff!important;box-shadow:0 10px 26px rgba(150,30,70,.16)}
.btc-primary:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
.btc-secondary{border:1px solid var(--btc-line);background:#fff;color:var(--btc-ink)!important}
.btc-danger{border:1px solid #f0c8ce;background:#fff5f6;color:#a52036}
.btc-details-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}
.btc-booking-form{position:relative;display:grid;gap:16px;border:1px solid var(--btc-line);border-radius:18px;background:#fff;padding:25px}
.btc-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.btc-field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.btc-field-grid label:nth-child(3){grid-column:1/-1}
.btc-booking-form label>span{display:block;font-size:11px;font-weight:800;margin-bottom:7px}
.btc-booking-form input[type=text],.btc-booking-form input[type=email],.btc-booking-form input[type=tel],.btc-booking-form textarea{width:100%;border:1px solid var(--btc-line);border-radius:10px;background:#fff;padding:12px 13px;color:var(--btc-ink);font:inherit;font-size:13px;outline:none}
.btc-booking-form input:focus,.btc-booking-form textarea:focus{border-color:var(--btc-a2);box-shadow:0 0 0 3px rgba(220,37,45,.06)}
.btc-wide{display:block}
.btc-consent{display:flex;gap:9px;align-items:flex-start;color:var(--btc-muted);font-size:12px;line-height:1.5}
.btc-consent input{margin-top:3px}
.btc-consent span{font-weight:400!important;margin:0!important}
.btc-form-message{font-size:12px;color:#a52036}
.btc-summary{position:sticky;top:110px;border-radius:18px;padding:24px;color:#fff;background:linear-gradient(145deg,var(--btc-a1),var(--btc-a2))}
.btc-summary-label{font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.btc-summary h4{font:inherit;font-size:24px;line-height:1.2;font-weight:800;color:#fff;margin:7px 0 20px}
.btc-summary dl{margin:0}
.btc-summary dl>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.18);padding:11px 0}
.btc-summary dt{font-size:11px;color:rgba(255,255,255,.72)}
.btc-summary dd{margin:0;font-size:12px;font-weight:750;text-align:right}
.btc-success{text-align:center;max-width:680px;margin:auto;border:1px solid var(--btc-line);border-radius:22px;background:#fff;padding:44px 29px}
.btc-success-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;margin:0 auto 18px;background:linear-gradient(135deg,var(--btc-a1),var(--btc-a2));color:#fff;font-size:29px;font-weight:800}
.btc-success h3{font:inherit;font-size:35px;line-height:1.18;font-weight:800;color:var(--btc-ink);margin:4px 0 12px}
.btc-success>p{color:var(--btc-muted);line-height:1.7}
.btc-confirmation{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:23px 0}
.btc-confirmation>div{padding:12px;border-radius:10px;background:var(--btc-soft);font-size:12px}
.btc-success-actions,.btc-manage-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}
.btc-manage{max-width:760px;margin:55px auto 75px;padding:30px;border:1px solid var(--btc-line);border-radius:20px;background:#fff}
.btc-manage h2{font:inherit;font-size:34px;font-weight:800;margin:4px 0 23px}
.btc-manage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:22px}
.btc-manage-grid>div{background:var(--btc-soft);padding:13px;border-radius:10px}
.btc-manage-grid span,.btc-manage-grid strong{display:block}
.btc-manage-grid span{font-size:10px;color:var(--btc-muted);margin-bottom:4px}
.btc-manage-grid strong{font-size:13px}
.btc-manage-message{text-align:center;margin-top:14px;color:#a52036}
@media(max-width:900px){.btc-service-grid,.btc-schedule,.btc-details-layout{grid-template-columns:1fr}.btc-summary{position:static}}
@media(max-width:640px){.btc-booking-app{padding:36px 15px 58px}.btc-intro h2{font-size:31px}.btc-progress{margin-bottom:37px}.btc-progress span{display:none}.btc-service-grid{grid-template-columns:1fr}.btc-service{min-height:0;padding:21px}.btc-dates{grid-template-columns:repeat(3,1fr);max-height:none}.btc-date-card,.btc-time-card,.btc-booking-form{padding:18px}.btc-field-grid{grid-template-columns:1fr}.btc-field-grid label:nth-child(3){grid-column:auto}.btc-confirmation,.btc-manage-grid{grid-template-columns:1fr}.btc-manage{margin:35px 15px 55px;padding:21px}}

.btc-credit-status{display:table;margin:12px auto 0;padding:7px 11px;border-radius:999px;background:#f7f7f9;color:#686871;font-size:11px}.btc-credit-status strong{color:var(--btc-ink);font-size:12px}.btc-credit-empty{text-align:left}.btc-credit-empty .btc-secondary{margin-top:8px}

.btc-payment-pending{margin:0 0 20px;padding:18px;border-radius:12px;background:#fff8e8;border:1px solid #f1dca6}
.btc-payment-pending strong{display:block;margin-bottom:5px}
.btc-payment-pending p{margin:0 0 13px;color:#76663d}

.btc-inline-packages{display:grid;gap:8px;margin-top:12px}.btc-inline-packages a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border:1px solid #e8e8ed;border-radius:10px;text-decoration:none!important;background:#fff}.btc-inline-packages a:hover{border-color:var(--btc-a2)}.btc-inline-packages strong{color:#222}.btc-inline-packages span{font-size:12px;color:#777}
\n.btc-inline-package-price{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap}.btc-inline-package-price del{font-size:11px;color:#999}.btc-inline-package-price strong{font-size:14px}\n
/* v3.1.2: service chooser cards now route to the full service pages. */
.btc-service-grid a.btc-service,
.btc-service-grid a.btc-service:visited{
    display:block;
    text-decoration:none;
    color:inherit;
}
.btc-service-grid a.btc-service:hover,
.btc-service-grid a.btc-service:focus{
    color:inherit;
    text-decoration:none;
}
