.sb-booking-widget{
    margin-bottom:20px;
}

.sb-booking-widget p{
    margin-bottom:12px;
}

.sb-booking-widget label{
    display:block;
    margin-bottom:4px;
    font-weight:500;
}

.sb-booking-widget input,
.sb-booking-widget select{
    width:100%;
    padding:10px;
    border:1px solid #ccc;
    border-radius:6px;
    font-size:16px;
}

/* przycisk Woo */

form.cart{
    display:block;
}

.single_add_to_cart_button{
    width:100%;
    margin-top:10px;
    padding:14px;
    font-size:18px;
    border-radius:8px;
}

/* Wybró godzin */

.sb-session-times{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.sb-time-slot{
    padding:10px 14px;
    border:1px solid #ddd;
    border-radius:6px;
    cursor:pointer;
    background:#fff;
}

.sb-time-slot:hover{
    border-color:#333;
}

.sb-time-slot.active{
    background:#b4f3ff;
    color:#2A2A2A;
    border-color:#b4f3ff;
}

.sb-book-button:disabled{
    opacity:0.5;
    background: var(--e-global-color-df3228b) !important;
    cursor:not-allowed;
}

/* Button Woo */
.sb-book-button{
    margin-top: 20px;
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
    padding: 16px 32px !important;
    background: #bdf2ff !important;
    color: var(--e-global-color-secondary) !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    border: none !important;
    border-radius: 0px !important;
    transition: all .2s ease;
}

.sb-book-button:hover {
    background: var(--e-global-color-df3228b) !important;
    transition: all .2s ease;
}

/* =========================
KALENDARZ
========================= */

.sb-calendar{
    margin-bottom:20px;
    border:1px solid #e5e7eb;
    border-radius:20px;
    padding:18px;
    background:#fff;
}

.sb-calendar-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:10px;
    border-bottom:1px solid #f1f5f9;
    padding-bottom:10px;
    font-weight:600;
}


.sb-calendar-header button{
    border:none;
    background:none;
    font-size:28px;
    width:36px;
    height:36px;
    border-radius:50%;
    cursor:pointer;
    color:#2A2A2A;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all .2s ease;
}

button.sb-next-month{
    color:#2A2A2A
}

/* hover */

.sb-calendar-header button:hover{
    background-color: #fff !important;
    color:#2A2A2A !important;
    transition: all .2s ease;
}

/* disabled */

.sb-calendar-header button:disabled{
    opacity:0.35;
    cursor:default;
}

/* usuwa czerwony focus z motywu */

.sb-calendar-header button:focus{
    outline:none !important;
    box-shadow:none !important;
    background-color: #ffffff !important;
    color:#2A2A2A !important;
}


.sb-calendar-weekdays{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    text-align:center;
    font-size:12px;
    color:#666;
    margin-bottom:8px;
}

.sb-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:6px;
}

/* dzień */

.sb-day{
    width:36px;
    height:36px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    font-size:14px;
}

/* dzień niedostępny */

.sb-day.disabled{
    color:#bbb;
    cursor:default;
}

/* dzień dostępny */

.sb-day.available{
    background:#f3fdff;
    color:#2A2A2A;
    transition: all .2s ease;
    font-weight: 500;
}

/* hover */

.sb-day.available:hover{
    background:#bdf2ff;
    transition: all .2s ease;
}

/* dzień wybrany */

.sb-day.active,
.sb-day.available.active{
    background:#bdf2ff;
    color:#2A2A2A;
}

/* =========================
RWD – większe dni
========================= */

@media (max-width:768px){

    .sb-day{
        width:44px;
        height:44px;
        font-size:16px;
    }

}