/* === Breakpoints === */
/* Mobile: até 767px | Tablet: 768–1023px | Desktop: 1024px+ */

@media (max-width: 1023px) {
    .cross-selling__grid { grid-template-columns: repeat(2, 1fr); }
    .category-products__grid { grid-template-columns: repeat(2, 1fr); }
    .cart-page__layout { display: block; }
    .cart-page__items { margin-bottom: var(--spacing-xl); }
    .checkout-layout { display: block; }
    .checkout-sidebar { margin-top: var(--spacing-lg); }
    .checkout-section--summary { position: static; }
    .account-layout { display: block; }
    .account-sidebar { margin-bottom: var(--spacing-lg); }
    .account-dashboard__grid { grid-template-columns: repeat(2, 1fr); }
    .cart-summary { position: static; }
}

@media (max-width: 767px) {
    :root { --container-pad: 20px; }

    /* Top bar */
    .top-bar { padding: 10px 0; }
    .top-bar__social { display: none; }
    .top-bar__text {
        position: static;
        transform: none;
        text-align: center;
        font-size: 12px;
        width: 100%;
        white-space: normal;
        line-height: 1.4;
    }

    /* Header */
    .header__inner {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        justify-items: center;
        padding: var(--spacing-md) 0;
        gap: var(--spacing-md);
    }

    .header__logo {
        order: 1;
        justify-self: center;
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .header__logo-img { width: 200px; }

    .header__search {
        order: 2;
        display: block;
        width: 100%;
        max-width: 100%;
        justify-self: stretch;
    }

    .header__actions {
        order: 0;
        width: 100%;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 25px;
    }

    .header__account-label { display: none; }
    .header__hamburger { display: none; }
    .header__nav { display: none; }
    .header__cart svg { width: 28px; height: 20px; }
    /* Nav mobile */
    .main-nav { display: block; }
    .main-nav__desktop { display: none; }

    .main-nav__trigger {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 12px;
        width: 100%;
        background: var(--color-one);
        border: none;
        padding: 14px 20px;
        cursor: pointer;
        transition: background var(--transition);
    }

    .main-nav__trigger[aria-expanded="true"] {
        background: var(--color-one-hover);
    }

    .main-nav__hamburger {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

    .main-nav__hamburger span {
        display: block;
        width: 22px;
        height: 2px;
        background: var(--color-two);
        border-radius: 2px;
        transition: transform var(--transition), opacity var(--transition);
    }

    .main-nav__trigger[aria-expanded="true"] .main-nav__hamburger span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }
    .main-nav__trigger[aria-expanded="true"] .main-nav__hamburger span:nth-child(2) {
        opacity: 0;
    }
    .main-nav__trigger[aria-expanded="true"] .main-nav__hamburger span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .main-nav__trigger-label {
        color: var(--color-two);
        font-size: 15px;
        font-weight: 700;
        letter-spacing: 0.05em;
    }

    .main-nav__dropdown {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--color-one);
        box-shadow: 0 8px 24px rgba(0,0,0,0.25);
        z-index: 200;
    }

    .main-nav__dropdown.is-open { display: block; }

    .main-nav__dropdown-list {
        display: flex;
        flex-direction: column;
    }

    .main-nav__dropdown-list li {
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }

    .main-nav__dropdown-list a {
        display: block;
        padding: 10px 20px;
        font-size: 14px;
        transition: background var(--transition);
    }

    .main-nav__dropdown-list a:hover { background: var(--color-one-hover); }

    .main-nav__dropdown-list .main-nav__ofertas a {
        background: var(--color-eight);
        margin: 12px 20px;
        padding: 12px 20px;
        text-align: center;
        border-radius: var(--radius-sm);
    }

    .main-nav__dropdown-list .main-nav__ofertas a:hover {
        background: var(--color-eight-hover);
    }

    /* Banners */
    .category-hero__img--desktop { display: none; }
    .category-hero__img--mobile { display: block; }
    .category-hero__title { font-size: 24px; }


    /* Home categorias */
    .home-categories { padding: var(--spacing-lg) 0; }
    .home-categories__grid { grid-template-columns: repeat(2, 1fr); }
    .category-card { height: 280px; }
    .category-card__title { font-size: 16px; }
    .category-card__subtitle { font-size: 14px; }
    .category-card__btn { font-size: 14px; }

    /* Home produtos em destaque */
    .home-featured__title { font-size: 24px; }

    /* Home produtos */
    .home-products__title { font-size: 24px; }

    /* Banner tecnologia */
    .home-tech-banner__img { height: 200px; }

    /* Categoria */
    .category-page__layout { grid-template-columns: 1fr; }
    .category-page__grid { grid-template-columns: 1fr; }

    /* Filtros mobile — overlay fullscreen */
    .category-filters {
        position: static;
        border-radius: 0;
        padding: 0;
        background: none;
    }

    .category-filters__header {
        pointer-events: auto;
        cursor: pointer;
        background: var(--color-two);
        border-radius: var(--radius-md);
        padding: var(--spacing-md);
        margin-bottom: var(--spacing-md);
    }

.category-filters__body {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 500;
        background: rgba(255, 255, 255, 0.96);
        overflow-y: auto;
        padding: 80px var(--spacing-md) var(--spacing-lg);
    }

    .category-filters__body.is-open {
        display: block;
    }

    .category-filters__close-btn {
        display: flex;
        align-items: center;
        gap: 8px;
        position: absolute;
        top: var(--spacing-md);
        right: var(--spacing-md);
        background: none;
        border: 1.5px solid var(--color-one);
        border-radius: var(--radius-sm);
        color: var(--color-one);
        font-size: 14px;
        font-weight: 700;
        padding: 8px 16px;
        cursor: pointer;
    }

    /* Grids */
    .cross-selling__grid { grid-template-columns: repeat(2, 1fr); gap: var(--spacing-md); }
    .category-products__grid { grid-template-columns: repeat(2, 1fr); gap: var(--spacing-md); }

    /* Footer */
    .footer__inner {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 20px 0;
    }
    .footer__brand { display: none; }

    .footer__col--accordion { border-bottom: none; }

    .footer__accordion-trigger {
        padding: var(--spacing-md) 0;
        margin-bottom: 0;
        cursor: pointer;
        pointer-events: auto;
    }

    .footer__accordion-arrow {
        display: block;
        color: var(--color-one);
        flex-shrink: 0;
        transition: transform var(--transition);
    }

    .footer__accordion-trigger[aria-expanded="true"] .footer__accordion-arrow {
        transform: rotate(180deg);
    }

    .footer__accordion-body {
        display: none;
        padding-bottom: var(--spacing-md);
    }

    .footer__accordion-body.is-open { display: block; }

    .footer__col--accordion .footer__title { display: none; }

    /* Carrinho */
    .cart-table { display: block; }
    .cart-table thead { display: none; }
    .cart-table tbody { display: block; }
    .cart-table__row {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "product remove"
            "qty     qty"
            "price   total";
        gap: var(--spacing-sm);
        padding: var(--spacing-md) 0;
        align-items: start;
        border-bottom: 1px solid var(--color-six);
    }
    .cart-table__row:first-child { border-top: 1px solid var(--color-six); }
    .cart-table td { border: none; padding: 0; }
    .cart-table__cell--product { grid-area: product; }
    .cart-table__cell--remove  { grid-area: remove; }
    .cart-table__cell--qty     { grid-area: qty; }
    .cart-table__cell--price   { grid-area: price; text-align: left; }
    .cart-table__cell--total   { grid-area: total; text-align: right; }
    .cart-table__cell--price::before { content: attr(data-title) ': '; font-weight: 700; font-size: 12px; color: var(--color-one); }
    .cart-table__cell--total::before { content: attr(data-title) ': '; font-weight: 700; font-size: 12px; color: var(--color-one); }
    .cart-cross-sells__grid { grid-template-columns: repeat(2, 1fr); }
    .cart-actions { flex-direction: column; align-items: stretch; }
    .cart-coupon { flex-direction: column; }

    /* Checkout */
    .woocommerce-billing-fields__field-wrapper,
    .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }

    /* Thank you */
    .thankyou-layout { display: block; }
    .thankyou-sidebar { margin-top: var(--spacing-md); }
    .thankyou-addresses { grid-template-columns: 1fr; }

    /* Mi cuenta — endereços */
    .woocommerce-Addresses.col2-set { display: block; }
    .u-column1.woocommerce-Address { margin-bottom: 25px; }
    .woocommerce-Address-title a { float: none; display: inline-block; }

    /* Produto detalhe */
    .product-detail { padding: 20px 0; }
    .product-detail__layout { grid-template-columns: 1fr; gap: var(--spacing-lg); }
    .product-gallery__thumbs { grid-template-columns: repeat(6, 1fr); }
    .product-summary__price-now { font-size: 30px; }
    .product-related__grid { grid-template-columns: repeat(2, 1fr); }
    .product-related__title { font-size: 24px; }

    /* Páginas institucionais */
    .page-empresa__title { font-size: 28px; }

    .page-contactos { padding-top: 20px; }
    .page-contactos__layout { grid-template-columns: 1fr; gap: var(--spacing-xl); }
    .page-contactos__title { font-size: 28px; }

    .page-trabaja { padding-top: 20px; }
    .page-trabaja__title { font-size: 28px; }
    .page-trabaja__card { padding: var(--spacing-md); border-radius: var(--radius-md); }

    .page-form__row { grid-template-columns: 1fr; }

    .page-legal__title { font-size: 24px; }

    .recomendador__title { font-size: 24px; }
    .recomendador__grid { grid-template-columns: 1fr; gap: var(--spacing-md); }
    .recomendador__btn { width: 100%; padding: 14px; }

    .recomendador__progress-wrap {
        position: sticky;
        top: 0;
        z-index: 100;
        background: var(--color-seven);
        padding: var(--spacing-sm) var(--container-pad);
        margin-left: calc(-1 * var(--container-pad));
        margin-right: calc(-1 * var(--container-pad));
    }
}

@media (max-width: 479px) {
    .cross-selling__grid { grid-template-columns: 1fr; }
    .category-products__grid { grid-template-columns: 1fr; }
}
