@media (min-width: 48rem) {
    .tcn-section {
        padding-block: var(--tcn-space-3xl);
    }

    .tcn-newsletter__content {
        grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.8fr);
    }

    .tcn-footer-enhanced__grid {
        grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr));
    }

    .woocommerce ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 64rem) {
    .woocommerce ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 47.9375rem) {
    h1 {
        font-size: 2.25rem;
    }

    h2 {
        font-size: 1.85rem;
    }

    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--tcn-space-md);
    }

    .woocommerce ul.products li.product .button {
        min-height: 40px;
        padding-inline: var(--tcn-space-sm);
    }

    .tcn-hero-slide {
        min-height: 32rem;
    }

    .tcn-hero-slide::before {
        inset: var(--tcn-space-sm);
    }

    .tcn-hero-slide::after {
        top: 8%;
        right: -5rem;
        width: 15rem;
    }

    .tcn-hero-slide__content {
        width: min(100% - 1.5rem, var(--tcn-size-container));
        justify-content: flex-end;
        padding: var(--tcn-space-3xl) var(--tcn-space-md);
    }

    .tcn-hero-carousel__controls {
        right: var(--tcn-space-sm);
        bottom: var(--tcn-space-sm);
    }

    .tcn-hero-carousel__dots {
        left: var(--tcn-space-sm);
        bottom: calc(var(--tcn-space-sm) + 0.9rem);
        transform: none;
    }

    .tcn-newsletter {
        padding: var(--tcn-space-lg);
    }

    .tcn-newsletter__form {
        flex-direction: column;
    }

    .tcn-footer-enhanced {
        padding-block: var(--tcn-space-xl);
    }
}

@media (prefers-reduced-motion: reduce) {
    .button,
    .wp-element-button,
    .wp-block-button__link,
    .tcn-category-card,
    .tcn-category-card::before,
    .tcn-category-card__cta,
    .tcn-product-card,
    .tcn-product-card__placeholder,
    .tcn-product-card__media img {
        transition: none;
    }

    .button:hover,
    .button:focus-visible,
    .tcn-category-card:hover,
    .tcn-category-card:focus-within,
    .tcn-product-card:hover,
    .tcn-product-card:focus-within {
        transform: none;
    }
}
