.ssp-shell{max-width:1180px;margin:0px auto;font-family:Inter,Arial,sans-serif;color:#111827}
.ssp-card{border:1px solid #e5e7eb;border-radius:22px;background:#fff;box-shadow:0 22px 55px rgba(17,24,39,.08);overflow:hidden}
.ssp-card-calendar-only{display:block;min-height:720px}
.ssp-booking-panel{padding:34px 38px 38px}
.ssp-brand{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6941c6;margin-bottom:28px}
.ssp-booking-head h2{font-size:32px;line-height:1.1;margin:0 0 12px;font-weight:650;color:#111827}
.ssp-booking-head p{margin:0 0 28px;color:#4b5563;font-size:17px}
.ssp-scheduler-grid{display:grid;grid-template-columns:minmax(360px,1fr) minmax(420px,1.15fr);border-top:1px solid #eef0f3;margin:0 -38px -10px}
.ssp-step-date-grid{grid-template-columns:minmax(360px,1fr);margin:0 auto 20px}
.ssp-step-stacked{grid-template-columns:1fr;margin:0 auto 20px}
.ssp-step-stacked .ssp-calendar-panel{border-right:0;border-bottom:1px solid #eef0f3}
.ssp-calendar-panel{padding:32px 38px 34px;border-right:1px solid #eef0f3}
.ssp-slots-panel{padding:32px 38px 34px}
.ssp-calendar-toolbar{display:grid;grid-template-columns:54px 1fr 54px;align-items:center;margin-bottom:28px;gap:12px}
.ssp-month-title{text-align:center;font-size:18px;font-weight:600;color:#1f2937}
.ssp-month-btn {
    width: 42px;
    height: 42px;
    border: 1px solid #e5e7eb;
    background: #fff;
    border-radius: 10px;
    font-size: 34px;
    line-height: 1;
    color: #111827;
    cursor: pointer;
    transition: all .18s ease;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ssp-month-btn:hover{border-color:#b692f6;box-shadow:0 0 0 4px rgba(105,65,198,.1)}
.ssp-weekdays,.ssp-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:11px}
.ssp-weekdays{margin-bottom:16px;color:#4b5563;font-size:15px;text-align:center}
.ssp-calendar-day {
    position: relative;
    height: 40px;
    border: 0;
    background: #fff;
    border-radius: 999px;
    color: #1f2937;
    font-size: 14px;
    cursor: pointer;
    transition: all .18s ease;
    padding: 0px;
}
.ssp-calendar-day:hover{background:#f5f3ff;color:#6941c6}
.ssp-calendar-day.is-muted{color:#a3a8b4;cursor:default}
.ssp-calendar-day.is-unavailable:not(.is-selected){color:#9ca3af}
.ssp-calendar-day.is-selected{background:#6941c6;color:#fff;font-weight:700;box-shadow:0 12px 22px rgba(105,65,198,.2)}
.ssp-calendar-day em{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:#6941c6}
.ssp-calendar-day.is-selected em{background:#fff}
.ssp-calendar-legend,.ssp-slot-legend{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:28px;color:#374151;font-size:15px;flex-wrap:wrap}
.ssp-calendar-legend i,.ssp-slot-legend i{display:inline-block;width:14px;height:14px;border-radius:999px;margin-right:8px;vertical-align:-2px}
.ssp-calendar-legend .is-available{background:#6941c6}.ssp-calendar-legend .is-unavailable{background:#e5e7eb}.ssp-calendar-legend .is-selected{background:#ddd6fe}
.ssp-slots-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.ssp-overline{display:block;font-size:16px;color:#374151;margin-bottom:10px}
.ssp-slots-head h3{font-size:20px;line-height:1.2;color:#6941c6;margin:0;font-weight:750}
.ssp-event-line{margin:8px 0 0;color:#6b7280;font-size:14px}
.ssp-change-tz, .ssp-timezone-trigger, .ssp-submit-btn, .ssp-action-btn, .ssp-back-inline {
    border: 1px solid #c4b5fd;
    background: #fff;
    color: #6941c6;
    border-radius: 10px;
    padding: 8px 12px;
    cursor: pointer;
    font-weight: 700;
    transition: all .18s ease;
    font-size: 12px;
}
.ssp-change-tz:hover,.ssp-timezone-trigger:hover,.ssp-submit-btn:hover,.ssp-action-btn:hover,.ssp-back-inline:hover{border-color:#6941c6;box-shadow:0 0 0 4px rgba(105,65,198,.1)}
.ssp-submit-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.ssp-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;max-height:560px;overflow:auto;padding-right:4px}
.ssp-slot-button {
    height: auto;
    border: 1.5px solid #c4b5fd;
    background: #fff;
    color: #6941c6;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 750;
    cursor: pointer;
    transition: all .18s ease;
    padding: 8px 12px;
}
.ssp-slot-button.is-available:hover,.ssp-slot-button.is-active{background:#6941c6;color:#fff;border-color:#6941c6;box-shadow:0 12px 22px rgba(105,65,198,.18)}
.ssp-slot-button.is-disabled{background:#f9fafb;border-color:#e5e7eb;color:#a5adba;cursor:not-allowed}
.ssp-slot-legend{border-top:1px solid #eef0f3;padding-top:26px;margin-top:30px}.slot-available{border:1.5px solid #c4b5fd;background:#fff;border-radius:5px!important}.slot-unavailable{border:1px solid #e5e7eb;background:#f9fafb;border-radius:5px!important}
.ssp-timezone-footer{border-top:1px solid #eef0f3;margin-top:30px;padding-top:26px;max-width:530px}
.ssp-timezone-trigger{border:0;padding:0;color:#374151;font-weight:600;background:transparent}.ssp-timezone-trigger:hover{box-shadow:none;color:#6941c6}.ssp-globe{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border:2px solid #374151;border-radius:50%;font-size:0;margin-right:8px;vertical-align:-4px}.ssp-notice{font-size:14px;color:#6b7280;margin-top:14px}
.ssp-empty,.ssp-loading{padding:16px;color:#6b7280;background:#f9fafb;border:1px dashed #d1d5db;border-radius:14px;grid-column:1/-1;margin: 12px;}
.ssp-details-layout{max-width:760px;margin:0 auto;padding-top:10px}.ssp-step-title{font-size:28px;line-height:1.1;margin:16px 0}.ssp-summary-card{border:1px solid #e5e7eb;border-radius:16px;padding:18px;background:#fafafa;margin-bottom:20px}.ssp-meta{color:#4b5563;margin:8px 0 0}
/* .ssp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px} */

.ssp-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.ssp-field label{font-weight:650;color:#374151;font-size: 14px;}
.ssp-field input, .ssp-field textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #a5adc2;
    border-radius: 12px;
    padding: 13px 14px;
    font: inherit;
    outline: none;
    transition: border .18s ease,box-shadow .18s ease;
    background: #fff;
    height: auto;
    min-height: auto;
    padding: 10px !important;
    font-size: 14px !important;
    border-radius: 8px !important;
}

.ssp-field textarea {
    height: 80px;
}

.ssp-field input:focus,.ssp-field textarea:focus,#ssp-timezone-search:focus{border-color:#8b5cf6;box-shadow:0 0 0 4px rgba(139,92,246,.12)}.ssp-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ssp-submit-btn{background:#6941c6;color:#fff;border-color:#6941c6}.ssp-small{font-size:13px;color:#6b7280}.ssp-success{text-align:center;padding:80px 20px}.ssp-success h2{font-size:30px;margin:0 0 12px}
.ssp-slot-summary{border-top:1px solid #eef0f3;padding-top:16px;margin-top:12px}
.ssp-slot-summary strong{display:block;color:#374151;margin-bottom:4px}
.ssp-modal{position:fixed;inset:0;background:rgba(17,24,39,.5);display:none;align-items:center;justify-content:center;z-index:9999;padding:16px}.ssp-modal.is-open{display:flex}.ssp-modal-dialog{width:min(560px,100%);background:#fff;border-radius:22px;padding:24px;position:relative;box-shadow:0 24px 70px rgba(17,24,39,.22)}.ssp-modal-dialog h3{margin:0 0 14px;font-size:24px}.ssp-modal-close{position:absolute;right:16px;top:16px;width:40px;height:40px;border:1px solid #e5e7eb;background:#fff;border-radius:10px;font-size:24px;cursor:pointer}#ssp-timezone-search{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:12px;padding:13px 14px;font:inherit}.ssp-timezone-list{max-height:360px;overflow:auto;margin-top:16px;display:flex;flex-direction:column;gap:8px}.ssp-timezone-item{text-align:left;padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;background:#fff}.ssp-timezone-item:hover,.ssp-timezone-item.is-active{border-color:#b692f6;background:#faf5ff;color:#6941c6}
@media(max-width:980px){.ssp-booking-panel{padding:26px 22px}.ssp-scheduler-grid{margin:0 -22px}.ssp-calendar-panel{border-right:0;border-bottom:1px solid #eef0f3}.ssp-slots-panel,.ssp-calendar-panel{padding:26px 22px}.ssp-slot-grid,.ssp-form-grid{grid-template-columns:1fr}.ssp-slots-head{flex-direction:column}.ssp-calendar-day{height:48px;font-size:16px}}

/* v2 direct one-event booking UI overrides */
.ssp-direct-card{min-height:650px}.ssp-direct-topbar{display:flex;align-items:flex-start;justify-content:flex-start;gap:16px;padding:28px 34px 18px;border-bottom:1px solid #eef0f3}.ssp-card-calendar-only,.ssp-booking-panel,.ssp-timezone-footer,.ssp-booking-head{display:initial}.ssp-calendar-title{margin-bottom:10px}.ssp-calendar-title .ssp-brand{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6941c6;margin-bottom:8px}
.ssp-calendar-title h2 {
    font-size: 22px;
    line-height: 1.1;
    margin: 0 0 12px;
    font-weight: 650;
    text-align: left;
    color: #111827;
    margin-bottom: 4px;
}
.ssp-calendar-title p{margin:0;color:#4b5563;font-size:12px}.ssp-direct-card .ssp-scheduler-grid{border-top:0;margin:0;}.ssp-direct-card .ssp-calendar-panel{padding:18px;border-right:1px solid #eef0f3}.ssp-direct-card .ssp-slots-panel{padding:18px}.ssp-direct-card .ssp-timezone-trigger{width:auto}.ssp-direct-card .ssp-notice{text-align:left;margin-top:12px}
@media(max-width:980px){.ssp-direct-topbar{padding:22px}.ssp-direct-card .ssp-calendar-panel{border-right:0;border-bottom:1px solid #eef0f3}.ssp-direct-card .ssp-calendar-panel,.ssp-direct-card .ssp-slots-panel{padding:26px 22px}}

/* details form spacing cleanup */
.ssp-details-layout{padding:20px}
#ssp-booking-form{padding-bottom:12px}
.ssp-actions{margin-top:8px;padding-bottom:8px}
