/* Resto IA — tables propres sans casser Divi */

.restoia-pressure-table-wrap,
.restoia-calendar-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.restoia-pressure-table {
    width: 100%;
    min-width: 1050px;
    border-collapse: collapse;
    margin: 12px 0 22px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

.restoia-pressure-table th {
    background: #111827;
    color: #ffffff;
    font-size: 12px;
    text-align: left;
    padding: 12px;
    white-space: nowrap;
}

.restoia-pressure-table td {
    padding: 12px;
    border-top: 1px solid #e5e7eb;
    color: #374151;
    vertical-align: top;
}

.restoia-pressure-table tbody tr:nth-child(even) {
    background: #f9fafb;
}

.restoia-pressure-table td:last-child,
.restoia-pressure-table th:last-child {
    white-space: nowrap;
}

/* =========================================================
   RESTO IA — calendrier menu
========================================================= */

.restoia-menu-calendrier .restoia-calendar-nav a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 170px !important;
    height: 44px !important;
    padding: 0 18px !important;
    background: #fff !important;
    color: #111827 !important;
    border: 2px solid #111827 !important;
    border-radius: 6px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

.restoia-menu-calendrier .restoia-calendar-nav a:hover {
    background: #111827 !important;
    color: #fff !important;
}

.restoia-menu-calendrier .restoia-calendar-delete-form button,
.restoia-menu-calendrier .restoia-danger,
.restoia-menu-calendrier .restoia-danger-inline {
    background: #dc2626 !important;
    color: #fff !important;
    border: 1px solid #b91c1c !important;
    border-radius: 6px !important;
    font-weight: 900 !important;
}

.restoia-menu-calendrier .restoia-calendar-delete-form button:hover,
.restoia-menu-calendrier .restoia-danger:hover,
.restoia-menu-calendrier .restoia-danger-inline:hover {
    background: #b91c1c !important;
    color: #fff !important;
}

        .restoia-menu-calendrier .restoia-calendar-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:18px 0 24px; padding:14px; background:#ffffff; border:1px solid #e5e7eb; border-radius:12px; }
        .restoia-menu-calendrier .restoia-calendar-nav strong { font-size:20px; color:#111827; text-transform:capitalize; }
        .restoia-menu-calendrier .restoia-calendar-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
        .restoia-menu-calendrier .restoia-calendar-day { background:#ffffff; border:1px solid #e5e7eb; border-radius:14px; padding:12px; min-height:220px; box-shadow:0 8px 20px rgba(15,23,42,.06); }
        .restoia-menu-calendrier .restoia-calendar-date { margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid #e5e7eb; }
        .restoia-menu-calendrier .restoia-calendar-date strong { font-size:14px; color:#111827; text-transform:capitalize; }
        .restoia-menu-calendrier .restoia-calendar-slot { margin:8px 0; padding:8px; border-radius:10px; background:#f9fafb; border:1px solid #eef2f7; }
        .restoia-menu-calendrier .restoia-calendar-slot span { display:block; margin-bottom:4px; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; color:#374151; }
        .restoia-menu-calendrier .restoia-calendar-slot em { display:block; font-size:12px; color:#9ca3af; font-style:normal; }
        .restoia-menu-calendrier .restoia-calendar-item { margin-top:6px; padding:8px; background:#ffffff; border:1px solid #e5e7eb; border-radius:10px; }
        .restoia-menu-calendrier .restoia-calendar-item strong { display:block; font-size:13px; color:#111827; line-height:1.3; }
        .restoia-menu-calendrier .restoia-calendar-item p { margin:5px 0 !important; font-size:12px !important; line-height:1.4 !important; color:#4b5563 !important; }
        .restoia-menu-calendrier .restoia-calendar-item small { display:block; font-size:11px; font-weight:700; color:#16a34a; }
        @media(max-width:1200px){ .restoia-menu-calendrier .restoia-calendar-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
        @media(max-width:768px){ .restoia-menu-calendrier .restoia-calendar-nav { flex-direction:column; align-items:stretch; text-align:center; } .restoia-menu-calendrier .restoia-calendar-grid { grid-template-columns:1fr; } }

    
        .restoia-calendar-table-wrap {
            width: 100%;
            overflow-x: auto;
            margin-top: 22px;
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 16px;
        }

        .restoia-calendar-table {
            width: max-content;
            min-width: 100%;
            border-collapse: collapse;
            table-layout: fixed;
        }

        .restoia-calendar-table th,
        .restoia-calendar-table td {
            width: 190px;
            min-width: 190px;
            vertical-align: top;
            border: 1px solid #e5e7eb;
            padding: 12px;
            background: #fff;
        }

        .restoia-calendar-table thead th {
            position: sticky;
            top: 0;
            z-index: 2;
            background: #f9fafb;
            text-align: center;
        }

        .restoia-calendar-table thead th span {
            display: block;
            color: #64748b;
            font-size: 12px;
            margin-top: 3px;
        }

        .restoia-calendar-service-head,
        .restoia-calendar-service-label {
            position: sticky;
            left: 0;
            z-index: 3;
            width: 110px !important;
            min-width: 110px !important;
            background: #f8fafc !important;
            font-weight: 900;
            color: #111827;
        }

        .restoia-calendar-item-compact {
            margin: 0 0 10px;
            padding: 10px;
            border-radius: 12px;
            background: #f9fafb;
            border: 1px solid #e5e7eb;
            border-left: 4px solid #2563eb;
        }

        .restoia-calendar-row-entree .restoia-calendar-item-compact {
            border-left-color: #16a34a;
        }

        .restoia-calendar-row-plat .restoia-calendar-item-compact {
            border-left-color: #2563eb;
        }

        .restoia-calendar-row-dessert .restoia-calendar-item-compact {
            border-left-color: #f59e0b;
        }

        .restoia-calendar-item-compact strong {
            display: block;
            font-size: 13px;
            line-height: 1.25;
            color: #111827;
        }

        .restoia-calendar-item-compact p {
            margin: 6px 0 !important;
            font-size: 12px !important;
            line-height: 1.35 !important;
            color: #475569 !important;
        }

        .restoia-calendar-item-compact small {
            display: block;
            margin: 6px 0;
            font-weight: 800;
            color: #111827;
        }

        .restoia-calendar-edit-box summary {
            cursor: pointer;
            font-size: 12px;
            font-weight: 800;
            color: #111827;
            margin: 8px 0;
        }

        .restoia-calendar-edit-form {
            display: grid;
            gap: 7px;
            margin: 8px 0;
        }

        .restoia-calendar-edit-form input,
        .restoia-calendar-edit-form select,
        .restoia-calendar-edit-form textarea {
            width: 100% !important;
            min-height: 34px !important;
            font-size: 12px !important;
            padding: 6px 8px !important;
        }

        
        .restoia-calendar-actions {
            display: flex;
            gap: 8px;
            align-items: center;
            margin-top: 10px;
            flex-wrap: wrap;
        }

        .restoia-calendar-edit-box {
            margin: 0;
        }

        .restoia-calendar-edit-box[open] {
            width: 100%;
            flex-basis: 100%;
        }

        .restoia-calendar-edit-box[open] summary {
            margin-bottom: 8px;
            background: #374151;
        }

        .restoia-calendar-edit-form {
            width: 100%;
            max-width: 100%;
            padding: 8px;
            border-radius: 10px;
            background: #ffffff;
            border: 1px solid #dbe3ee;
            box-shadow: 0 6px 14px rgba(15, 23, 42, .06);
        }

        .restoia-calendar-edit-form input,
        .restoia-calendar-edit-form select,
        .restoia-calendar-edit-form textarea {
            max-width: 100% !important;
            min-height: 30px !important;
            height: 30px;
            font-size: 11px !important;
            padding: 5px 7px !important;
            border-radius: 7px !important;
        }

        .restoia-calendar-edit-form textarea {
            height: 54px !important;
            min-height: 54px !important;
            resize: vertical;
        }

        .restoia-calendar-edit-form .button {
            min-height: 30px !important;
            padding: 5px 8px !important;
            font-size: 11px !important;
            border-radius: 7px !important;
        }


        .restoia-calendar-edit-box summary {
            list-style: none;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 32px;
            padding: 6px 10px;
            border-radius: 8px;
            background: #111827;
            color: #fff;
            font-size: 12px;
            font-weight: 700;
            border: 0;
        }

        .restoia-calendar-edit-box summary::-webkit-details-marker {
            display: none;
        }

        .restoia-calendar-edit-form {
            margin-top: 10px;
            padding: 10px;
            border-radius: 10px;
            background: #fff;
            border: 1px solid #dbe3ee;
        }

        .restoia-danger-inline {
            min-height: 32px !important;
            padding: 6px 10px !important;
            border-radius: 8px !important;
            font-size: 12px !important;
            font-weight: 700 !important;
        }

.restoia-calendar-delete-form .button,
        .restoia-calendar-edit-form .button {
            width: 100%;
            min-height: 34px !important;
            font-size: 12px !important;
            padding: 6px 10px !important;
        }

    
        .restoia-calendar-item-compact {
            cursor: grab;
            transition: all .18s ease;
        }

        .restoia-calendar-item-compact:active {
            cursor: grabbing;
        }

        .restoia-dragging {
            opacity: .45;
            transform: rotate(2deg) scale(.98);
        }

        .restoia-calendar-dropzone {
            transition: background .18s ease;
        }

        
        .restoia-move-success {
            animation: restoiaMoveSuccess .9s ease;
        }

        @keyframes restoiaMoveSuccess {
            0% {
                transform: scale(1);
                box-shadow: 0 0 0 rgba(34,197,94,0);
            }
            50% {
                transform: scale(1.03);
                box-shadow: 0 0 18px rgba(34,197,94,.45);
            }
            100% {
                transform: scale(1);
                box-shadow: 0 0 0 rgba(34,197,94,0);
            }
        }


        .restoia-drop-hover {
            background: #dbeafe !important;
        }

            .restoia-pressure-section {
                background: #ffffff;
                border: 1px solid #e5e7eb;
                border-radius: 18px;
                padding: 24px;
                margin: 24px 0;
                box-shadow: 0 14px 35px rgba(15, 23, 42, 0.08);
                overflow-x: auto;
            }
            .restoia-pressure-section h2 {
                margin: 0 0 10px !important;
                color: #111827 !important;
                font-size: 26px !important;
                font-weight: 800 !important;
            }
            .restoia-pressure-section h3 {
                margin: 24px 0 12px !important;
                color: #111827 !important;
                font-size: 20px !important;
                font-weight: 800 !important;
            }
            .restoia-pressure-section p {
                color: #374151 !important;
                line-height: 1.6 !important;
            }
            .restoia-pressure-grid {
                display: grid;
                grid-template-columns: repeat(5, minmax(150px, 1fr));
                gap: 14px;
                margin: 18px 0 24px;
            }
            .restoia-pressure-card {
                background: #f9fafb;
                border: 1px solid #e5e7eb;
                border-radius: 16px;
                padding: 16px;
                box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
            }
            .restoia-pressure-card span {
                display: block;
                margin-bottom: 8px;
                color: #6b7280;
                font-size: 11px;
                line-height: 1.2;
                font-weight: 900;
                text-transform: uppercase;
                letter-spacing: .07em;
            }
            .restoia-pressure-card strong {
                display: block;
                color: #111827;
                font-size: 24px;
                line-height: 1.15;
                font-weight: 900;
                overflow-wrap: anywhere;
            }
            .restoia-pressure-summary {
                background: #fffaf0;
                border: 1px solid #f5d08a;
                border-left: 6px solid #f59e0b;
                border-radius: 16px;
                padding: 18px;
                margin: 18px 0 24px;
            }
            .restoia-pressure-summary h3 {
                margin-top: 0 !important;
            }
            .restoia-pressure-kpis {
                display: grid;
                grid-template-columns: repeat(2, minmax(160px, 1fr));
                gap: 12px;
                margin-top: 12px;
            }
            .restoia-pressure-kpis div {
                background: #ffffff;
                border: 1px solid #e5e7eb;
                border-radius: 12px;
                padding: 12px;
            }
            .restoia-pressure-kpis span {
                display: block;
                margin-bottom: 6px;
                color: #6b7280;
                font-size: 11px;
                font-weight: 900;
                text-transform: uppercase;
                letter-spacing: .06em;
            }
            .restoia-pressure-kpis strong {
                color: #111827;
                font-size: 20px;
                font-weight: 900;
            }
            .restoia-badge-green,
            .restoia-badge-blue,
            .restoia-badge-orange,
            .restoia-badge-red,
            .restoia-badge-gray {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                padding: 6px 12px;
                border-radius: 999px;
                font-size: 12px;
                font-weight: 900;
                white-space: nowrap;
            }
            .restoia-badge-green { background: #dcfce7; color: #166534; }
            .restoia-badge-blue { background: #dbeafe; color: #1d4ed8; }
            .restoia-badge-orange { background: #fed7aa; color: #c2410c; }
            .restoia-badge-red { background: #fecaca; color: #b91c1c; }
            .restoia-badge-gray { background: #f3f4f6; color: #374151; }
            @media (max-width: 1100px) {
                .restoia-pressure-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            }
            @media (max-width: 640px) {
                .restoia-pressure-section { padding: 16px; border-radius: 14px; }
                .restoia-pressure-grid,
                .restoia-pressure-kpis { grid-template-columns: 1fr; }
                .restoia-pressure-card strong { font-size: 20px; }
            }
        .restoia-menu-calendrier .restoia-calendar-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:18px 0 24px; padding:14px; background:#ffffff; border:1px solid #e5e7eb; border-radius:12px; }
        .restoia-menu-calendrier .restoia-calendar-nav strong { font-size:20px; color:#111827; text-transform:capitalize; }
        .restoia-menu-calendrier .restoia-calendar-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
        .restoia-menu-calendrier .restoia-calendar-day { background:#ffffff; border:1px solid #e5e7eb; border-radius:14px; padding:12px; min-height:220px; box-shadow:0 8px 20px rgba(15,23,42,.06); }
        .restoia-menu-calendrier .restoia-calendar-date { margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid #e5e7eb; }
        .restoia-menu-calendrier .restoia-calendar-date strong { font-size:14px; color:#111827; text-transform:capitalize; }
        .restoia-menu-calendrier .restoia-calendar-slot { margin:8px 0; padding:8px; border-radius:10px; background:#f9fafb; border:1px solid #eef2f7; }
        .restoia-menu-calendrier .restoia-calendar-slot span { display:block; margin-bottom:4px; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; color:#374151; }
        .restoia-menu-calendrier .restoia-calendar-slot em { display:block; font-size:12px; color:#9ca3af; font-style:normal; }
        .restoia-menu-calendrier .restoia-calendar-item { margin-top:6px; padding:8px; background:#ffffff; border:1px solid #e5e7eb; border-radius:10px; }
        .restoia-menu-calendrier .restoia-calendar-item strong { display:block; font-size:13px; color:#111827; line-height:1.3; }
        .restoia-menu-calendrier .restoia-calendar-item p { margin:5px 0 !important; font-size:12px !important; line-height:1.4 !important; color:#4b5563 !important; }
        .restoia-menu-calendrier .restoia-calendar-item small { display:block; font-size:11px; font-weight:700; color:#16a34a; }
        @media(max-width:1200px){ .restoia-menu-calendrier .restoia-calendar-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
        @media(max-width:768px){ .restoia-menu-calendrier .restoia-calendar-nav { flex-direction:column; align-items:stretch; text-align:center; } .restoia-menu-calendrier .restoia-calendar-grid { grid-template-columns:1fr; } }

    
        /* RESTO IA — restauration style calendrier pro */
        .restoia-menu-calendrier .restoia-calendar-nav {
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: 18px !important;
            margin: 18px 0 24px !important;
            padding: 12px !important;
            background: #ffffff !important;
            border: 1px solid #dbe3ee !important;
            border-radius: 12px !important;
            box-shadow: 0 6px 18px rgba(15, 23, 42, .04) !important;
        }

        .restoia-menu-calendrier .restoia-calendar-nav strong {
            flex: 1 !important;
            text-align: center !important;
            font-size: 18px !important;
            font-weight: 900 !important;
            color: #111827 !important;
            text-transform: capitalize !important;
        }

        .restoia-menu-calendrier .restoia-calendar-nav .button,
        .restoia-menu-calendrier .restoia-calendar-nav a.button {
            width: auto !important;
            min-width: 136px !important;
            min-height: 42px !important;
            padding: 10px 16px !important;
            border-radius: 7px !important;
            background: #111827 !important;
            border: 1px solid #111827 !important;
            color: #ffffff !important;
            font-size: 13px !important;
            font-weight: 800 !important;
            text-decoration: none !important;
        }

        .restoia-calendar-edit-box summary {
            background: #111827 !important;
            color: #ffffff !important;
            border-radius: 7px !important;
            min-height: 32px !important;
            padding: 7px 11px !important;
        }

        .restoia-calendar-delete-form .button,
        .restoia-danger-inline {
            background: #b91c1c !important;
            border-color: #b91c1c !important;
            color: #ffffff !important;
            border-radius: 7px !important;
        }


        /* RESTO IA — FORCE STYLE NAV CALENDRIER */
        body .restoia-menu-calendrier .restoia-calendar-nav {
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: 18px !important;
            margin: 18px 0 24px !important;
            padding: 12px !important;
            background: #ffffff !important;
            border: 1px solid #dbe3ee !important;
            border-radius: 12px !important;
            box-shadow: 0 6px 18px rgba(15,23,42,.05) !important;
        }

        body .restoia-menu-calendrier .restoia-calendar-nav > a,
        body .restoia-menu-calendrier .restoia-calendar-nav a,
        body .restoia-menu-calendrier .restoia-calendar-nav a.button {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            min-width: 142px !important;
            height: 44px !important;
            padding: 0 18px !important;
            background: #111827 !important;
            background-color: #111827 !important;
            color: #ffffff !important;
            border: 1px solid #111827 !important;
            border-radius: 7px !important;
            font-size: 13px !important;
            font-weight: 900 !important;
            line-height: 1 !important;
            text-decoration: none !important;
            box-shadow: 0 8px 18px rgba(15,23,42,.14) !important;
        }

        body .restoia-menu-calendrier .restoia-calendar-nav > a:hover,
        body .restoia-menu-calendrier .restoia-calendar-nav a:hover {
            background: #020617 !important;
            color: #ffffff !important;
            border-color: #020617 !important;
        }

        body .restoia-menu-calendrier .restoia-calendar-nav strong {
            flex: 1 !important;
            text-align: center !important;
            color: #111827 !important;
            font-size: 18px !important;
            font-weight: 900 !important;
        }


        /* RESTO IA — FIX FINAL BOUTONS CALENDRIER */
        body .restoia-menu-calendrier .restoia-calendar-nav a,
        body .restoia-menu-calendrier .restoia-calendar-nav a.button {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            min-width: 170px !important;
            height: 44px !important;
            padding: 0 18px !important;
            background: #ffffff !important;
            color: #111827 !important;
            border: 2px solid #111827 !important;
            border-radius: 6px !important;
            font-weight: 900 !important;
            text-decoration: none !important;
            box-shadow: none !important;
        }

        body .restoia-menu-calendrier .restoia-calendar-nav a:hover,
        body .restoia-menu-calendrier .restoia-calendar-nav a.button:hover {
            background: #111827 !important;
            color: #ffffff !important;
        }

        body .restoia-menu-calendrier .restoia-calendar-delete-form button,
        body .restoia-menu-calendrier button.restoia-danger,
        body .restoia-menu-calendrier .restoia-danger-inline {
            background: #dc2626 !important;
            background-color: #dc2626 !important;
            color: #ffffff !important;
            border: 1px solid #b91c1c !important;
            border-radius: 6px !important;
            font-weight: 900 !important;
            box-shadow: 0 3px 8px rgba(220,38,38,.25) !important;
        }

        body .restoia-menu-calendrier .restoia-calendar-delete-form button:hover,
        body .restoia-menu-calendrier button.restoia-danger:hover,
        body .restoia-menu-calendrier .restoia-danger-inline:hover {
            background: #b91c1c !important;
            color: #ffffff !important;
        }


/* =========================================================
   RESTO IA — CALENDRIER FINAL STABLE
========================================================= */

body .restoia-menu-calendrier .restoia-calendar-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

body .restoia-menu-calendrier .restoia-calendar-nav a,
body .restoia-menu-calendrier .restoia-calendar-nav a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 170px !important;
    height: 44px !important;
    padding: 0 18px !important;
    background: #ffffff !important;
    color: #111827 !important;
    border: 2px solid #111827 !important;
    border-radius: 7px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

body .restoia-menu-calendrier .restoia-calendar-nav a:hover,
body .restoia-menu-calendrier .restoia-calendar-nav a.button:hover {
    background: #111827 !important;
    color: #ffffff !important;
}

body .restoia-calendar-edit-box summary,
body .restoia-menu-calendrier .restoia-calendar-edit-box summary {
    background: #111827 !important;
    color: #ffffff !important;
    border: 1px solid #111827 !important;
}

body .restoia-menu-calendrier .restoia-calendar-delete-form button,
body .restoia-menu-calendrier .restoia-danger,
body .restoia-menu-calendrier .restoia-danger-inline {
    background: #dc2626 !important;
    color: #ffffff !important;
    border: 1px solid #b91c1c !important;
}

body .restoia-menu-calendrier .restoia-calendar-delete-form button:hover,
body .restoia-menu-calendrier .restoia-danger:hover,
body .restoia-menu-calendrier .restoia-danger-inline:hover {
    background: #b91c1c !important;
    color: #ffffff !important;
}

@media (max-width: 1200px) {
    body .restoia-menu-calendrier .restoia-calendar-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    body .restoia-menu-calendrier .restoia-calendar-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   RESTO IA — KPI CALENDRIER
========================================================= */

.restoia-calendar-kpis {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
}

.restoia-calendar-kpis span {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 4px 6px;
    border-radius: 6px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 11px;
    line-height: 1.3;
    color: #111827;
}

.restoia-calendar-kpis b {
    color: #374151;
    font-weight: 800;
}

.restoia-calendar-risk {
    margin-top: 8px !important;
    padding: 7px 8px !important;
    border-radius: 6px;
    background: #fef2f2 !important;
    border: 1px solid #fecaca !important;
    color: #991b1b !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

.restoia-calendar-item-compact {
    min-height: 260px;
}

/* =========================================================
   RESTO IA — FICHE TECHNIQUE CALENDRIER
========================================================= */

.restoia-calendar-fiche-box {
    margin-top: 10px;
}

.restoia-calendar-fiche-box summary {
    cursor: pointer;
    padding: 8px 10px;
    border-radius: 7px;
    background: #111827;
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    border: 1px solid #111827;
    list-style: none;
}

.restoia-calendar-fiche-box summary::-webkit-details-marker {
    display: none;
}

.restoia-calendar-fiche-content {
    margin-top: 8px;
    padding: 10px;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 12px;
    line-height: 1.5;
    color: #1f2937;
}

.restoia-calendar-fiche-content p {
    margin-bottom: 8px;
}

/* =========================================================
   RESTO IA — KPI FICHE SERVICE
========================================================= */

.restoia-calendar-fiche-kpis {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    margin: 10px 0;
}

.restoia-calendar-fiche-kpis div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 5px 7px;
    border-radius: 6px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
}

.restoia-calendar-fiche-kpis span {
    color: #64748b;
    font-weight: 800;
}

.restoia-calendar-fiche-kpis strong {
    color: #111827;
    font-weight: 900;
    text-align: right;
}

/* =========================================================
   RESTO IA — FICHE SERVICE COMPLETE
========================================================= */

.restoia-calendar-fiche-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    background: #111827 !important;
    color: #ffffff !important;
    border: 1px solid #111827 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    transition: .2s ease;
}

.restoia-calendar-fiche-link:hover {
    background: #000000 !important;
    color: #ffffff !important;
}

.restoia-service-fiche-full {
    margin: 20px 0 28px;
    padding: 24px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid #dbe4ee;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.restoia-service-fiche-head {
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e5e7eb;
}

.restoia-service-fiche-head h2 {
    margin: 0 0 8px;
    font-size: 28px;
    line-height: 1.2;
    color: #111827;
    font-weight: 900;
}

.restoia-service-fiche-head p {
    margin: 0 0 14px;
    color: #64748b;
    font-size: 14px;
}

.restoia-service-fiche-section {
    margin-top: 18px;
    padding: 18px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.restoia-service-fiche-section h3 {
    margin: 0 0 12px;
    color: #111827;
    font-size: 16px;
    font-weight: 900;
}

.restoia-service-fiche-section p {
    margin: 0;
    color: #334155;
    line-height: 1.7;
    font-size: 14px;
}

.restoia-service-fiche-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 22px;
}

.restoia-service-fiche-kpis div {
    padding: 16px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.restoia-service-fiche-kpis span {
    display: block;
    margin-bottom: 8px;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.restoia-service-fiche-kpis strong {
    display: block;
    color: #111827;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.2;
}

.restoia-service-fiche-warning {
    background: #fef2f2 !important;
    border: 1px solid #fecaca !important;
}

.restoia-service-fiche-warning h3 {
    color: #991b1b !important;
}

@media (max-width: 1200px) {
    .restoia-service-fiche-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .restoia-service-fiche-full {
        padding: 16px;
    }

    .restoia-service-fiche-head h2 {
        font-size: 22px;
    }

    .restoia-service-fiche-kpis {
        grid-template-columns: 1fr;
    }

    .restoia-service-fiche-kpis strong {
        font-size: 18px;
    }
}

/* =========================================================
   RESTO IA — FIX SCROLL TABLEAUX
========================================================= */

.restoia-front-shell,
.restoia-front-shell .wrap,
.restoia-front-shell .et_pb_code_inner,
.restoia-front-shell .et_pb_module,
.restoia-front-shell .et_pb_text_inner {
    max-width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
}

.restoia-pressure-table-wrap,
.restoia-calendar-table-wrap,
.restoia-front-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
}

.restoia-pressure-table,
.restoia-calendar-table {
    width: max-content;
    min-width: 100%;
}


/* =========================================================
   RESTO IA — LISIBILITÉ EN-TÊTES TABLEAUX
========================================================= */

.restoia-front-shell .restoia-pressure-table th,
.restoia-front-shell table.restoia-pressure-table th {
    background: #111827 !important;
    color: #ffffff !important;
    font-weight: 900 !important;
    opacity: 1 !important;
}

.restoia-front-shell .restoia-pressure-table th *,
.restoia-front-shell table.restoia-pressure-table th * {
    color: #ffffff !important;
    opacity: 1 !important;
}

