/* ═══════════════════════════════════════════════════════════════
   Lutador — Responsive storefront (phone + laptop)
   ═══════════════════════════════════════════════════════════════ */

:root {
    --header-sticky-offset: 128px;
    --commerce-max: 1360px;
}

/* ── Laptop / desktop (≥992px) ───────────────────────────────── */
@media (min-width: 992px) {
    .header-main__inner {
        min-height: 68px;
    }

    .catalog-page__container {
        max-width: 1360px;
    }

    .catalog-layout {
        gap: 2rem;
    }

    .catalog-sidebar {
        top: calc(var(--header-sticky-offset, 200px) + 0.75rem) !important;
        max-height: calc(100vh - var(--header-sticky-offset, 200px) - 1.5rem);
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .page-home .hero--mockup .container {
        max-width: 1280px;
    }
}

@media (min-width: 1200px) {
    .catalog-grid {
        gap: 1.5rem;
    }
}

@media (min-width: 1400px) {
    .container,
    .catalog-page__container {
        max-width: 1400px;
    }
}

/* ── Tablet (768–991px) ──────────────────────────────────────── */
@media (min-width: 768px) and (max-width: 991.98px) {
    .header-search-cluster {
        gap: 0.5rem;
    }
}

/* ── Phone / tablet shared header tweaks (<992px) ────────────── */
@media (max-width: 991.98px) {
    .header-main > .container {
        display: flex;
        flex-direction: column;
    }

    .header-main__inner {
        padding-bottom: 0.35rem;
    }
}

@media (max-width: 575px) {
    .site-header--premium .header-main__brand .brand-logo {
        width: 38px !important;
        height: 38px !important;
    }

    .header-main__inner {
        gap: 0.5rem;
    }

    .header-toggler {
        width: 40px;
        height: 40px;
        font-size: 1.2rem;
    }

    .header-action {
        min-width: 40px;
        padding: 0.25rem;
    }
}

/* ── Mobile tab bar (mockup: Home · Categories · Wishlist · Account) */
.mobile-tab-bar__item--btn {
    border: none;
    background: transparent;
    font: inherit;
    cursor: pointer;
    width: 100%;
}

.mobile-tab-bar__item--btn.is-active {
    color: var(--maroon);
}

.mobile-tab-bar__item--btn.is-active i {
    color: var(--gold);
}

.mobile-tab-bar__badge--wish {
    background: #e53935;
}

.mobile-tab-bar__badge--wish[hidden] {
    display: none !important;
}

/* ── Shop catalog — phone ────────────────────────────────────── */
.page-shop .catalog-main__header {
    position: relative;
    top: auto;
}

@media (max-width: 991.98px) {
    .catalog-page {
        padding: 0.85rem 0 2.5rem;
    }

    .catalog-breadcrumb {
        margin-bottom: 0.75rem;
        font-size: 0.82rem;
    }

    .catalog-pills {
        margin-bottom: 1rem;
        margin-inline: -0.25rem;
        padding-inline: 0.25rem;
    }

    .catalog-pill {
        padding: 0.5rem 1rem;
        font-size: 0.82rem;
    }

    .catalog-main__header {
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
        margin-bottom: 1rem;
        position: relative;
        z-index: 1;
        background: transparent;
        margin-inline: 0;
        padding: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .catalog-main__title-wrap {
        order: 1;
    }

    .btn-catalog-filter-mob {
        order: 0;
        width: 100%;
        justify-content: center;
        border-radius: 12px;
        min-height: 44px;
        font-weight: 700;
    }

    .catalog-main__controls {
        order: 2;
        width: 100%;
        margin-left: 0;
        justify-content: space-between;
    }

    .catalog-sort {
        flex: 1;
    }

    .catalog-sort__select {
        width: 100%;
        min-height: 44px;
    }

    .catalog-stats-ribbon {
        display: none;
    }

    .catalog-grid {
        gap: 0.75rem;
    }
}

@media (max-width: 575px) {
    .catalog-page__container {
        padding-left: 0.65rem;
        padding-right: 0.65rem;
    }

    .catalog-grid {
        gap: 0.55rem;
    }

    .catalog-grid .lux-product-card__tilt {
        border-radius: 16px;
    }

    .catalog-main__title {
        font-size: 1.2rem;
    }

    .catalog-view-toggle {
        display: none;
    }

    .lux-product-card__title,
    .catalog-card__title {
        font-size: 0.82rem !important;
        line-height: 1.25;
    }

    .catalog-card__price,
    .lux-product-card__price {
        font-size: 0.92rem !important;
    }

    .catalog-card__price-old {
        font-size: 0.75rem;
    }

    .catalog-card__rating {
        font-size: 0.68rem;
    }

    .catalog-card__size {
        min-width: 28px;
        height: 26px;
        font-size: 0.65rem;
    }

    .btn-catalog-cart {
        width: 100%;
        justify-content: center;
        min-height: 40px;
        font-size: 0.78rem;
        padding: 0.45rem 0.65rem;
    }

    .lux-product-card__body,
    .catalog-card__body {
        padding: 0.65rem 0.7rem 0.75rem !important;
    }

    .lux-product-card__media,
    .catalog-card__media {
        aspect-ratio: 1 / 1.05;
    }

    .lux-product-card__wish,
    .catalog-card__wish {
        width: 32px;
        height: 32px;
        font-size: 0.85rem;
    }

    .lux-badge,
    .catalog-card__badge {
        font-size: 0.62rem;
        padding: 0.2rem 0.45rem;
    }
}

@media (max-width: 380px) {
    .catalog-grid {
        gap: 0.45rem;
    }

    .catalog-pill {
        padding: 0.45rem 0.85rem;
        font-size: 0.78rem;
    }
}

/* ── Home page responsive ────────────────────────────────────── */
@media (max-width: 991.98px) {
    .page-home .hero--mockup {
        padding-top: 1.25rem;
        padding-bottom: 2rem;
    }

    .page-home .hero-display {
        font-size: clamp(1.85rem, 7vw, 2.5rem);
    }

    .page-home .hero-cta-row .btn {
        min-height: 48px;
    }
}

@media (max-width: 575px) {
    .page-home .hero-showcase-card {
        min-height: 220px;
    }

    .page-home .product-card--compact .product-image {
        height: 140px;
    }
}

/* ── Cart / checkout safe area on phone ──────────────────────── */
@media (max-width: 991.98px) {
    .page-cart .commerce-page,
    .page-checkout .commerce-page {
        padding-bottom: 1rem;
    }
}

/* ── Reduced motion ──────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .header-nav__scroll {
        animation: none !important;
    }
}

/* ── Header conflict guards (loads last — wins over legacy CSS) */
.page-storefront .lutador-header .header-search-form,
.page-storefront .site-header--premium .header-search-form {
    display: flex !important;
    width: 100% !important;
}

.page-storefront .lutador-header .header-search-form__track,
.page-storefront .site-header--premium .header-search-form__track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
}

.page-storefront .lutador-header .header-search-form__field,
.page-storefront .site-header--premium .header-search-form__field {
    flex: 1 1 0% !important;
    min-width: 0 !important;
}

.page-storefront .lutador-header .header-search-form__control,
.page-storefront .site-header--premium .header-search-form__control {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
}

.page-storefront .lutador-header .header-search-form__icon,
.page-storefront .lutador-header .header-search-form__submit,
.page-storefront .site-header--premium .header-search-form__icon,
.page-storefront .site-header--premium .header-search-form__submit {
    position: static !important;
    transform: none !important;
}

.page-storefront .lutador-header .header-search-form__submit,
.page-storefront .site-header--premium .header-search-form__submit {
    flex: 0 0 52px !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    margin: 0 !important;
}
