.pbc-booking {
    --pbc-accent: #9d5574;
    --pbc-success: #2f7d5c;
    --pbc-ink: #2b2430;
    --pbc-muted: #746b75;
    --pbc-line: #eadfe4;
    max-width: 820px;
    margin: 32px auto;
    padding: clamp(22px, 4vw, 42px);
    color: var(--pbc-ink);
    background: linear-gradient(145deg, #fff 0%, #fffafa 100%);
    border: 1px solid var(--pbc-line);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(72, 43, 58, .12);
    font-family: inherit;
}
.pbc-header { text-align: center; margin-bottom: 28px; }
.pbc-kicker { display: inline-block; color: var(--pbc-accent); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.pbc-header h2 { margin: 7px 0 8px; color: var(--pbc-ink); font-size: clamp(27px, 4vw, 40px); line-height: 1.12; }
.pbc-header p { margin: 0; color: var(--pbc-muted); }
.pbc-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 28px; }
.pbc-progress span { padding: 10px 8px; color: #9a8d94; background: #f6f0f3; border-radius: 999px; font-size: 12px; font-weight: 700; text-align: center; transition: .2s ease; }
.pbc-progress span.is-active { color: #fff; background: var(--pbc-accent); }
.pbc-section { padding: 22px 0; border-top: 1px solid var(--pbc-line); }
.pbc-section:first-of-type { border-top: 0; padding-top: 0; }
.pbc-grid-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pbc-field { margin-bottom: 16px; }
.pbc-field label, .pbc-label { display: block; margin-bottom: 7px; font-size: 14px; font-weight: 750; }
.pbc-field label span { color: var(--pbc-muted); font-size: 12px; font-weight: 400; }
.pbc-field input, .pbc-field select, .pbc-field textarea {
    width: 100%; min-height: 48px; padding: 11px 13px; color: var(--pbc-ink); background: #fff; border: 1px solid #d9ccd2; border-radius: 12px; box-sizing: border-box; font: inherit; outline: none; transition: .18s ease;
}
.pbc-field textarea { min-height: 88px; resize: vertical; }
.pbc-field input:focus, .pbc-field select:focus, .pbc-field textarea:focus { border-color: var(--pbc-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pbc-accent) 17%, transparent); }
.pbc-field input:disabled, .pbc-field select:disabled { color: #978d92; background: #f5f3f4; }
.pbc-service-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: -6px 0 18px; }
.pbc-service-meta span, .pbc-service-meta strong { padding: 6px 10px; color: #6a4b5b; background: #f6eaf0; border-radius: 999px; font-size: 12px; }
.pbc-service-meta strong { color: #fff; background: var(--pbc-accent); }
.pbc-slots { display: flex; flex-wrap: wrap; gap: 10px; min-height: 42px; }
.pbc-slot { min-width: 72px; padding: 10px 14px; color: var(--pbc-accent); background: #fff; border: 1px solid var(--pbc-accent); border-radius: 10px; font: inherit; font-weight: 750; cursor: pointer; transition: .18s ease; }
.pbc-slot:hover, .pbc-slot.is-selected { color: #fff; background: var(--pbc-accent); transform: translateY(-1px); box-shadow: 0 7px 18px rgba(91, 43, 66, .16); }
.pbc-muted, .pbc-loader { margin: 0; color: var(--pbc-muted); font-size: 14px; }
.pbc-check { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 14px; line-height: 1.45; }
.pbc-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--pbc-accent); }
.pbc-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.pbc-notice { margin: 14px 0; padding: 13px 15px; color: #604815; background: #fff7d8; border-radius: 11px; }
.pbc-notice.is-error { color: #8a2731; background: #fde9eb; }
.pbc-notice.is-success { color: #1f6348; background: #e7f6ef; }
.pbc-submit, .pbc-new-booking { width: 100%; min-height: 52px; margin-top: 18px; padding: 12px 20px; color: #fff; background: var(--pbc-accent); border: 0; border-radius: 13px; font: inherit; font-weight: 800; cursor: pointer; transition: .18s ease; }
.pbc-submit:hover, .pbc-new-booking:hover { filter: brightness(.94); transform: translateY(-1px); }
.pbc-submit:disabled { opacity: .65; cursor: wait; }
.pbc-confirmation-note { margin: 11px auto 0; max-width: 630px; color: var(--pbc-muted); font-size: 12px; line-height: 1.5; text-align: center; }
.pbc-success { padding: 30px 0 10px; text-align: center; }
.pbc-success-icon { display: grid; place-items: center; width: 66px; height: 66px; margin: 0 auto 18px; color: #fff; background: var(--pbc-success); border-radius: 50%; font-size: 34px; font-weight: 800; }
.pbc-success h3 { margin: 0 0 10px; font-size: 28px; }
.pbc-success p { color: var(--pbc-muted); }
@media (max-width: 600px) {
    .pbc-booking { margin: 16px 0; padding: 20px 16px; border-radius: 18px; }
    .pbc-grid-two { grid-template-columns: 1fr; gap: 0; }
    .pbc-progress span { font-size: 10px; }
    .pbc-slot { flex: 1 0 calc(25% - 10px); }
}

