/* ==================================================
   RESPONSIVE MOBILE
   max-width: 768px
   ================================================== */
@media (max-width: 768px) {

    /* ===== GLOBAL ===== */
    html, body {
        overflow-x: hidden;
    }

    section {
        padding: 80px 20px;
    }

    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.6rem;
    }

    p {
        font-size: 0.95rem;
    }

    /* ===== NAVBAR ===== */
    .navbar {
        padding: 14px 20px;
    }

    .navbar-links {
        display: none;
    }

    /* ===== GRILLES ===== */
    .services-list,
    .portfolio-grid,
    .cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* ===== FORMULAIRES ===== */
    form,
    input,
    select,
    textarea,
    button {
        width: 100%;
    }

    /* ===== RDV ===== */
    .rdv-columns {
        flex-direction: column;
    }

    .time-slots {
        grid-template-columns: repeat(2, 1fr);
    }

    /* ===== ADMIN TABLES ===== */
    table thead {
        display: none;
    }

    table tr {
        display: block;
        margin-bottom: 18px;
        border-bottom: 1px solid #333;
    }

    table td {
        display: flex;
        justify-content: space-between;
        padding: 10px;
    }

    table td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #d4af37;
    }
}

/* ==================================================
   PETITS MOBILES
   max-width: 480px
   ================================================== */
@media (max-width: 480px) {

    h1 {
        font-size: 1.7rem;
    }

    h2 {
        font-size: 1.4rem;
    }

    .time-slots {
        grid-template-columns: 1fr;
    }

    button {
        font-size: 0.9rem;
    }
}

@media (max-width: 768px) {

    .sidebar {
        transform: translateX(-100%);
        transition: transform 0.3s ease;
        z-index: 1001;
    }

    .sidebar.open {
        transform: translateX(0);
    }

    .main {
        margin-left: 0;
        width: 100%;
    }

    .admin-burger {
        display: block;
        background: none;
        border: none;
        font-size: 1.5rem;
        color: var(--doré);
        cursor: pointer;
    }
}

/* Desktop : burger caché */
.admin-burger {
    display: none;
}
