/* Responsive enhancements — complements style.css breakpoints */

/* Large screens */
@media (min-width: 1400px) {
    :root {
        --container: 1280px;
    }
}

/* Tablet landscape / small laptop */
@media (max-width: 1200px) {
    .product-detail {
        gap: clamp(1.5rem, 3vw, 2.5rem);
    }

    .section-header {
        align-items: flex-start;
    }

    .section-lead {
        max-width: none;
    }
}

@media (max-width: 1100px) {
    .header-action--help .header-action__text,
    .header-action--account .header-action__text {
        display: none;
    }
}

/* Tablet portrait */
@media (max-width: 768px) {
    :root {
        --header-top-h: 64px;
        --header-search-h: 46px;
        --header-h: calc(var(--header-top-h) + var(--header-search-h));
    }

    .hero-grid {
        gap: 2rem;
    }

    .hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-actions .btn {
        justify-content: center;
        width: 100%;
    }

    .section-header {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }

    .section-header .btn,
    .section-header .section-link {
        align-self: flex-start;
    }

    .catalog-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .catalog-toolbar__meta {
        text-align: center;
    }

    .catalog-active-filters {
        justify-content: center;
    }

    .catalog-pagination {
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .newsletter__bar {
        grid-template-columns: 1fr 1fr;
        gap: 0.65rem;
    }

    .newsletter__intro {
        grid-column: 1 / -1;
    }

    .newsletter__input--email {
        grid-column: 1 / -1;
    }

    .newsletter__submit {
        grid-column: 1 / -1;
    }

    .catalog-pagination__info {
        width: 100%;
        text-align: center;
        order: -1;
    }

    .product-buybox {
        padding: 1.35rem;
    }

    .product-share {
        padding: 0.9rem;
    }

    .product-share__btn {
        min-height: 88px;
        padding: 0.7rem 0.35rem;
    }

    .product-share__icon-wrap {
        width: 42px;
        height: 42px;
    }

    .product-share__btn-text {
        font-size: 0.72rem;
    }

    .product-price-wrap--lg .product-price,
    .product-price-lg {
        font-size: clamp(1.35rem, 5vw, 1.85rem);
    }

    .breadcrumb {
        font-size: 0.8rem;
        margin-bottom: 1.25rem;
    }

    .page-banner {
        padding: 1.75rem 0 1.5rem;
    }

    .page-banner__subtitle {
        font-size: 0.95rem;
    }

    .empty-state {
        padding: 2.5rem 1.25rem;
    }

    .cta-section__btn {
        width: 100%;
        min-width: unset;
    }

    .content-page {
        font-size: 0.925rem;
    }

    .scroll-top {
        right: max(1rem, env(safe-area-inset-right));
        bottom: calc(5rem + env(safe-area-inset-bottom));
        width: 40px;
        height: 40px;
    }

    .whatsapp-float {
        right: max(1rem, env(safe-area-inset-right));
        bottom: max(1rem, env(safe-area-inset-bottom));
        width: 52px;
        height: 52px;
    }

    .whatsapp-float svg {
        width: 26px;
        height: 26px;
    }
}

/* Mobile */
@media (max-width: 480px) {
    .logo-img {
        height: 52px;
        max-width: 115px;
    }

    .hero {
        padding: 2rem 0 2.5rem;
    }

    .hero h1 {
        font-size: clamp(1.65rem, 8vw, 2rem);
    }

    .hero-tagline {
        font-size: 0.95rem;
        margin-bottom: 1.5rem;
    }

    .hero-logo {
        width: min(280px, 72vw);
    }

    .category-card {
        padding: 1.25rem 1.1rem;
    }

    .category-card__link {
        opacity: 1;
        transform: none;
    }

    .product-info {
        padding: 1rem;
    }

    .product-name {
        font-size: 0.95rem;
    }

    .footer-about {
        font-size: 0.85rem;
    }

    .footer-grid {
        column-gap: 2.5rem;
        row-gap: 2rem;
    }

    .newsletter__bar {
        grid-template-columns: 1fr;
        gap: 0.65rem;
        padding: 1rem 0;
    }

    .newsletter__intro,
    .newsletter__input--name,
    .newsletter__input--email,
    .newsletter__submit {
        grid-column: 1 / -1;
    }

    .newsletter__submit {
        width: 100%;
    }

    .trust-item {
        padding: 0.25rem 0;
    }

    .catalog-chip {
        font-size: 0.72rem;
        padding: 0.3rem 0.6rem;
    }

    .catalog-filters {
        width: min(320px, 92vw);
    }

    .search-form-page--wide input {
        font-size: 16px;
    }

    .age-gate {
        padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    }

    .age-gate__panel {
        padding: 1.75rem 1.25rem 1.5rem;
    }

    .age-gate__title {
        font-size: 1.2rem;
    }

    .notice-gate {
        padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    }

    .notice-gate__panel {
        padding: 1.75rem 1.25rem 1.5rem;
    }

    .notice-gate__title {
        font-size: 1.2rem;
    }
}

/* Very small phones */
@media (max-width: 360px) {
    .container {
        padding: 0 0.875rem;
    }

    .btn {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .product-card__actions .btn {
        font-size: 0.78rem;
    }
}

/* Short viewports (landscape phones) */
@media (max-height: 500px) and (orientation: landscape) {
    .hero {
        padding: 1.5rem 0 2rem;
    }

    .hero-grid {
        grid-template-columns: 1fr 1fr;
        text-align: left;
        gap: 1.5rem;
    }

    .hero-content {
        max-width: none;
        margin: 0;
    }

    .hero-tagline {
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 1rem;
    }

    .hero-actions {
        flex-direction: row;
        justify-content: flex-start;
    }

    .hero-actions .btn {
        width: auto;
    }

    .hero-visual {
        order: 0;
    }

    .hero-logo {
        width: min(160px, 35vw);
    }

    .age-gate__panel {
        max-height: 90vh;
        overflow-y: auto;
    }

    .notice-gate__panel {
        max-height: 90vh;
        overflow-y: auto;
    }
}

/* Touch devices — larger tap targets, always-visible card links */
@media (hover: none) and (pointer: coarse) {
    .header-categories__link,
    .menu-toggle,
    .header-action,
    .catalog-toolbar__toggle,
    .catalog-filters__close {
        min-height: 44px;
    }

    .btn {
        min-height: 44px;
    }

    .category-card__link {
        opacity: 1;
        transform: none;
    }

    .product-card:hover {
        transform: none;
    }

    .category-card:hover {
        transform: none;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .hero-logo {
        animation: none;
    }

    .product-card,
    .category-card,
    .header-categories,
    .catalog-filters,
    .scroll-top,
    .whatsapp-float {
        transition-duration: 0.01ms;
    }
}
