/* ================================================================
   TOVIO THEME - Responsive CSS
   Mobile-first breakpoints
   ================================================================ */

/* -------------- TABLET & DOWN (< 992px) -------------- */
@media (max-width: 991px) {

    .container { padding: 0 1.25rem; }

    /* Header */
    .site-header .container {
        flex-wrap: wrap;
    }

    .menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        order: 3;
    }

    .main-navigation {
        order: 4;
        width: 100%;
    }

    .main-navigation ul {
        display: none;
        flex-direction: column;
        gap: 0;
        padding: 1rem 0;
        border-top: 1px solid var(--tovio-gray-100);
        margin-top: 1rem;
    }

    .main-navigation.toggled ul { display: flex; }

    .main-navigation li {
        width: 100%;
        border-bottom: 1px solid var(--tovio-gray-100);
    }

    .main-navigation a {
        display: block;
        padding: 1rem 0.5rem;
        width: 100%;
    }

    .main-navigation a::after { display: none; }

    /* Hero */
    .tovio-hero { min-height: 70vh; }
    .tovio-hero .container { padding-top: 3rem; padding-bottom: 4rem; }
    .hero-buttons { flex-direction: column; align-items: stretch; }
    .hero-buttons .btn { justify-content: center; }

    /* Sections */
    .tovio-section { padding: 4rem 0; }

    /* About */
    .about-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .about-badge {
        right: 1rem;
        bottom: 1rem;
        padding: 1rem 1.5rem;
    }
    .about-badge .badge-year { font-size: 2rem; }

    /* Products */
    .products-grid {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        gap: 1.25rem;
    }

    /* Single product */
    .product-layout {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    /* Resellers single */
    .reseller-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .reseller-contact-card { position: static; }

    /* CTA */
    .cta-box {
        padding: 3.5rem 2rem;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }
    .footer-about { grid-column: 1 / -1; }

    /* Topbar */
    .tovio-topbar { font-size: 0.8rem; padding: 0.5rem 0; }
    .tovio-topbar .container { justify-content: center; }
    .topbar-text { display: none; }
}

/* -------------- MOBILE (< 768px) -------------- */
@media (max-width: 767px) {

    /* Hero */
    .hero-title { font-size: 2.25rem; }
    .hero-subtitle { font-size: 1rem; }
    .hero-badge { font-size: 0.7rem; padding: 0.5rem 1rem; }

    /* Sections */
    .tovio-section { padding: 3rem 0; }
    .section-header { margin-bottom: 2.5rem; }
    .section-title { font-size: 1.75rem; }

    /* Stats */
    .about-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem 0.5rem;
    }
    .stat-value { font-size: 2rem; }

    /* Products grid */
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    .product-card-body { padding: 1rem; }
    .product-title { font-size: 0.95rem; }
    .price-current { font-size: 1.1rem; }
    .size-chip { min-width: 26px; height: 24px; font-size: 0.7rem; }

    /* Single product */
    .product-info .product-title { font-size: 1.75rem; }
    .product-price-large .price-current { font-size: 1.75rem; }

    /* Teams */
    .teams-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    .team-card { padding: 1.25rem; }
    .team-card-logo { width: 70px; height: 70px; }
    .team-name { font-size: 0.9rem; }

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

    /* Resellers */
    .resellers-grid { grid-template-columns: 1fr; }
    .reseller-card { padding: 1.5rem; }
    .reseller-card-header { padding-right: 3rem; }
    .reseller-badge { top: 0.75rem; right: 0.75rem; }
    .reseller-card-footer { flex-direction: column; }

    /* Search */
    .search-input-group {
        flex-wrap: wrap;
    }
    .search-input-group input {
        min-width: 100%;
        padding: 0.75rem 0;
    }
    .search-input-group .btn {
        width: 100%;
        margin-top: 0.5rem;
    }

    /* CTA */
    .cta-box { padding: 2.5rem 1.5rem; }
    .cta-title { font-size: 1.75rem; }

    /* Page hero */
    .page-hero { padding: 3.5rem 0 2.5rem; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
    .footer-bottom .container {
        flex-direction: column;
        text-align: center;
        gap: 0.5rem;
    }
    .footer-main { padding: 3rem 0; }

    /* WhatsApp float */
    .whatsapp-float {
        bottom: 1rem;
        right: 1rem;
        width: 52px;
        height: 52px;
    }

    /* Buttons */
    .btn { padding: 0.75rem 1.5rem; font-size: 0.85rem; }
    .btn-lg { padding: 1rem 2rem; font-size: 0.95rem; }

    /* Header actions */
    .header-action { padding: 0.5rem 0.65rem; }
    .header-reseller .hide-mobile { display: none; }

    /* Breadcrumb */
    .tovio-breadcrumb { font-size: 0.8rem; padding: 0.75rem 0; }
    .tovio-breadcrumb .container { overflow-x: auto; white-space: nowrap; }

    /* Resellers become section */
    .resellers-become { padding: 2rem 1.5rem; }
    .resellers-become h2 { font-size: 1.5rem; }
}

/* -------------- SMALL MOBILE (< 480px) -------------- */
@media (max-width: 479px) {
    .products-grid,
    .teams-grid {
        grid-template-columns: 1fr;
    }
    .site-title-link { font-size: 1.4rem; }
    .hero-title { font-size: 1.85rem; }
    .section-title { font-size: 1.5rem; }
}

/* -------------- LARGE SCREENS (>= 1400px) -------------- */
@media (min-width: 1400px) {
    .container { max-width: 1400px; }
    .tovio-section { padding: 6rem 0; }
    .tovio-hero { min-height: 90vh; }
}
