/* Ethan's Appliance Ecommerce UI - clean, warm, premium, responsive */
:root {
    --ea-red: #c94f4f;
    --ea-red-strong: #b54444;
    --ea-red-soft: #fbe8e4;
    --ea-coral: #ee7b67;
    --ea-gold: #d9a441;
    --ea-sage: #6b9080;
    --ea-bg: #faf6ef;
    --ea-bg-soft: #f3eee7;
    --ea-surface: #fffaf4;
    --ea-surface-2: #fef3ea;
    --ea-card: #fffbf7;
    --ea-text: #2d3748;
    --ea-muted: #718096;
    --ea-border: #eadfd4;
    --ea-border-soft: rgba(201, 79, 79, .12);
    --ea-shadow: 0 18px 50px rgba(106, 74, 55, .11);
    --ea-shadow-soft: 0 10px 26px rgba(106, 74, 55, .08);
    --ea-radius-sm: 12px;
    --ea-radius: 20px;
    --ea-radius-lg: 30px;
    --ea-font: 'Inter', 'Outfit', Arial, sans-serif;
    --ea-speed: 260ms;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: var(--ea-font);
    background: radial-gradient(circle at top left, #fff3e8 0, var(--ea-bg) 36%, #f6efe7 100%);
    color: var(--ea-text);
    line-height: 1.6;
    overflow-x: hidden;
}

img { max-width: 100%; display: block; }

a { color: inherit; text-decoration: none; transition: color var(--ea-speed) ease, background var(--ea-speed) ease, border-color var(--ea-speed) ease, transform var(--ea-speed) ease; }
a:hover { text-decoration: none; color: var(--ea-red); }

button, input { font-family: inherit; }

.ea-container {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.ea-skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    transform: translateY(-160%);
    background: var(--ea-red);
    color: #fff7f2;
    padding: 10px 14px;
    border-radius: 999px;
    z-index: 99999;
}
.ea-skip-link:focus { transform: translateY(0); }

.ea-preloader {
    position: fixed;
    inset: 0;
    z-index: 99998;
    display: grid;
    place-items: center;
    background: var(--ea-bg);
    transition: opacity .45s ease, visibility .45s ease;
}
.ea-preloader.is-loaded { opacity: 0; visibility: hidden; }
.ea-preloader__mark {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    color: #fff7f2;
    font-size: 30px;
    font-weight: 900;
    background: linear-gradient(135deg, var(--ea-red), var(--ea-red-strong));
    box-shadow: 0 16px 36px rgba(201, 79, 79, .28);
    animation: eaPulse 1.15s ease-in-out infinite;
}

@keyframes eaPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.08); }
}

/* Header */
.ea-header {
    position: sticky;
    top: 0;
    z-index: 900;
    background: rgba(250, 246, 239, .92);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(234, 223, 212, .75);
    transition: box-shadow var(--ea-speed) ease, transform var(--ea-speed) ease;
}
.ea-header.is-scrolled { box-shadow: 0 12px 34px rgba(106, 74, 55, .10); }

.ea-topbar {
    background: linear-gradient(90deg, #fff0e7, #f7eee5);
    border-bottom: 1px solid rgba(234, 223, 212, .65);
    font-size: 13px;
    color: #5b6472;
}
.ea-topbar__inner,
.ea-header-main__inner,
.ea-nav__inner {
    display: flex;
    align-items: center;
}
.ea-topbar__inner { justify-content: space-between; min-height: 36px; gap: 16px; }
.ea-topbar__left,
.ea-topbar__right { display: flex; align-items: center; gap: 16px; }
.ea-topbar i { color: var(--ea-red); }
.ea-topbar__divider { width: 1px; height: 14px; background: #dccfc2; }
.ea-topbar a { font-weight: 700; }

.ea-header-main { background: rgba(255, 250, 244, .82); }
.ea-header-main__inner { min-height: 96px; gap: 26px; }

.ea-brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: 276px;
}
.ea-brand__image-wrap {
    width: 94px;
    height: 52px;
    border-radius: 12px;
    background: var(--ea-surface);
    border: 1px solid var(--ea-border);
    display: grid;
    place-items: center;
    overflow: hidden;
}
.ea-brand__image { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.ea-brand__text { display: flex; flex-direction: column; line-height: 1; letter-spacing: .03em; }
.ea-brand__text strong { font-size: 25px; font-weight: 900; color: var(--ea-red); }
.ea-brand__text small { margin-top: 8px; color: #4b5563; font-weight: 700; font-size: 12px; letter-spacing: .18em; }

.ea-search {
    flex: 1;
    max-width: 560px;
    display: flex;
    align-items: center;
    background: #f0eef1;
    border-radius: 999px;
    padding: 6px;
    border: 1px solid rgba(226, 216, 207, .8);
    box-shadow: inset 0 1px 0 rgba(255, 250, 244, .85);
}
.ea-search:focus-within {
    border-color: rgba(201, 79, 79, .45);
    box-shadow: 0 0 0 4px rgba(201, 79, 79, .10);
}
.ea-search__input {
    width: 100%;
    border: 0;
    background: transparent;
    outline: 0;
    height: 46px;
    padding: 0 18px;
    color: var(--ea-text);
    font-weight: 600;
}
.ea-search__input::placeholder { color: #9aa3b1; }
.ea-search__button {
    width: 56px;
    height: 46px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--ea-red), var(--ea-red-strong));
    color: #fff7f2;
    display: grid;
    place-items: center;
    box-shadow: 0 10px 24px rgba(201, 79, 79, .22);
}
.ea-search__button:hover { color: #fff7f2; transform: translateY(-1px); }

.ea-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.ea-action {
    min-width: 72px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 10px 12px;
    border-radius: 16px;
    color: #4b5563;
    font-weight: 700;
    font-size: 12px;
}
.ea-action i { font-size: 20px; color: #4b5563; transition: transform var(--ea-speed) ease, color var(--ea-speed) ease; }
.ea-action:hover { background: var(--ea-red-soft); color: var(--ea-red); }
.ea-action:hover i { color: var(--ea-red); transform: translateY(-2px); }
.ea-action--primary { background: var(--ea-red); color: #fff7f2; }
.ea-action--primary i { color: #fff7f2; }
.ea-action--primary:hover { background: var(--ea-red-strong); color: #fff7f2; }
.ea-action--primary:hover i { color: #fff7f2; }

.ea-mobile-toggle {
    display: none;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 14px;
    background: var(--ea-red-soft);
    padding: 12px;
}
.ea-mobile-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 4px;
    background: var(--ea-red);
    margin: 5px 0;
}

.ea-nav {
    background: linear-gradient(90deg, var(--ea-red), var(--ea-red-strong));
    color: #fff7f2;
}
.ea-nav__inner { min-height: 58px; gap: 2px; }
.ea-nav__link {
    height: 58px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0 18px;
    color: #fff7f2;
    font-weight: 800;
    border-radius: 0;
    position: relative;
}
.ea-nav__link:hover,
.ea-nav__link.is-active { color: #fff7f2; background: rgba(255, 250, 244, .15); }
.ea-nav__link--promo span {
    position: absolute;
    top: -10px;
    right: -4px;
    background: #ffd84d;
    color: #673909;
    font-size: 10px;
    line-height: 1;
    padding: 5px 7px;
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(103, 57, 9, .18);
}
.ea-nav__item { position: relative; }
.ea-nav__chev { font-size: 11px; margin-left: 2px; }
.ea-mega {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    min-width: 420px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 16px;
    background: var(--ea-surface);
    border: 1px solid var(--ea-border);
    border-radius: 22px;
    box-shadow: var(--ea-shadow);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity var(--ea-speed) ease, transform var(--ea-speed) ease, visibility var(--ea-speed) ease;
}
.ea-nav__item:hover .ea-mega { opacity: 1; visibility: visible; transform: translateY(0); }
.ea-mega__link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 16px;
    color: var(--ea-text);
    font-weight: 800;
    background: #fff7ef;
    border: 1px solid rgba(234, 223, 212, .65);
}
.ea-mega__link i { color: var(--ea-red); width: 20px; }
.ea-mega__link:hover { background: var(--ea-red-soft); transform: translateY(-2px); }
.ea-mega__link--all { grid-column: 1 / -1; justify-content: center; }

/* Mobile nav */
.ea-mobile-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(45, 55, 72, .34);
    z-index: 950;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--ea-speed) ease, visibility var(--ea-speed) ease;
}
.ea-mobile-backdrop.is-active { opacity: 1; visibility: visible; }
.ea-mobile-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: min(360px, 88vw);
    height: 100vh;
    background: var(--ea-surface);
    z-index: 960;
    transform: translateX(110%);
    transition: transform .32s ease;
    box-shadow: -20px 0 50px rgba(106, 74, 55, .18);
    padding: 18px;
    overflow-y: auto;
}
.ea-mobile-nav.is-active { transform: translateX(0); }
.ea-mobile-nav__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; font-weight: 900; font-size: 18px; }
.ea-mobile-nav__head button {
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 12px;
    background: var(--ea-red-soft);
    color: var(--ea-red);
}
.ea-mobile-nav__search { display: flex; background: #f0eef1; padding: 5px; border-radius: 999px; margin-bottom: 14px; }
.ea-mobile-search-input { flex: 1; border: 0; background: transparent; outline: 0; padding: 0 14px; font-weight: 700; }
.ea-mobile-search-button { width: 42px; height: 42px; border: 0; border-radius: 999px; background: var(--ea-red); color: #fff7f2; }
.ea-mobile-nav > a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 12px;
    border-radius: 14px;
    color: var(--ea-text);
    font-weight: 800;
}
.ea-mobile-nav > a:hover { background: var(--ea-red-soft); }
.ea-mobile-nav__login { background: var(--ea-red) !important; color: #fff7f2 !important; margin-top: 12px; justify-content: center; }

/* Buttons */
.ea-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 0 22px;
    border-radius: 12px;
    border: 1px solid transparent;
    font-weight: 900;
    font-size: 14px;
    transition: transform var(--ea-speed) ease, box-shadow var(--ea-speed) ease, background var(--ea-speed) ease, border-color var(--ea-speed) ease;
}
.ea-btn:hover { transform: translateY(-2px); }
.ea-btn--primary { background: linear-gradient(135deg, var(--ea-red), var(--ea-red-strong)); color: #fff7f2; box-shadow: 0 12px 24px rgba(201, 79, 79, .22); }
.ea-btn--primary:hover { color: #fff7f2; box-shadow: 0 16px 28px rgba(201, 79, 79, .28); }
.ea-btn--soft { background: var(--ea-surface); color: var(--ea-text); border-color: var(--ea-border); }
.ea-btn--soft:hover { background: var(--ea-red-soft); color: var(--ea-red); border-color: rgba(201, 79, 79, .25); }
.ea-btn--outline { background: transparent; color: var(--ea-text); border-color: var(--ea-border); }
.ea-btn--outline:hover { background: var(--ea-red-soft); color: var(--ea-red); border-color: rgba(201, 79, 79, .25); }
.ea-btn--light { background: #fff7f2; color: var(--ea-red); }
.ea-btn--light:hover { color: var(--ea-red-strong); }

/* Hero */
.ea-main { min-height: 60vh; }
.ea-hero {
    position: relative;
    overflow: hidden;
    padding: 54px 0 38px;
    background:
        radial-gradient(circle at 72% 28%, rgba(217, 164, 65, .18), transparent 34%),
        radial-gradient(circle at 20% 10%, rgba(201, 79, 79, .11), transparent 30%),
        linear-gradient(135deg, #fff6ed, #faf6ef 55%, #f5eee8);
    border-bottom: 1px solid var(--ea-border);
}
.ea-hero::before {
    content: "";
    position: absolute;
    inset: auto -180px -220px auto;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: rgba(201, 79, 79, .08);
    filter: blur(2px);
}
.ea-hero__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(380px, 1.05fr);
    align-items: center;
    gap: 42px;
}
.ea-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ea-red);
    background: #fff0e8;
    border: 1px solid rgba(201, 79, 79, .12);
    border-radius: 999px;
    padding: 8px 13px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.ea-hero h1 {
    margin: 20px 0 16px;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.08;
    letter-spacing: -.055em;
    font-weight: 900;
    color: #2b2f38;
}
.ea-hero p {
    max-width: 560px;
    margin: 0;
    color: #5d6676;
    font-size: 17px;
}
.ea-hero__buttons { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.ea-hero-trust {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 36px;
}
.ea-hero-trust span {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 10px;
    align-items: center;
    padding: 12px;
    border-radius: 16px;
    background: rgba(255, 250, 244, .62);
    border: 1px solid rgba(234, 223, 212, .65);
}
.ea-hero-trust i { grid-row: span 2; color: var(--ea-red); font-size: 19px; }
.ea-hero-trust strong { display: block; line-height: 1.1; font-size: 13px; }
.ea-hero-trust small { display: block; color: var(--ea-muted); font-size: 11px; }

.ea-hero__visual { position: relative; min-height: 440px; }
.ea-hero-arc {
    position: absolute;
    inset: 0 0 0 42px;
    border-radius: 999px 0 0 999px;
    background: linear-gradient(135deg, rgba(217, 164, 65, .24), rgba(255, 250, 244, .7));
    border: 1px solid rgba(217, 164, 65, .28);
}
.ea-appliance-stage {
    position: absolute;
    inset: 24px 0 0 0;
    min-height: 410px;
}
.ea-appliance {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
    background: linear-gradient(180deg, #f5f0eb, #dfe4e7);
    color: #4d5663;
    border: 1px solid rgba(204, 196, 188, .8);
    box-shadow: var(--ea-shadow);
    transition: transform .35s ease, box-shadow .35s ease;
    animation: eaFloat 5.5s ease-in-out infinite;
}
.ea-appliance i { font-size: 42px; color: var(--ea-red); }
.ea-appliance span { font-size: 12px; font-weight: 900; max-width: 120px; }
.ea-appliance:hover { transform: translateY(-10px) scale(1.02); box-shadow: 0 24px 60px rgba(106, 74, 55, .15); }
.ea-appliance--fridge { width: 168px; height: 270px; border-radius: 24px; left: 270px; top: 86px; animation-delay: -.4s; }
.ea-appliance--washer { width: 154px; height: 168px; border-radius: 24px; left: 110px; top: 200px; animation-delay: -1.1s; }
.ea-appliance--ac { width: 180px; height: 72px; border-radius: 16px; right: 22px; top: 22px; animation-delay: -1.8s; }
.ea-appliance--tv { width: 170px; height: 116px; border-radius: 14px; right: 74px; top: 172px; animation-delay: -.8s; }
.ea-appliance--fan { width: 96px; height: 170px; border-radius: 50px 50px 18px 18px; right: 14px; top: 260px; animation-delay: -2.2s; }
.ea-plant { position: absolute; left: 58px; top: 128px; color: var(--ea-sage); font-size: 76px; filter: drop-shadow(0 12px 18px rgba(107, 144, 128, .18)); }
.ea-installment-card {
    position: absolute;
    right: 94px;
    bottom: 18px;
    min-width: 172px;
    background: var(--ea-surface);
    border: 1px solid var(--ea-border);
    border-radius: 18px;
    box-shadow: var(--ea-shadow);
    padding: 16px;
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: center;
    gap: 4px 10px;
}
.ea-installment-card i { grid-row: span 2; color: var(--ea-red); font-size: 22px; }
.ea-installment-card strong { color: var(--ea-red); line-height: 1.1; }
.ea-installment-card small { color: var(--ea-muted); font-weight: 700; }

@keyframes eaFloat {
    0%, 100% { translate: 0 0; }
    50% { translate: 0 -9px; }
}

/* Categories */
.ea-category-strip { margin-top: -1px; padding: 22px 0; background: rgba(255, 250, 244, .62); }
.ea-category-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
    background: rgba(255, 250, 244, .72);
    border: 1px solid var(--ea-border);
    border-radius: 24px;
    box-shadow: var(--ea-shadow-soft);
}
.ea-category-card {
    min-height: 112px;
    border-radius: 18px;
    background: linear-gradient(180deg, #fffaf4, #f8f1eb);
    border: 1px solid rgba(234, 223, 212, .9);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px;
    text-align: center;
    font-weight: 900;
    color: #3d4654;
}
.ea-category-card__icon {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: #fff3e8;
    color: var(--ea-red);
    font-size: 22px;
    transition: transform var(--ea-speed) ease, background var(--ea-speed) ease;
}
.ea-category-card__name { font-size: 12px; line-height: 1.25; }
.ea-category-card:hover { transform: translateY(-4px); box-shadow: var(--ea-shadow-soft); color: var(--ea-red); }
.ea-category-card:hover .ea-category-card__icon { transform: scale(1.06) rotate(-2deg); background: var(--ea-red-soft); }
.ea-category-card--all { background: linear-gradient(135deg, #fff0e8, #fae1dc); color: var(--ea-red); }

/* Shared sections */
.ea-section { padding: 44px 0; }
.ea-section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-bottom: 22px;
}
.ea-section-kicker {
    display: inline-block;
    width: 28px;
    height: 3px;
    border-radius: 999px;
    background: var(--ea-red);
    margin-bottom: 10px;
}
.ea-section-head h2,
.ea-brands-section h2 {
    margin: 0;
    font-size: clamp(24px, 3vw, 34px);
    letter-spacing: -.035em;
    font-weight: 900;
    color: #2b2f38;
}
.ea-section-head p { margin: 4px 0 0; color: var(--ea-muted); }

/* Promo / why / branches */
.ea-feature-layout__grid {
    display: grid;
    grid-template-columns: .95fr .75fr 1.25fr;
    gap: 18px;
}
.ea-promo-card,
.ea-why-card,
.ea-branch-map-card {
    min-height: 290px;
    border-radius: 24px;
    border: 1px solid var(--ea-border);
    box-shadow: var(--ea-shadow-soft);
    overflow: hidden;
}
.ea-promo-card {
    padding: 34px;
    color: #fff7f2;
    background:
        radial-gradient(circle at 84% 44%, rgba(255, 255, 255, .24), transparent 20%),
        linear-gradient(135deg, #d63e3f, #b93636 54%, #ec705a);
    position: relative;
}
.ea-promo-card::after {
    content: "%";
    position: absolute;
    right: 22px;
    bottom: -50px;
    font-size: 190px;
    font-weight: 900;
    opacity: .13;
    transform: rotate(-12deg);
}
.ea-promo-card span { display: block; margin-bottom: 14px; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.ea-promo-card h2 { margin: 0; font-size: clamp(38px, 4.3vw, 54px); line-height: .98; font-weight: 900; letter-spacing: -.045em; }
.ea-promo-card p { margin: 18px 0 26px; font-weight: 700; }

.ea-why-card,
.ea-branch-map-card { background: rgba(255, 250, 244, .8); padding: 28px; }
.ea-why-card h2 { margin: 0 0 18px; font-size: 28px; line-height: 1.08; font-weight: 900; letter-spacing: -.035em; }
.ea-why-card h2 span { color: var(--ea-red); }
.ea-why-list { display: grid; gap: 14px; }
.ea-why-list > div { display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: start; }
.ea-why-list i { width: 40px; height: 40px; border-radius: 14px; display: grid; place-items: center; color: var(--ea-red); background: var(--ea-red-soft); }
.ea-why-list p { margin: 0; }
.ea-why-list strong { display: block; line-height: 1.1; }
.ea-why-list small { color: var(--ea-muted); font-weight: 600; }

.ea-section-minihead h2 { margin: 0; font-size: 28px; font-weight: 900; letter-spacing: -.035em; }
.ea-section-minihead p { color: var(--ea-muted); margin: 2px 0 0; }
.ea-branch-map-card { position: relative; background: linear-gradient(135deg, rgba(255, 250, 244, .84), rgba(245, 238, 232, .86)); }
.ea-map-dots {
    position: absolute;
    inset: 86px 28px 82px 28px;
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(234, 223, 212, .52) 25%, transparent 25%) 0 0 / 28px 28px,
        linear-gradient(225deg, rgba(234, 223, 212, .52) 25%, transparent 25%) 0 0 / 28px 28px;
    opacity: .48;
}
.ea-map-dots span { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--ea-red); box-shadow: 0 0 0 7px rgba(201, 79, 79, .11); }
.ea-map-dots span:nth-child(1) { left: 20%; top: 34%; }
.ea-map-dots span:nth-child(2) { left: 60%; top: 45%; }
.ea-map-dots span:nth-child(3) { left: 78%; top: 25%; }
.ea-map-dots span:nth-child(4) { left: 42%; top: 72%; }
.ea-branch-preview {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 72px;
}
.ea-branch-chip {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 9px;
    align-items: center;
    min-height: 78px;
    padding: 12px;
    border-radius: 16px;
    background: rgba(255, 250, 244, .92);
    border: 1px solid var(--ea-border);
    box-shadow: 0 10px 22px rgba(106, 74, 55, .07);
}
.ea-branch-chip i { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: #fff7f2; background: var(--ea-red); }
.ea-branch-chip strong { display: block; font-size: 12px; line-height: 1.1; }
.ea-branch-chip small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--ea-muted); font-size: 10px; line-height: 1.25; }
.ea-branch-btn { position: relative; z-index: 1; margin: 22px auto 0; display: flex; width: max-content; }

/* Products */
.ea-product-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}
.ea-product-card {
    position: relative;
    background: var(--ea-card);
    border: 1px solid var(--ea-border);
    border-radius: 22px;
    box-shadow: 0 8px 22px rgba(106, 74, 55, .06);
    overflow: hidden;
    transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease;
}
.ea-product-card:hover { transform: translateY(-6px); box-shadow: var(--ea-shadow); border-color: rgba(201, 79, 79, .22); }
.ea-product-card__image {
    position: relative;
    display: block;
    aspect-ratio: 1 / .78;
    padding: 18px;
    background: linear-gradient(180deg, #fff6ed, #f2eee9);
    overflow: hidden;
}
.ea-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
    transition: transform .55s ease, filter .55s ease, opacity .35s ease;
}
.ea-product-card:hover .ea-product-card__image img { transform: scale(1.08) translateY(-4px); filter: saturate(1.04) contrast(1.02); }
.is-fallback-image { mix-blend-mode: normal !important; }
.ea-product-card__badges {
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    gap: 6px;
    z-index: 2;
}
.ea-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    color: #fff7f2;
    box-shadow: 0 8px 16px rgba(106, 74, 55, .10);
}
.ea-badge--sale { background: var(--ea-red); }
.ea-badge--new { background: #e76f51; }
.ea-quick-view {
    position: absolute;
    right: 12px;
    bottom: 12px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 0;
    display: grid;
    place-items: center;
    color: var(--ea-red);
    background: rgba(255, 250, 244, .94);
    box-shadow: 0 10px 18px rgba(106, 74, 55, .10);
    opacity: 0;
    transform: translateY(10px) scale(.92);
    transition: opacity var(--ea-speed) ease, transform var(--ea-speed) ease, background var(--ea-speed) ease, color var(--ea-speed) ease;
}
.ea-product-card:hover .ea-quick-view { opacity: 1; transform: translateY(0) scale(1); }
.ea-quick-view:hover { color: #fff7f2; background: var(--ea-red); }
.ea-product-card__body { padding: 18px; position: relative; }
.ea-product-card__category {
    display: block;
    min-height: 16px;
    color: #7b8494;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 8px;
}
.ea-product-card h3 {
    min-height: 46px;
    margin: 0;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 900;
    letter-spacing: -.025em;
}
.ea-product-card h3 a { color: var(--ea-red); }
.ea-product-card h3 a:hover { color: var(--ea-red-strong); }
.ea-product-card p { margin: 7px 0 10px; color: var(--ea-muted); font-size: 13px; font-weight: 700; }
.ea-product-card__price { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-right: 42px; }
.ea-product-card__price strong { color: var(--ea-red); font-size: 18px; font-weight: 900; }
.ea-price-original { color: #a0a8b5; text-decoration: line-through; font-size: 12px; font-weight: 700; }
.ea-price-discount { color: var(--ea-sage); font-size: 11px; font-weight: 900; }
.ea-product-card__cart {
    position: absolute;
    right: 16px;
    bottom: 16px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--ea-red);
    background: var(--ea-red-soft);
}
.ea-product-card__cart:hover { background: var(--ea-red); color: #fff7f2; transform: translateY(-2px); }

/* Benefits */
.ea-benefit-bar { padding: 6px 0 30px; }
.ea-benefit-bar__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: rgba(255, 250, 244, .78);
    border: 1px solid var(--ea-border);
    border-radius: 20px;
    box-shadow: var(--ea-shadow-soft);
    overflow: hidden;
}
.ea-benefit-bar__grid > div {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 12px;
    align-items: center;
    padding: 18px 20px;
    border-right: 1px solid var(--ea-border);
}
.ea-benefit-bar__grid > div:last-child { border-right: 0; }
.ea-benefit-bar i { color: var(--ea-red); font-size: 24px; }
.ea-benefit-bar strong { display: block; font-size: 13px; line-height: 1.1; }
.ea-benefit-bar small { display: block; color: var(--ea-muted); font-size: 11px; }

.ea-empty-state {
    margin-top: 12px;
    text-align: center;
    padding: 42px 20px;
    border-radius: 22px;
    background: var(--ea-surface);
    border: 1px dashed rgba(201, 79, 79, .28);
    color: var(--ea-muted);
}
.ea-empty-state i { color: var(--ea-red); font-size: 40px; margin-bottom: 12px; }
.ea-empty-state h3 { color: var(--ea-text); font-weight: 900; margin: 0 0 4px; }
.ea-empty-state p { margin: 0; }

/* Brands */
.ea-brands-section { padding-top: 30px; }
.ea-brands-section h2 { font-size: 22px; margin-bottom: 16px; }
.ea-brand-marquee {
    overflow: hidden;
    background: rgba(255, 250, 244, .72);
    border: 1px solid var(--ea-border);
    border-radius: 20px;
    box-shadow: var(--ea-shadow-soft);
}
.ea-brand-track {
    width: max-content;
    display: flex;
    gap: 12px;
    padding: 14px;
    animation: eaBrandScroll 28s linear infinite;
}
.ea-brand-marquee:hover .ea-brand-track { animation-play-state: paused; }
.ea-brand-tile {
    min-width: 146px;
    min-height: 58px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: var(--ea-surface);
    border: 1px solid var(--ea-border);
    color: #3561a7;
    font-weight: 900;
    letter-spacing: .02em;
}
@keyframes eaBrandScroll {
    to { transform: translateX(-50%); }
}

/* Footer */
.ea-footer { margin-top: 30px; background: linear-gradient(180deg, #f7eee5, #f0e7df); border-top: 1px solid var(--ea-border); }
.ea-newsletter {
    background: linear-gradient(135deg, var(--ea-red), #d84545 55%, var(--ea-red-strong));
    color: #fff7f2;
}
.ea-newsletter__inner {
    min-height: 112px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}
.ea-newsletter__copy { display: flex; align-items: center; gap: 18px; }
.ea-newsletter__copy > i { font-size: 36px; }
.ea-newsletter h3 { margin: 0; font-size: 22px; font-weight: 900; }
.ea-newsletter p { margin: 4px 0 0; opacity: .88; }
.ea-newsletter__form {
    min-width: min(100%, 480px);
    display: flex;
    gap: 8px;
    padding: 6px;
    border-radius: 14px;
    background: rgba(255, 250, 244, .18);
}
.ea-newsletter__form input {
    flex: 1;
    border: 0;
    outline: 0;
    border-radius: 10px;
    background: #fff7f2;
    padding: 0 16px;
    color: var(--ea-text);
    font-weight: 700;
}
.ea-newsletter__form button {
    border: 0;
    border-radius: 10px;
    padding: 0 20px;
    min-height: 42px;
    background: #fff7f2;
    color: var(--ea-red);
    font-weight: 900;
}
.ea-newsletter__form button:hover { transform: translateY(-1px); }

.ea-footer-main { padding: 54px 0 34px; }
.ea-footer-grid {
    display: grid;
    grid-template-columns: 1.35fr .8fr .9fr 1.1fr;
    gap: 42px;
}
.ea-footer-logo { color: var(--ea-red); font-size: 24px; font-weight: 900; letter-spacing: .08em; line-height: 1; }
.ea-footer-logo span { display: block; color: #4b5563; font-size: 11px; margin-top: 8px; letter-spacing: .32em; }
.ea-footer-brand p { max-width: 270px; color: var(--ea-muted); margin: 22px 0; }
.ea-socials { display: flex; gap: 10px; }
.ea-socials a {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--ea-red);
    background: var(--ea-red-soft);
}
.ea-socials a:hover { color: #fff7f2; background: var(--ea-red); transform: translateY(-3px); }
.ea-footer-col h4 { margin: 0 0 16px; font-size: 15px; font-weight: 900; }
.ea-footer-col > a { display: block; color: #5d6676; margin: 10px 0; font-weight: 700; font-size: 13px; }
.ea-footer-contact p { display: flex; gap: 10px; align-items: flex-start; color: #5d6676; margin: 10px 0; font-weight: 700; font-size: 13px; }
.ea-footer-contact i { color: var(--ea-red); margin-top: 4px; }
.ea-footer-bottom { border-top: 1px solid var(--ea-border); padding: 18px 0; }
.ea-footer-bottom__inner { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.ea-footer-bottom p { margin: 0; color: var(--ea-muted); font-size: 13px; }
.ea-payment-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.ea-payment-badges span { background: var(--ea-surface); border: 1px solid var(--ea-border); border-radius: 8px; padding: 4px 10px; color: #4b5563; font-size: 12px; font-weight: 900; }

.ea-scrolltop {
    position: fixed;
    right: 28px;
    bottom: 28px;
    width: 56px;
    height: 56px;
    border: 0;
    border-radius: 50%;
    color: #fff7f2;
    background: linear-gradient(135deg, var(--ea-red), var(--ea-red-strong));
    box-shadow: 0 16px 34px rgba(201, 79, 79, .32);
    z-index: 850;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity var(--ea-speed) ease, visibility var(--ea-speed) ease, transform var(--ea-speed) ease;
}
.ea-scrolltop.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.ea-scrolltop:hover { transform: translateY(-4px); }

/* Reveal animations */
.ea-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.ea-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Responsive */
@media (max-width: 1140px) {
    .ea-header-main__inner { gap: 16px; }
    .ea-brand { min-width: 230px; }
    .ea-brand__text strong { font-size: 21px; }
    .ea-brand__image-wrap { width: 82px; }
    .ea-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .ea-category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .ea-feature-layout__grid { grid-template-columns: 1fr 1fr; }
    .ea-branch-map-card { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
    .ea-topbar__right { display: none; }
    .ea-topbar__inner { justify-content: center; }
    .ea-header-main__inner { min-height: 82px; }
    .ea-search { order: 3; flex-basis: 100%; max-width: none; margin-bottom: 14px; }
    .ea-header-main__inner { flex-wrap: wrap; }
    .ea-actions, .ea-nav { display: none; }
    .ea-mobile-toggle { display: inline-block; margin-left: auto; }
    .ea-hero__inner { grid-template-columns: 1fr; }
    .ea-hero__visual { min-height: 390px; }
    .ea-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ea-benefit-bar__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ea-benefit-bar__grid > div:nth-child(2) { border-right: 0; }
    .ea-benefit-bar__grid > div:nth-child(1),
    .ea-benefit-bar__grid > div:nth-child(2) { border-bottom: 1px solid var(--ea-border); }
    .ea-newsletter__inner { flex-direction: column; align-items: stretch; padding: 24px 0; }
    .ea-footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
    .ea-container { width: min(100% - 24px, 1180px); }
    .ea-topbar { font-size: 12px; }
    .ea-topbar__left { gap: 10px; }
    .ea-brand { min-width: 0; }
    .ea-brand__image-wrap { width: 72px; height: 46px; }
    .ea-brand__text strong { font-size: 18px; }
    .ea-brand__text small { font-size: 9px; letter-spacing: .15em; }
    .ea-search__input { height: 42px; }
    .ea-search__button { width: 48px; height: 42px; }
    .ea-hero { padding: 34px 0 24px; }
    .ea-hero h1 { font-size: 38px; }
    .ea-hero p { font-size: 15px; }
    .ea-hero-trust { grid-template-columns: 1fr; }
    .ea-hero__visual { min-height: 330px; transform: scale(.86); transform-origin: top center; margin-bottom: -48px; }
    .ea-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px; }
    .ea-section { padding: 34px 0; }
    .ea-section-head { align-items: start; flex-direction: column; }
    .ea-feature-layout__grid { grid-template-columns: 1fr; }
    .ea-promo-card,
    .ea-why-card,
    .ea-branch-map-card { min-height: auto; }
    .ea-branch-preview { grid-template-columns: 1fr; margin-top: 40px; }
    .ea-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .ea-product-card__body { padding: 14px; }
    .ea-product-card h3 { font-size: 14px; min-height: 40px; }
    .ea-product-card__price strong { font-size: 15px; }
    .ea-benefit-bar__grid { grid-template-columns: 1fr; }
    .ea-benefit-bar__grid > div { border-right: 0; border-bottom: 1px solid var(--ea-border); }
    .ea-benefit-bar__grid > div:last-child { border-bottom: 0; }
    .ea-newsletter__copy { align-items: flex-start; }
    .ea-newsletter__form { flex-direction: column; }
    .ea-newsletter__form input { min-height: 44px; }
    .ea-footer-grid { grid-template-columns: 1fr; gap: 28px; }
    .ea-footer-bottom__inner { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 440px) {
    .ea-product-grid { grid-template-columns: 1fr; }
    .ea-hero__buttons .ea-btn { width: 100%; }
    .ea-hero__visual { transform: scale(.72); min-height: 290px; margin-bottom: -84px; }
    .ea-category-grid { grid-template-columns: 1fr; }
    .ea-scrolltop { width: 48px; height: 48px; right: 18px; bottom: 18px; }
}

/* Final motion + image fallback patch */
.ea-product-card__image img,
.ea-gallery-slide img,
.ea-thumb img {
    mix-blend-mode: normal !important;
}

.ea-product-card__image img.is-fallback-image,
.ea-gallery-slide img.is-fallback-image,
.ea-thumb img.is-fallback-image {
    width: 100%;
    height: 100%;
    padding: 0 !important;
    object-fit: cover;
    mix-blend-mode: normal !important;
}

body.ea-motion-ready .ea-product-card,
body.ea-motion-ready .ea-animate-card,
body.ea-motion-ready .ea-category-card,
body.ea-motion-ready .ea-feature-card {
    opacity: 0;
    transform: translateY(24px) scale(.985);
    transition: opacity 720ms cubic-bezier(.16,1,.3,1), transform 720ms cubic-bezier(.16,1,.3,1), box-shadow 320ms ease, border-color 320ms ease;
}

body.ea-motion-ready .ea-product-card.is-visible,
body.ea-motion-ready .ea-animate-card.is-visible,
body.ea-motion-ready .ea-category-card.is-visible,
body.ea-motion-ready .ea-feature-card.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1) rotateX(var(--ea-tilt-x, 0deg)) rotateY(var(--ea-tilt-y, 0deg));
}

.ea-product-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,.28) 45%, transparent 70%);
    transform: translateX(-120%);
    transition: transform 650ms ease;
    pointer-events: none;
}

.ea-product-card:hover .ea-product-card__image::after {
    transform: translateX(120%);
}

.ea-scrolltop {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    body.ea-motion-ready .ea-product-card,
    body.ea-motion-ready .ea-animate-card,
    body.ea-motion-ready .ea-category-card,
    body.ea-motion-ready .ea-feature-card {
        opacity: 1 !important;
        transform: none !important;
    }
}
