/* =========================================================
   EVELORA HOUSE
   Main Stylesheet
   ========================================================= */


/* =========================================================
   1. RESET
   ========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    color: #171717;
    background: #f8f6f2;
    line-height: 1.5;
}

img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input {
    font: inherit;
}

button {
    cursor: pointer;
}


/* =========================================================
   2. DESIGN VARIABLES
   ========================================================= */

:root {

    --ivory: #f8f6f2;
    --white: #ffffff;
    --black: #171717;
    --grey: #77736d;
    --light-grey: #e9e6e0;
    --gold: #b79b68;

    --glass-background: rgba(255, 255, 255, 0.72);
    --glass-border: rgba(255, 255, 255, 0.55);
    --glass-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);

    --container: 1400px;

    --transition: 0.3s ease;
}


/* =========================================================
   3. ANNOUNCEMENT BAR
   ========================================================= */

.announcement-bar {
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--black);
    color: var(--white);

    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.announcement-bar p {
    opacity: 0.9;
}


/* =========================================================
   4. MAIN HEADER
   ========================================================= */

.main-header {
    position: absolute;

    top: 36px;
    left: 0;

    width: 100%;

    z-index: 1000;
}


/* Header glass container */

.header-container {
    width: calc(100% - 60px);
    max-width: var(--container);

    margin: 20px auto 0;

    min-height: 76px;

    display: flex;
    align-items: center;

    gap: 30px;

    padding: 15px 25px;

    background: var(--glass-background);

    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);

    border: 1px solid var(--glass-border);

    border-radius: 18px;

    box-shadow: var(--glass-shadow);
}


/* =========================================================
   5. LOGO
   ========================================================= */



.logo {
    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    width: 170px;

    height: 48px;

    transition: var(--transition);
}

.logo img {
    width: 100%;

    height: 100%;

    object-fit: contain;
}

.logo:hover {
    opacity: 0.75;
}

/* =========================================================
   6. MAIN NAVIGATION
   ========================================================= */

.main-navigation {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 22px;

    flex: 1;
}

.main-navigation a {

    position: relative;

    font-size: 11px;

    text-transform: uppercase;

    letter-spacing: 1px;

    white-space: nowrap;

    transition: var(--transition);
}

.main-navigation a::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: -6px;

    width: 0;

    height: 1px;

    background: var(--gold);

    transition: var(--transition);
}

.main-navigation a:hover {
    color: var(--gold);
}

.main-navigation a:hover::after {
    width: 100%;
}

/* =========================================================
   MEGA MENU
   ========================================================= */

.nav-item {
    position: static;
}

.nav-item > a {
    display: block;
}


/* Mega menu container */

.mega-menu {

    position: absolute;

    top: 96px;

    left: 50%;

    transform:
        translateX(-50%)
        translateY(-10px);

    width: calc(100% - 60px);

    max-width: 1250px;

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 40px;

    padding: 38px 42px;

    background:
        rgba(255, 255, 255, 0.94);

    backdrop-filter: blur(25px);

    -webkit-backdrop-filter: blur(25px);

    border:
        1px solid
        rgba(255, 255, 255, 0.75);

    border-radius: 18px;

    box-shadow:
        0 25px 70px
        rgba(0, 0, 0, 0.12);

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}


/* Show menu */

.has-mega-menu:hover .mega-menu {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    transform:
        translateX(-50%)
        translateY(0);
}


/* Mega columns */

.mega-column {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 11px;
}


/* Column title */

.mega-column h3 {

    margin-bottom: 10px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 17px;

    font-weight: 400;

    color: var(--black);
}


/* Menu links */

.mega-column a {

    position: relative;

    font-size: 12px;

    color: var(--grey);

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}


.mega-column a:hover {

    color: var(--gold);

    transform: translateX(4px);
}


/* Gold line */

.mega-column h3::after {

    content: "";

    display: block;

    width: 25px;

    height: 1px;

    margin-top: 8px;

    background: var(--gold);
}


/* Offers */

.offers-link {

    color: var(--gold) !important;

    font-weight: 600;
}


/* =========================================================
   7. HEADER ACTIONS
   ========================================================= */

.header-actions {

    display: flex;

    align-items: center;

    gap: 8px;

    flex-shrink: 0;
}

.header-icon {

    position: relative;

    width: 38px;
    height: 38px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: none;

    background: transparent;

    color: var(--black);

    transition: var(--transition);
}

.header-icon:hover {
    color: var(--gold);
}

.header-icon svg {

    width: 19px;
    height: 19px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.5;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/* Cart counter */

.cart-count {

    position: absolute;

    top: 1px;
    right: 1px;

    min-width: 16px;
    height: 16px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--gold);

    color: white;

    font-size: 9px;
}


/* =========================================================
   8. MOBILE MENU BUTTON
   ========================================================= */

.mobile-menu-button {

    display: none;

    width: 38px;
    height: 38px;

    border: none;

    background: transparent;
}

.mobile-menu-button span {

    display: block;

    width: 20px;
    height: 1px;

    margin: 5px auto;

    background: var(--black);
}


/* =========================================================
   9. SEARCH PANEL
   ========================================================= */

.search-panel {

    position: absolute;

    top: 105px;

    left: 50%;

    transform: translateX(-50%);

    width: calc(100% - 60px);

    max-width: 900px;

    padding: 20px;

    background: rgba(255, 255, 255, 0.94);

    backdrop-filter: blur(20px);

    border: 1px solid rgba(255, 255, 255, 0.8);

    border-radius: 16px;

    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);

    opacity: 0;

    visibility: hidden;

    transform:
        translateX(-50%)
        translateY(-10px);

    transition: var(--transition);
}

.search-panel.active {

    opacity: 1;

    visibility: visible;

    transform:
        translateX(-50%)
        translateY(0);
}

.search-container {

    display: flex;

    align-items: center;

    gap: 10px;
}

.search-container input {

    flex: 1;

    border: none;

    border-bottom: 1px solid #ccc;

    background: transparent;

    padding: 12px 5px;

    outline: none;

    font-size: 15px;
}

.search-container button {

    border: none;

    background: transparent;

    font-size: 28px;

    color: var(--grey);
}


/* =========================================================
   10. MOBILE NAVIGATION
   ========================================================= */

.mobile-navigation.active {
    display: flex;

    flex-direction: column;

    gap: 20px;

    position: absolute;

    top: 90px;

    left: 15px;
    right: 15px;

    padding: 25px;

    background: rgba(255, 255, 255, 0.94);

    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);

    border: 1px solid rgba(255, 255, 255, 0.7);

    border-radius: 16px;

    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
}

.mobile-navigation.active a {

    font-size: 12px;

    text-transform: uppercase;

    letter-spacing: 1.5px;

    padding-bottom: 10px;

    border-bottom: 1px solid #eee;
}


/* =========================================================
   11. HERO
   ========================================================= */

.hero {

    position: relative;

    width: 100%;

    min-height: 850px;

    overflow: hidden;

    background: #222;
}


/* Video */

.hero-video {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;
}


/* Video overlay */

.hero-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.52),
            rgba(0, 0, 0, 0.12),
            rgba(0, 0, 0, 0.05)
        );
}


/* Hero content */

.hero-content {

    position: absolute;

    left: 8%;

    bottom: 13%;

    max-width: 650px;

    color: white;

    z-index: 2;
}

.hero-label {

    margin-bottom: 20px;

    font-size: 12px;

    letter-spacing: 4px;

    text-transform: uppercase;
}

.hero-content h1 {

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(50px, 6vw, 90px);

    line-height: 0.98;

    font-weight: 400;

    margin-bottom: 25px;
}

.hero-description {

    max-width: 480px;

    font-size: 16px;

    line-height: 1.7;

    margin-bottom: 30px;

    color: rgba(255, 255, 255, 0.9);
}


/* Hero button */

.hero-button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 150px;

    padding: 15px 30px;

    background: rgba(255, 255, 255, 0.92);

    color: var(--black);

    font-size: 11px;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    transition: var(--transition);
}

.hero-button:hover {

    background: var(--gold);

    color: white;
}


/* =========================================================
   12. GENERAL SECTIONS
   ========================================================= */

.section {

    width: calc(100% - 80px);

    max-width: var(--container);

    margin: auto;

    padding: 100px 0;
}

.section-header {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    margin-bottom: 45px;
}

.section-label {

    margin-bottom: 8px;

    font-size: 10px;

    letter-spacing: 2px;

    color: var(--gold);

    text-transform: uppercase;
}

.section-header h2 {

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(32px, 4vw, 48px);

    font-weight: 400;

    line-height: 1.1;
}

.section-header > a {

    font-size: 11px;

    text-transform: uppercase;

    letter-spacing: 1px;

    border-bottom: 1px solid var(--black);

    padding-bottom: 4px;

    transition: var(--transition);
}

.section-header > a:hover {
    color: var(--gold);

    border-color: var(--gold);
}


/* =========================================================
   13. CATEGORY GRID
   ========================================================= */

.category-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 18px;
}

.category-card {

    position: relative;

    overflow: hidden;

    background: var(--light-grey);
}

.category-image {

    height: 390px;

    overflow: hidden;
}

.category-image img {

    transition:
        transform 0.7s ease;
}

.category-card:hover
.category-image img {

    transform: scale(1.05);
}

.category-card h3 {

    position: absolute;

    left: 22px;

    bottom: 22px;

    z-index: 2;

    color: white;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 24px;

    font-weight: 400;

    text-shadow:
        0 2px 12px rgba(0, 0, 0, 0.3);
}


/* Dark image overlay */

.category-card::after {

    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            transparent 45%,
            rgba(0, 0, 0, 0.55)
        );

    pointer-events: none;
}


/* =========================================================
   14. BRANDS
   ========================================================= */

.brands {

    background: #efede8;

    max-width: none;

    width: 100%;

    padding-left: max(40px, calc((100% - 1400px) / 2));

    padding-right: max(40px, calc((100% - 1400px) / 2));
}

.brand-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 15px;
}

.brand-card {

    min-height: 120px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: rgba(255, 255, 255, 0.55);

    border: 1px solid rgba(255, 255, 255, 0.7);

    backdrop-filter: blur(10px);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 20px;

    transition: var(--transition);
}

.brand-card:hover {

    background: white;

    transform: translateY(-4px);

    box-shadow: var(--glass-shadow);
}


/* =========================================================
   15. PRODUCTS
   ========================================================= */

.product-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;
}

.product-card {

    position: relative;

    background: white;

    transition: var(--transition);
}

.product-card:hover {

    transform: translateY(-4px);

    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.07);
}

.product-image {

    position: relative;

    height: 400px;

    overflow: hidden;

    background: #eee;
}

.product-image img {

    transition:
        transform 0.6s ease;
}

.product-card:hover
.product-image img {

    transform: scale(1.04);
}

.product-badge {

    position: absolute;

    top: 15px;
    left: 15px;

    z-index: 2;

    padding: 6px 9px;

    background: white;

    font-size: 9px;

    letter-spacing: 1px;
}

.product-information {

    padding: 18px;
}

.product-brand {

    margin-bottom: 5px;

    color: var(--grey);

    font-size: 10px;

    letter-spacing: 1px;

    text-transform: uppercase;
}

.product-information h3 {

    font-size: 14px;

    font-weight: 400;

    margin-bottom: 10px;
}

.product-price {

    font-size: 14px;

    font-weight: 600;
}


/* =========================================================
   16. NEWSLETTER
   ========================================================= */

.newsletter {

    padding: 110px 20px;

    text-align: center;

    background:
        linear-gradient(
            135deg,
            #eeeae3,
            #f8f6f2
        );
}

.newsletter-content {

    max-width: 650px;

    margin: auto;
}

.newsletter h2 {

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(34px, 5vw, 55px);

    font-weight: 400;

    line-height: 1.1;

    margin-bottom: 20px;
}

.newsletter p {

    color: var(--grey);

    margin-bottom: 30px;
}

.newsletter-form {

    max-width: 550px;

    margin: auto;

    display: flex;

    border-bottom: 1px solid #999;
}

.newsletter-form input {

    flex: 1;

    border: none;

    background: transparent;

    padding: 15px 5px;

    outline: none;
}

.newsletter-form button {

    border: none;

    background: transparent;

    padding: 15px 5px;

    font-size: 10px;

    letter-spacing: 1px;

    font-weight: 600;
}


/* =========================================================
   17. FOOTER
   ========================================================= */

.footer {

    background: var(--black);

    color: white;

    padding-top: 80px;
}

.footer-container {

    width: calc(100% - 80px);

    max-width: var(--container);

    margin: auto;

    display: grid;

    grid-template-columns: 2fr 1fr 1fr 1fr;

    gap: 60px;

    padding-bottom: 70px;
}

.footer-logo {

    font-family: Georgia, "Times New Roman", serif;

    font-size: 22px;

    letter-spacing: 2px;
}

.footer-brand p {

    margin-top: 15px;

    color: #999;

    font-size: 13px;
}

.footer-column {

    display: flex;

    flex-direction: column;

    gap: 11px;
}

.footer-column h3 {

    margin-bottom: 10px;

    font-size: 11px;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}

.footer-column a {

    color: #999;

    font-size: 13px;

    transition: var(--transition);
}

.footer-column a:hover {

    color: white;
}

.footer-bottom {

    padding: 20px 40px;

    text-align: center;

    border-top: 1px solid #333;

    color: #777;

    font-size: 11px;
}


/* =========================================================
   18. MOBILE
   ========================================================= */

@media (max-width: 1100px) {

    .main-navigation {
        gap: 12px;
    }

    .main-navigation a {
        font-size: 10px;
    }

    .category-grid,
    .product-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .brand-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* =========================================================
   19. TABLET / MOBILE
   ========================================================= */

@media (max-width: 850px) {

    .main-header {
        top: 36px;
    }

    .header-container {

        width: calc(100% - 30px);

        margin-top: 15px;

        padding: 12px 15px;

        min-height: 65px;

        justify-content: space-between;
    }

    .mobile-menu-button {
        display: block;
    }

    .main-navigation {
        display: none;
    }

    .logo {
        font-size: 18px;

        letter-spacing: 1.5px;
    }

    .header-actions {
        gap: 0;
    }

    .hero {
        min-height: 720px;
    }

    .hero-content {

        left: 6%;

        right: 6%;

        bottom: 10%;
    }

    .hero-content h1 {
        font-size: 54px;
    }

    .section {

        width: calc(100% - 40px);

        padding: 70px 0;
    }

    .footer-container {

        width: calc(100% - 40px);

        grid-template-columns: 1fr 1fr;

        gap: 45px;
    }
}


/* =========================================================
   20. SMALL MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .announcement-bar {
        font-size: 9px;
    }

    .header-container {
        border-radius: 14px;
    }

    .header-icon {
        width: 34px;
        height: 34px;
    }

    .logo {
        font-size: 16px;
    }

    .hero {
        min-height: 650px;
    }

    .hero-content h1 {
        font-size: 44px;
    }

    .hero-description {
        font-size: 14px;
    }

    .section-header {

        align-items: flex-start;

        flex-direction: column;

        gap: 15px;
    }

    .category-grid,
    .product-grid,
    .brand-grid {
        grid-template-columns: 1fr;
    }

    .category-image {
        height: 420px;
    }

    .product-image {
        height: 420px;
    }

    .newsletter {
        padding: 80px 20px;
    }

    .newsletter-form {
        flex-direction: column;

        border-bottom: none;

        gap: 10px;
    }

    .newsletter-form input {

        border-bottom: 1px solid #999;

        padding: 15px 5px;
    }

    .newsletter-form button {

        background: var(--black);

        color: white;

        padding: 14px;
    }

    .footer-container {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        padding: 20px;
    }
}

/* =========================================================
   PRODUCT CARDS
   ========================================================= */

.product-card {
    position: relative;

    min-width: 0;
}


.product-image {
    position: relative;

    aspect-ratio: 4 / 5;

    overflow: hidden;

    background: #f5f4f1;

    border-radius: 4px;
}


.product-image img {
    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform 0.6s ease;
}


.product-card:hover
.product-image img {
    transform: scale(1.04);
}


/* Product badge */

.product-badge {
    position: absolute;

    top: 14px;

    left: 14px;

    z-index: 2;

    padding: 6px 10px;

    background: #111;

    color: #fff;

    font-size: 9px;

    letter-spacing: 1.5px;

    font-weight: 600;
}


/* Quick add */

.quick-add {
    position: absolute;

    left: 15px;

    right: 15px;

    bottom: 15px;

    padding: 13px;

    border: none;

    background: rgba(255, 255, 255, 0.94);

    backdrop-filter: blur(10px);

    color: #111;

    font-size: 10px;

    font-weight: 600;

    letter-spacing: 1.5px;

    cursor: pointer;

    opacity: 0;

    transform: translateY(10px);

    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}


.product-card:hover .quick-add {

    opacity: 1;

    transform: translateY(0);
}


.quick-add:hover {

    background: #111;

    color: #fff;
}


/* Product information */

.product-information {

    padding-top: 16px;
}


.product-brand {

    margin-bottom: 5px;

    color: #888;

    font-size: 10px;

    text-transform: uppercase;

    letter-spacing: 1.5px;
}


.product-information h3 {

    margin: 0;

    font-size: 14px;

    font-weight: 400;

    color: #111;
}


.product-price {

    display: flex;

    gap: 8px;

    margin-top: 9px;

    font-size: 13px;

    font-weight: 500;
}


.old-price {

    color: #999;

    text-decoration: line-through;
}

.product-image-link {
    display: block;
    width: 100%;
    height: 100%;
}

.product-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

/* =========================================================
   MOBILE NAVIGATION
   Hidden on desktop
========================================================= */

.mobile-navigation {
    display: none;
}


/* =========================================================
   SHOW MOBILE NAVIGATION ONLY ON MOBILE
========================================================= */

@media (max-width: 768px) {

    .mobile-navigation {
        display: flex;
        flex-direction: column;
    }

}

/* =========================================================
   DYNAMIC BRAND CARDS
========================================================= */

.brand-card {
    gap: 14px;
    flex-direction: column;
    padding: 18px;
    text-align: center;
}

.brand-card img {
    width: 82px;
    height: 52px;
    object-fit: contain;
    display: block;
}

.brand-card span {
    display: block;
}


/* =========================================================
   COSMETICS-STYLE CATALOGUE NAVIGATION
   Dynamic menus are generated from Admin products/brands.
========================================================= */
.mega-menu-dynamic { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items:start; }
.mega-menu-dynamic .mega-column { min-width:0; }
.mega-menu-dynamic .mega-column h3 { color:var(--black); font-size:12px; letter-spacing:1.4px; text-transform:uppercase; }
.mega-menu-dynamic .mega-column a { font-size:12px; line-height:1.4; }
.mega-feature-column { border-left:1px solid var(--light-grey); padding-left:28px; }
.mega-brand-menu { grid-template-columns:repeat(4,minmax(0,1fr)); max-height:420px; overflow:auto; }
@media (max-width:1100px){ .mega-menu-dynamic { grid-template-columns:repeat(3,minmax(0,1fr)); } .mega-brand-menu {grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:800px){ .mega-menu-dynamic,.mega-brand-menu {display:none;} }


/* =========================================================
   LIVE FEATURED BRAND LOGOS
   Brand cards are populated from Admin -> Brands.
   Recommended source image: 400 x 200 px PNG.
========================================================= */
#featuredBrandGrid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

#featuredBrandGrid .brand-card {
    min-height: 190px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    text-decoration: none;
    color: inherit;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 8px;
    overflow: hidden;
}

#featuredBrandGrid .brand-logo-wrap {
    width: 100%;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

#featuredBrandGrid .brand-logo-wrap img {
    width: 100%;
    height: 100%;
    max-width: 240px;
    object-fit: contain;
    display: block;
}

#featuredBrandGrid .brand-logo-fallback {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 600;
}

#featuredBrandGrid .brand-name {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
}

#featuredBrandGrid .brands-loading,
#featuredBrandGrid .brands-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 30px;
}

@media (max-width: 900px) {
    #featuredBrandGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
    #featuredBrandGrid { grid-template-columns: 1fr; }
}

/* =========================================================
   DYNAMIC ALL-BRANDS NAVIGATION
   Keeps the existing homepage navbar design unchanged.
========================================================= */
.main-navigation .brands-menu {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    max-height: 460px;
    overflow-y: auto;
}

.main-navigation .brands-menu .mega-column:empty {
    display: none;
}

.main-navigation .brands-menu a {
    white-space: normal;
}

@media (max-width: 900px) {
    .main-navigation .brands-menu {
        grid-template-columns: repeat(3, minmax(140px, 1fr));
    }
}


/* =========================================================
   EVELORA HOUSE — COSMETICS-INSPIRED RETAIL POLISH
   Keeps existing navigation, category images and brand logos.
========================================================= */

:root{
  --retail-cream:#fbfaf7;
  --retail-border:#e7e1d8;
  --retail-muted:#6f6b64;
  --retail-gold:#b99b62;
  --retail-dark:#1d1c1a;
}

body{background:var(--retail-cream);color:var(--retail-dark)}
.announcement-bar{background:#1d1c1a;color:#fff;letter-spacing:.08em;font-size:11px}
.main-header{background:#fff;border-bottom:1px solid var(--retail-border)}
.header-container{max-width:1440px}
.logo{letter-spacing:.16em}
.nav-menu a,.nav-menu button{font-size:13px;letter-spacing:.04em}
.header-icon{color:#1d1c1a}

.section{max-width:1440px;margin-left:auto;margin-right:auto}
.section-header{border-bottom:1px solid var(--retail-border);padding-bottom:18px}
.section-label{letter-spacing:.16em;color:#8a7651;font-size:10px}
.product-grid{gap:22px}
.product-card{background:#fff;border:1px solid #eee9e2;transition:transform .2s ease,box-shadow .2s ease}
.product-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(30,25,15,.08)}
.product-information{padding:16px 16px 20px}
.product-brand{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#8b806f}
.product-information h3{font-size:14px;font-weight:500;line-height:1.45}
.product-price{font-size:14px;font-weight:600}
.product-badge{background:#1d1c1a}

.category-card{background:#fff;border:1px solid #eee9e2}
.category-card:hover{box-shadow:0 10px 28px rgba(30,25,15,.08)}
.category-image{background:#eee9e1}

.footer{background:#1d1c1a;color:#fff}

/* Cosmetics-inspired homepage polish — fixed category images and brand logo assets are preserved. */
.hero-section,.hero{background:#f2efe9}
.hero-content{max-width:700px}
.hero h1,.hero-title{font-weight:500;letter-spacing:-.02em}
.category-section,.categories-section{background:#fbfaf7}
.category-grid{gap:18px}
.category-card{background:#fff;border:1px solid #e8e2d9}
.category-card .category-image img{object-fit:cover}
.category-card .category-name,.category-card h3{letter-spacing:.04em;font-weight:500}
.brands-section,.featured-brands{background:#f5f1e9}
.brand-card{background:#fff;border:1px solid #e4dccf}


/* =========================================================
   EVELORA HOUSE — HOMEPAGE RETAIL FINISH
   Premium grey + soft gold featured brands and 4-up products.
   Existing category images and navigation are preserved.
========================================================= */

.brands#brands {
    position: relative;
    background:
        radial-gradient(circle at 12% 10%, rgba(198,166,103,.16), transparent 30%),
        radial-gradient(circle at 90% 90%, rgba(198,166,103,.10), transparent 28%),
        linear-gradient(135deg, #ecebe8 0%, #f4f1ea 48%, #e8e6e1 100%);
    border-top: 1px solid rgba(198,166,103,.25);
    border-bottom: 1px solid rgba(198,166,103,.25);
}

.brands#brands::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(198,166,103,.06), transparent);
}

.brands#brands .section-header {
    position: relative;
    z-index: 1;
}

#featuredBrandGrid {
    position: relative;
    z-index: 1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

#featuredBrandGrid .brand-card {
    min-height: 205px;
    background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(245,243,238,.92));
    border: 1px solid rgba(198,166,103,.30);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(35,31,24,.045);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

#featuredBrandGrid .brand-card:hover {
    transform: translateY(-5px);
    border-color: rgba(198,166,103,.62);
    box-shadow: 0 16px 34px rgba(35,31,24,.10);
}

#featuredBrandGrid .brand-logo-wrap {
    height: 122px;
    padding: 8px 18px;
}

#featuredBrandGrid .brand-logo-wrap img {
    max-width: 245px;
    object-fit: contain;
}

#featuredBrandGrid .brand-name {
    color: #24221f;
    font-size: 17px;
    letter-spacing: .01em;
}

#featuredBrandGrid .brands-loading,
#featuredBrandGrid .brands-empty {
    color: #716b61;
}

/* Home product cards: clean 4-column luxury retail presentation */
#new-arrivals .product-grid,
#productGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

#new-arrivals .product-card {
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e8e3db;
}

#new-arrivals .product-image {
    height: auto;
    aspect-ratio: 1 / 1.08;
    background: #f7f6f3;
}

#new-arrivals .product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    padding: 16px;
    box-sizing: border-box;
}

#new-arrivals .product-information {
    min-height: 142px;
    padding: 17px 17px 18px;
}

#new-arrivals .quick-add {
    width: 100%;
    margin-top: 13px;
    min-height: 38px;
    border: 1px solid #c6a667;
    background: #fff;
    color: #282621;
    font-size: 10px;
    letter-spacing: .12em;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}

#new-arrivals .quick-add:hover:not(:disabled) {
    background: #c6a667;
    color: #fff;
}

@media (max-width: 1050px) {
    #featuredBrandGrid,
    #new-arrivals .product-grid,
    #productGrid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    #featuredBrandGrid,
    #new-arrivals .product-grid,
    #productGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    #featuredBrandGrid,
    #new-arrivals .product-grid,
    #productGrid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   EVELORA HOUSE - SALE ADVERTISEMENTS
========================================================= */
.sale-ads-section {
    position: relative;
    overflow: hidden;
    padding: 32px 0 42px;
    background: transparent;
    border: 0;
}
.sale-ads-section[hidden] { display: none !important; }
.sale-ads-header {
    max-width: 1180px;
    margin: 0 auto 18px;
    padding: 0 24px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
}
.sale-ads-header h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 3.5vw, 52px);
    font-weight: 400;
    letter-spacing: -.02em;
}
.sale-ads-note {
    color: #8a7651;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .16em;
    white-space: nowrap;
    padding-bottom: 7px;
}
.sale-ads-viewport {
    position: relative;
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 12px 34px rgba(25, 22, 18, .10);
}
.sale-ads-slider {
    display: flex;
    width: 100%;
    transition: transform .85s cubic-bezier(.77,0,.18,1);
    will-change: transform;
}
.sale-ad-item {
    flex: 0 0 100%;
    width: 100%;
    display: block;
    text-decoration: none;
    color: inherit;
}
.sale-ad-card {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f4f1eb;
    border: 0;
    line-height: 0;
}
.sale-ad-card::before {
    content: "";
    position: absolute;
    inset: -28px;
    background-image: var(--sale-banner-bg);
    background-position: center;
    background-size: cover;
    filter: blur(18px);
    transform: scale(1.08);
    opacity: .72;
}
.sale-ad-card img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    max-height: 500px;
    object-fit: contain;
    object-position: center;
    background: transparent;
    transition: transform .5s ease;
}
.sale-ad-item:hover .sale-ad-card img { transform: scale(1.012); }
.sale-ad-overlay { display: none; }
.sale-ad-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 50%;
    background: rgba(255,255,255,.88);
    color: #171717;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(0,0,0,.12);
}
.sale-ad-arrow:hover { background: #fff; }
.sale-ad-prev { left: 18px; }
.sale-ad-next { right: 18px; }
.sale-ad-dots {
    position: absolute;
    left: 50%;
    bottom: 16px;
    transform: translateX(-50%);
    z-index: 5;
    display: flex;
    gap: 7px;
}
.sale-ad-dot {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.65);
    cursor: pointer;
    box-shadow: 0 1px 5px rgba(0,0,0,.15);
}
.sale-ad-dot.active { background: #b7995b; transform: scale(1.35); }
@media (max-width: 700px) {
    .sale-ads-section { padding: 42px 0 50px; }
    .sale-ads-header { padding: 0 20px; }
    .sale-ads-note { display: none; }
    .sale-ads-viewport { width: calc(100% - 24px); border-radius: 2px; }
    .sale-ad-card img { max-height: 300px; }
    .sale-ad-arrow { width: 38px; height: 38px; font-size: 25px; }
    .sale-ad-prev { left: 10px; }
    .sale-ad-next { right: 10px; }
    .sale-ad-overlay { left: 12px; bottom: 12px; max-width: calc(100% - 24px); }
}





/* Medicine category navigation */
.medicine-nav-link {
    white-space: nowrap;
}
