#coworking-calendar .fc-header-toolbar .fc-button-group button {
    padding: 0.1em 0.5em;
}
#coworking-calendar .fc-header-toolbar .fc-button-group button[disabled] {
    opacity: 0;
}
#coworking-calendar .fc-scrollgrid-sync-table {
    margin-block-end: 0;
}
#coworking-calendar .fc-col-header {
    margin-block-end: 0;
}
#coworking-calendar .fc-daygrid-body-unbalanced .fc-daygrid-day-events {
    min-height: 0;
}
#coworking-calendar .fc-daygrid-body-natural .fc-daygrid-day-events {
    margin-bottom: 0;
}
#coworking-calendar .fc-daygrid-day-top {
    justify-content: center;
    min-height: 32px;
}
#coworking-calendar .fc-day:not(.fc-day-disabled) {
    cursor: pointer;
}
#coworking-calendar .fc-day:not(.fc-day-disabled):hover {
    outline: 2px solid #0073aa66;
}
#coworking-calendar .selected-day {
    background: rgba(0, 115, 170, 0.1);
    outline: 2px solid #0073aa;
}
#coworking-calendar .fc-daygrid-day.day-full {
    background-color: rgba(255, 77, 77, 0.2);
}
#coworking-calendar .fc-daygrid-day.day-available {
    background-color: rgba(76, 175, 80, 0.2);
}
#coworking-slots {
    min-height: 270px;
}
#coworking-slots .coworking-slots-list {
    display: grid;
    margin-top: 20px;
    gap: 16px;
}
#coworking-slots .coworking-slot-item {
    overflow: hidden;
    border-radius: 14px;
}
#coworking-slots .coworking-slot-item.is-available {
    background: #1f7f3b;
}
#coworking-slots .coworking-slot-item.is-unavailable {
    background: #1f7f3b33;
}
#coworking-slots .coworking-slot-item.is-full {
    background: #ef0000;
}
#coworking-slots .slot-btn {
    position: relative;
    display: block;
    width: 100%;
    padding: 18px 22px;
    background: transparent;
    border: 0;
    border-radius: 14px;
    text-align: left;
    color: #fff;
    cursor: pointer;
}
#coworking-slots .slot-btn:disabled {
    opacity: 1;
    cursor: not-allowed;
}
#coworking-slots .slot-btn.is-selected {
    box-shadow: inset 0 0 0 6px rgba(0, 0, 0, 0.65);
}
#coworking-slots .slot-btn.is-selected:before {
    content: "";
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
    overflow: hidden;
    padding: 10px;
    background: #fff url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M443.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-272 272c-6.2 6.2-16.4 6.2-22.6 0l-144-144c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L160 361.4 420.7 100.7c6.2-6.2 16.4-6.2 22.6 0z"/></svg>') center no-repeat;
    background-size: contain;
    border: 10px solid #fff;
    border-radius: 50%;
}
#coworking-slots .slot-btn__title {
    display: block;
    margin-bottom: 14px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}
#coworking-slots .slot-btn__availability {
    display: block;
    font-size: 15px;
    font-style: italic;
    line-height: 1.45;
}
#coworking-slots .slot-btn__availability--standard,
#coworking-slots .slot-btn__availability--reserved {
    font-weight: 600;
}
#coworking-selected-slots-summary {
    margin-top: 20px;
}
#coworking-selection-error:not(.coworking-selection-error--active) {
    display: none;
}
#coworking-selection-error {
    margin-top: 25px;
    padding: 20px;
    border: 1px dashed #b12210;
}
/* Giorni bloccati dalla regola consecutiva (utente gia' prenotato ieri + oggi) */
#coworking-calendar .fc-daygrid-day.day-locked-by-streak {
    background: rgba(187, 83, 6, 0.18);
    cursor: not-allowed;
}
#coworking-calendar .fc-daygrid-day.day-locked-by-streak .fc-daygrid-day-number {
    font-weight: 700;
    color: #8f3f08;
}
/* Stato slot già prenotato dall'utente: card arancione con messaggio evidenziato */
#coworking-slots .coworking-slot-item.is-user-booked .slot-btn {
    opacity: 1;
    width: 100%;
    padding: 20px 24px;
    background: #bb5306;
    border: 0;
    border-radius: 14px;
    text-align: left;
    color: #fff;
    cursor: not-allowed;
}
#coworking-slots .coworking-slot-item.is-user-booked .slot-btn__title {
    margin-bottom: 10px;
}
#coworking-slots .coworking-slot-item.is-user-booked .slot-btn__availability--standard,
#coworking-slots .coworking-slot-item.is-user-booked .slot-btn__availability--reserved {
    display: none;
}
#coworking-slots .coworking-slot-item.is-user-booked .slot-btn__availability--user-booked {
    display: block;
    font-size: 1.2rem;
    font-weight: 600;
    font-style: italic;
    line-height: 1.35;
    color: #fff;
    text-shadow: 0 0 3px #00000099;
}
/**/
.formis__coworking .tbt-coworking-identity-banner {
    padding: 14px 16px;
    background: #f8f8f8;
    border: 1px solid #d6d6d6;
    border-radius: 10px;
    font-size: 15px;
    line-height: 1.5;
}
.formis__coworking .tbt-coworking-identity-banner .tbt-banner-title {
    margin-bottom: 6px;
    font-weight: 700;
}
#coworking-calendar-wrapper .coworking-mobile-launcher,
.coworking-mobile-panel__header {
    display: none;
}
.coworking-noslot {
    display: inline-block !important;
    margin: 0 auto !important;
    border-bottom: 1px dashed #df4203 !important;
    text-align: center !important;
    color: #df4203 !important;
}
.coworking-selected-box strong {
    font-weight: 700 !important;
}
.coworking-selected-box > .coworking-slots-text {
    font-weight: 700 !important;
    color: #1F7F3B !important;
}
@media (max-width: 767px) {
    #coworking-calendar-wrapper .coworking-mobile-launcher {
        display: block;
    }
    #coworking-calendar-wrapper {
        position: sticky;
        top: 55px;
        z-index: 50;
        padding: 5px 20px;
        background: #fff;
        text-align: center;
    }
    #coworking-calendar-wrapper.sticked {
        background: #eee !important;
        box-shadow: 0 0 3px 3px #00000033;
    }
    .coworking-mobile-open-btn {
        width: 100% !important;
        min-height: 48px;
        padding: 12px 16px !important;
        background-color: #fff !important;
        border: 1px solid #003a70 !important;
        border-radius: 10px !important;
        font-weight: 700 !important;
        color: #003a70 !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
    }
    .coworking-mobile-backdrop {
        opacity: 0;
        visibility: hidden;
        position: fixed;
        z-index: 9998;
        display: block;
        background: rgba(0, 0, 0, 0.45);
        pointer-events: none;
        transition: opacity 220ms ease, visibility 220ms ease;
        inset: 0;
    }
    .coworking-mobile-panel {
        opacity: 0;
        visibility: hidden;
        position: fixed;
        z-index: 9999;
        display: block;
        overflow: hidden;
        background: #fff;
        pointer-events: none;
        transition: opacity 320ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 320ms cubic-bezier(0.22, 0.61, 0.36, 1), visibility 320ms ease;
        transform: translate3d(-48px, 0, 0);
        inset: 0;
        will-change: opacity, transform;
    }
    .coworking-mobile-panel__header {
        position: sticky;
        top: 0;
        z-index: 2;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 12px 14px;
        background: #fff;
        border-bottom: 1px solid #e2e2e2;
        gap: 10px;
    }
    .coworking-mobile-close-btn {
        display: inline-flex !important;
        justify-content: center;
        align-items: center;
        width: 36px !important;
        height: 36px !important;
        padding: 0 !important;
        background-color: transparent !important;
        border: none !important;
        color: #2d3748 !important;
        cursor: pointer !important;
    }
    .coworking-mobile-close-btn svg {
        display: block;
        width: 40px;
        height: 40px;
    }
    .coworking-mobile-close-btn:hover {
    }
    .coworking-mobile-panel__body {
        height: calc(100vh - 58px);
        overflow: auto;
        padding: 10px;
    }
    body.coworking-mobile-modal-open {
        overflow: hidden;
    }
    body.coworking-mobile-modal-open .coworking-mobile-backdrop {
        opacity: 1;
        visibility: visible;
        display: block;
        pointer-events: auto;
    }
    body.coworking-mobile-modal-open .coworking-mobile-panel {
        opacity: 1;
        visibility: visible;
        display: block;
        pointer-events: auto;
        transform: translate3d(0, 0, 0);
    }
    #coworking-selected-slots-summary {
        text-align: center;
    }
    @media (prefers-reduced-motion: reduce) {
        .coworking-mobile-backdrop,
        .coworking-mobile-panel {
            transition: none;
        }
    }
}