.wpab-wrapper .wpab-step-header {
    display:flex;
    align-items:center;
    margin-bottom:8px;
}

.wpab-step-number {
    width:32px;
    height:32px;
    border-radius:50%;
    background:#1560eb;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:600;
    margin-right:8px;
}

.wpab-step-title {
    font-weight:600;
    font-size:1.1rem;
}

.gfdsw {
    background:#F9F9F9 !important;
}

.wpab-step-card {
    border-radius:10px;
    padding:16px;
    min-height:120px;
}
.htry {
    font-size: 13px !important;
}
.brtf {
    border-radius: 25px !important;
	background-color: #0d6efd !important;
    color: #fff !important;
}
.ioku {
    border-radius: 25px !important;
    font-size: 15px;
    line-height: 17px;
    padding: 14px 30px 14px 30px !important;
}
.sel-inp {
    width: 100%;
    padding: 10px 15px 8px 10px;
    border-radius: 25px;
    border: 1px solid #ccc;
    outline: none;
}

.wpab-step-card.wpab-disabled {
    opacity:.5;
    pointer-events:none;
}

/* услуги */
.wpab-service {
    border-radius: 25px;
    padding: 12px 16px;
    margin-bottom: 8px;
    background: #efeff5;
    cursor: pointer;
    transition: background .15s, color .15s, box-shadow .15s;
}

.wpab-service-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.wpab-service-title {
    font-weight: 500;
    font-size: 14px;
}

.wpab-service-time {
    font-size: 13px;
    color: #858899;
}

.wpab-service-check {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid #d0d3e0;
    flex-shrink: 0;
    position: relative;
}

.wpab-service.wpab-selected {
    background: #111827;
    color: #fff;
}

.wpab-service.wpab-selected .wpab-service-time {
    color: #e5e7f5;
}

.wpab-service.wpab-selected .wpab-service-check {
    border-color: #fff;
    background: #fff;
}

.wpab-service.wpab-selected .wpab-service-check::before {
    content: '✔';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -57%);
    color: #1560eb;
    font-size: 31px;
}

/* блок "обслуживание вне очереди" */
.wpab-service-queue {
    background: #ffeef0;
    color: #b4232a;
}

.wpab-service-queue .wpab-service-tag {
    font-size: 12px;
    color: #b4232a;
}

/* общий таймер */
.wpab-total-time-box {
    border-radius: 16px;
    background: #f3dbba;
    padding: 16px 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.wpab-total-time-value {
    font-weight: 600;
}

/* колонка дат */
.wpab-time-day-title {
    text-align: center;
    margin-bottom: 8px;
}

.wpab-time-day-date {
    font-weight: 600;
}

.wpab-time-day-weekday {
    font-size: 12px;
    color: #9ca3af;
}

/* подсветка сегодняшнего дня */
.wpab-day-today .wpab-time-day-date {
    color: #1560eb;
    font-size: 14px;
}

/* слоты времени */
.wpab-time-slots {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.wpab-slot {
    border-radius: 30px !important;
    border: 1px solid #d1d5db !important;
	min-height: 30px !important;
    padding: 3px 10px !important;
    font-size: 13px !important;
    background: #f9fafb !important;
    transition: background .15s, color .15s, border-color .15s !important;
}

.wpab-slot.disabled {
    opacity: .45;
    cursor: default;
}

.wpab-slot.wpab-booked {
    background: #fee2e2;
    border-color: #fecaca;
}

.wpab-slot.wpab-selected {
    background: #111827 !important;
    border-color: #111827 !important;
    color: #fff !important;
}


.wpab-map-inner {
    width:100%;
    height:260px;
    background:#f3f3f3;
    border-radius:12px;
}

.wpab-form-message {
    font-size:.9rem;
}

.wpab-form-message.wpab-success { color: #28a745; }
.wpab-form-message.wpab-error   { color: #dc3545; }

/* админ календарь */
#wpab-admin-calendar .fc-toolbar-title {
    font-size:1.2rem;
}

.wpab-slot:hover {
    background: #111827;
    border-color: #111827;
    color: #fff;
}

.wpab-slot.disabled {
    background: #eee;
    color: #999;
    cursor: not-allowed;
}
#wpab-times {
    max-width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    padding-bottom: 10px;
}

#wpab-times .wpab-time-day {
    display: inline-block;
    vertical-align: top;
    width: 60px;
    margin-right: 20px;
}

.wpab-wrapper {
    position: relative;
}

.wpab-address-overlay {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 30;
    display: none;
}

.wpab-address-overlay-inner {
    background: #1560eb;
    color: #fff;
    padding: 18px 40px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.2);
    font-size: 18px;
}

.wpab-address-overlay-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.wpab-locked .wpab-address-overlay {
    display: block;
}

/* блюрим шаги 2–4, когда адрес не выбран */
.wpab-locked #wpab-services,
.wpab-locked #wpab-times,
.wpab-locked #wpab-form-wrap {
    filter: blur(3px);
    pointer-events: none;
    user-select: none;
}
/* Оверлей */
.wpab-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;              /* по умолчанию скрыто */
    align-items: center;
    justify-content: center;
}

/* открытое состояние */
.wpab-modal.wpab-open {
    display: flex;
}

/* Диалог */
.wpab-modal-dialog {
    background: #ffffff;
    border-radius: 12px;
    max-width: 480px;
    width: calc(100% - 32px);
    padding: 40px 48px 32px;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.25);
    text-align: center;
}

/* Иконка */
.wpab-modal-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: 3px solid #1a8f3a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    color: #1a8f3a;
    margin: 0 auto 20px;
}

.wpab-modal-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 8px;
}

.wpab-modal-text {
    font-size: 14px;
    color: #4b5563;
    margin-bottom: 24px;
}

/* Кнопка */
.wpab-modal-close.btn {
    min-width: 140px;
}
/* мини-карта в кнопке */
.wpab-map-thumb {
    position: relative;
    display: inline-block;
    width: 350px;
    max-width: 100%;
    height: 64px;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
}

/* фон – можно заменить на свой static-maps URL */
.wpab-map-thumb-bg {
    position: absolute;
    inset: 0;
    background: url('https://static-maps.yandex.ru/1.x/?ll=61.402554,55.159897&z=11&l=map') center/cover no-repeat;
    filter: brightness(0.8);
}

.wpab-map-thumb-label {
    position: relative;
    z-index: 1;
    height: 100%;
    padding: 0 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
    color: #ffffff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.6);
}

/* чтобы не было подчеркивания и синей ссылки у кнопки */
.wpab-btn-map {
    cursor: pointer;
}
