/* ==========================================================================
   ApostaRanking.com - Responsive Styles
   Mobile-first breakpoints for fully responsive design.
   ========================================================================== */

/* --- Tablet (max 1024px) --- */
@media (max-width: 1024px) {
    h1 { font-size: 2.25rem; }
    h2 { font-size: 1.75rem; }

    .hero { padding: 4.5rem 0; }
    .hero__title { font-size: 2.75rem; }
    .hero__subtitle { font-size: 1.125rem; }

    .events-grid { grid-template-columns: repeat(2, 1fr); }
    .articles-grid { grid-template-columns: repeat(2, 1fr); }
    .cities-grid { grid-template-columns: repeat(2, 1fr); }
    .categories-grid { grid-template-columns: repeat(2, 1fr); }
    .calendar-grid { grid-template-columns: repeat(3, 1fr); }
    .benefits-grid { grid-template-columns: repeat(2, 1fr); }
    .contact-grid { grid-template-columns: repeat(2, 1fr); }
    .stats-row { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }

    .site-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    .site-footer__brand {
        grid-column: 1 / -1;
    }

    .event-detail__grid {
        grid-template-columns: 1fr;
    }

    .event-detail__sidebar {
        position: static;
    }

    .content-sidebar {
        grid-template-columns: 1fr;
    }

    .newsletter {
        flex-direction: column;
        text-align: center;
    }

    .newsletter__form {
        width: 100%;
        max-width: 480px;
    }

    .newsletter__input {
        flex: 1;
    }
}

/* --- Mobile landscape / large phone (max 768px) --- */
@media (max-width: 768px) {
    .section { padding: 3.5rem 0; }

    .hero { padding: 3.5rem 0; }
    .hero__title { font-size: 2.25rem; }
    .hero__subtitle { font-size: 1rem; }
    .hero--inner .hero__title { font-size: 2rem; }

    .section__header h2 { font-size: 1.75rem; }
    .section__header p { font-size: 1rem; }

    /* Mobile navigation */
    .site-header__burger {
        display: flex;
    }

    .site-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--color-white);
        border-top: 1px solid var(--color-grey-200);
        box-shadow: var(--shadow-lg);
        padding: 1rem;
    }

    .site-nav.open {
        display: block;
    }

    .site-nav__list {
        flex-direction: column;
        gap: 0;
    }

    .site-nav__link {
        padding: 0.75rem 1rem;
        border-radius: var(--radius-sm);
    }

    .site-nav__dropdown {
        position: static;
        box-shadow: none;
        border: none;
        border-radius: 0;
        padding: 0 0 0 1rem;
        display: block;
        min-width: auto;
    }

    .site-nav__dropdown li a {
        padding: 0.5rem 1rem;
    }

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

    .values-grid { grid-template-columns: 1fr; }

    .filters {
        flex-direction: column;
    }

    .filters__group {
        min-width: 100%;
    }

    .btn-group {
        flex-direction: column;
        align-items: flex-start;
    }

    .newsletter__form {
        flex-direction: column;
    }

    .newsletter__input {
        width: 100%;
    }

    .contact-grid { grid-template-columns: 1fr; }
}

/* --- Mobile phone (max 576px) --- */
@media (max-width: 576px) {
    .container { padding: 0 1rem; }

    .section { padding: 2.5rem 0; }

    h1 { font-size: 1.875rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.25rem; }

    .hero { padding: 2.5rem 0; }
    .hero__label { font-size: 0.75rem; padding: 0.25rem 0.75rem; }
    .hero__title { font-size: 1.875rem; }
    .hero__subtitle { font-size: 0.9375rem; }
    .hero--inner { padding: 2.5rem 0; }
    .hero--inner .hero__title { font-size: 1.625rem; }

    .events-grid { grid-template-columns: 1fr; }
    .events-grid--2col { grid-template-columns: 1fr; }
    .articles-grid { grid-template-columns: 1fr; }
    .cities-grid { grid-template-columns: 1fr; }
    .categories-grid { grid-template-columns: 1fr; }
    .calendar-grid { grid-template-columns: 1fr; }
    .benefits-grid { grid-template-columns: 1fr; }
    .stats-row { grid-template-columns: 1fr; }

    .site-footer__grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .event-card__content { padding: 1.25rem; }
    .event-card__title { font-size: 1.125rem; }

    .sidebar-card { padding: 1.25rem; }

    .section__header h2 { font-size: 1.5rem; }

    .newsletter-section { padding: 2.5rem 0; }
    .newsletter__title { font-size: 1.375rem; }

    .page-404__code { font-size: 5rem; }
    .page-404__title { font-size: 1.5rem; }

    .breadcrumbs__list { font-size: 0.8125rem; }

    .article-detail__content { font-size: 1rem; }

    .cookie-banner__inner {
        flex-direction: column;
        text-align: center;
    }
}
