* {
    font-family: "Noto Sans Armenian", "Gayane", sans-serif;
}

html {
    font-size: 0.833vw;
}

body.no-scroll {
    overflow: hidden;
    height: 100vh;
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
}

img {
    user-select: none;
}

.container {
    max-width: 99.75rem !important;
}

/* Consistent vertical spacing between all sections (sliders, categories, products) */
.section-y {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.section-y:last-child {
    margin-bottom: 1.5rem;
}

/* Fixed header: show on scroll up, hide on scroll down; hidden near top */
.header-fixed {
    transform: translateY(-100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.header-fixed.is-visible {
    transform: translateY(0);
}

.font-arial {
    font-family: "Arial";
}

.swiper-theme1-pagination .swiper-pagination-bullet {
    width: 0.5rem !important;
    height: 0.5rem !important;
    background-color: transparent !important;
    border: 1px solid #e40523 !important;
    opacity: 1 !important;
}

.swiper-theme1-pagination .swiper-pagination-bullet-active {
    position: relative !important;
    width: 1.25rem !important;
    height: 1.25rem !important;
    padding: 0.5rem !important;
}

.swiper-theme1-pagination .swiper-pagination-bullet-active:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0.5rem;
    height: 0.5rem;
    display: block;
    background-color: #e40523;
    border-radius: 50%;
}

/* Active category: visual distinction */
#section-categories .category-item.is-active {
    border: 2px solid #E40523;
    box-shadow: 0 0 0 1px #E40523;
    background-color: #fef2f3;
}

/* Active subcategory: similar to category */
#subcategories-list .subcat-card.is-active {
    border: 2px solid #E40523;
    box-shadow: 0 0 0 1px #E40523;
    background-color: #fef2f3;
}

/* Spacing when category products are shown above groups */
#product-list-container:not(:empty) + #sections-groups {
    margin-top: 0.5rem;
}

/* Hero slider: attractive pagination dots */
.swiper-hero-pagination .swiper-pagination-bullet {
    width: 0.5rem;
    height: 0.5rem;
    background: #d1d5db;
    opacity: 1;
    transition: all 0.3s ease;
}
.swiper-hero-pagination .swiper-pagination-bullet:hover {
    background: #E40523;
    transform: scale(1.2);
}
.swiper-hero-pagination .swiper-pagination-bullet-active {
    width: 1.75rem;
    border-radius: 0.25rem;
    background: #E40523;
    box-shadow: 0 2px 8px rgba(228, 5, 35, 0.4);
}

.swiper-button-prev svg,
.swiper-button-next svg {
    width: 1.25rem;
    height: 1.25rem;
    color: #e40523;
}

@media (max-width: 1440px) {
    html {
        font-size: 1.111vw;
    }

    .container {
        max-width: 80rem !important;
    }
}

@media (max-width: 1024px) {
    html {
        font-size: 1.563vw;
    }

    .container {
        max-width: 55rem !important;
    }
}

@media (max-width: 768px) {
    html {
        font-size: 2.083vw;
    }

    .container {
        max-width: 45rem !important;
    }

    .swiper-button-prev svg,
    .swiper-button-next svg {
        width: 1rem;
        height: 1rem;
    }
}

@media (max-width: 500px) {
    html {
        font-size: 4.267vw;
    }

    .container {
        max-width: 21rem !important;
    }

    .section-y {
        margin-top: 1.25rem;
        margin-bottom: 1.25rem;
    }

    .section-y:last-child {
        margin-bottom: 1.25rem;
    }

    .swiper-button-prev svg,
    .swiper-button-next svg {
        width: 0.75rem;
        height: 0.75rem;
    }
}
