/* ============================================================
   09-mobile-tablet.css — Tablet responsive (≤1024px)
   Depends on: 01-tokens, 02-layout, 03-hero-sections,
               04-components, 05-booking-contact, 06-admin,
               07-coming-soon, 08-mobile-nav
   ============================================================ */

@media (max-width: 1024px) {
    /* Section padding reduction */
    .section {
        padding: clamp(4rem, 8vw, 6rem) 0;
    }

    /* Hero sections */
    .hero-aside {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .hero {
        padding-top: clamp(2.5rem, 6vw, 4rem);
    }

    .hero-stats {
        gap: 1.5rem;
    }

    /* Section headers */
    .section-head {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    /* Materie grid */
    .materie-grid {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }

    /* Blog list */
    .blog-item {
        grid-template-columns: 1fr 1fr;
    }

    /* Booking shell */
    .booking-shell {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .booking-cal,
    .booking-form {
        padding: 1.5rem;
    }

    /* Contact grid */
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    /* Contact row */
    .contact-row {
        grid-template-columns: 80px 1fr;
    }

    /* Dashboard */
    .dash-main {
        padding: 1.5rem 2rem;
    }

    .dash-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .dash-cols {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

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

    /* Agenda */
    .appt {
        grid-template-columns: 70px 1fr auto;
    }

    /* Coming soon */
    .coming-soon-page {
        padding: 2rem 1.5rem;
    }

    .cs-title {
        font-size: clamp(2rem, 5vw, 3.5rem);
    }

    /* Dark CTA section */
    .section > .container > div:last-child {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    /* Footer */
    .footer-grid {
        gap: 2rem;
    }

    /* Login card */
    .login-card {
        padding: 2rem;
    }

    /* Calendar grid in booking */
    .slot-grid {
        grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
    }
}
