:root {
    --emma-v2-ink: #202033;
    --emma-v2-muted: #707080;
    --emma-v2-line: #e8e6ef;
    --emma-v2-orange: #f37030;
    --emma-v2-red: #ee6666;
    --emma-v2-purple: #6948bd;
    --emma-v2-green: #16834b;
    --emma-v2-accent: #ffd33d;
    --emma-v2-soft: #fff9dc;
}

.emma-archive-v2--brands {
    --emma-v2-accent: #2d8fbd;
    --emma-v2-soft: #e7f6fc;
}

.emma-archive-v2--characters {
    --emma-v2-accent: #7b61c9;
    --emma-v2-soft: #f0ecff;
}

.emma-archive-v2 {
    margin: 0;
    color: var(--emma-v2-ink);
    background: var(--emma-v2-soft);
}

.emma-archive-v2 *, .emma-archive-v2 *::before, .emma-archive-v2 *::after { box-sizing: border-box; }
.emma-archive-v2 a { color: inherit; text-decoration: none; }
.emma-archive-v2 button, .emma-archive-v2 input { font: inherit; }
.emma-archive-v2 svg { width: 20px; height: 20px; flex: 0 0 auto; }
.emma-v2-shell {
    width: 100%;
    min-height: 100vh;
    background-color: #f1ebfa;
    background-image: url("bg-emma.png");
    background-position: center top;
    background-size: 1150px auto;
    background-attachment: fixed;
}

.emma-v2-header {
    position: sticky;
    z-index: 50;
    top: 0;
    display: grid;
    grid-template-columns: 262px minmax(280px, 620px) 1fr auto 42px 42px;
    align-items: center;
    gap: 12px;
    min-height: 68px;
    padding: 8px 24px;
    border-bottom: 1px solid var(--emma-v2-line);
    background: rgba(247, 242, 253, .96);
    box-shadow: 0 5px 22px rgba(42, 35, 67, .05);
    backdrop-filter: blur(12px);
}

.emma-v2-logo {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    color: #4c318f !important;
    font-family: "Zilla Slab", Georgia, serif;
    font-size: 35px;
    font-weight: 800;
    line-height: 1;
}
.emma-v2-logo span { position: relative; z-index: 2; }
.emma-v2-logo img { display: none; }
.emma-v2-logo i {
    position: absolute;
    right: -11px;
    bottom: -2px;
    width: 28px;
    height: 9px;
    border-radius: 50%;
    background: #ffd33d;
    transform: rotate(-7deg);
}
.emma-v2-logo::after {
    position: absolute;
    top: -4px;
    right: -20px;
    width: 8px;
    height: 8px;
    content: '';
    border-radius: 50%;
    background: #2d8fbd;
}
.emma-v2-mobile-tools { display: none; }
.emma-v2-menu { display: none; }
.emma-v2-mobile-search { display: none; }
.emma-v2-search {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: 42px;
    padding: 0 13px;
    color: var(--emma-v2-muted);
    text-align: left;
    border: 1px solid #dedce7;
    border-radius: 7px;
    background: rgba(255, 255, 255, .78);
    cursor: pointer;
}
.emma-v2-search span { flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.emma-v2-search > b { display: none; }
.emma-v2-search kbd { padding: 3px 7px; color: #888697; font-size: 10px; border: 1px solid #dedce7; border-radius: 4px; background: #fff; }
.emma-v2-phone { display:inline-flex; align-items:center; justify-content:center; justify-self:end; gap:7px; min-width:132px; height:42px; padding:0 13px; color:#4c318f!important; font-size:11px; font-weight:900; white-space:nowrap; border:1px solid #ded4ef; border-radius:22px; background:#fff; }
.emma-v2-phone svg { width:18px; height:18px; color:var(--emma-v2-orange); }
.emma-v2-phone:hover { border-color:#cfc2e9; color:#6948bd!important; }
.emma-v2-action {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--emma-v2-line);
    border-radius: 50%;
    background: #fff;
}
.emma-v2-action:hover { color: #6948bd; border-color: #cfc2e9; }
.emma-v2-header > .emma-account-dropdown { position: relative; }
.emma-v2-action.emma-account-trigger { cursor: pointer; list-style: none; }
.emma-v2-action.emma-account-trigger::-webkit-details-marker { display: none; }
.emma-account-initials { display: grid; width: 28px; height: 28px; place-items: center; color: #fff; font-size: 11px; font-weight: 900; letter-spacing: 0; border-radius: 50%; background: var(--emma-v2-purple); }
.emma-account-dropdown[open] .emma-v2-action { color: #6948bd; border-color: #cfc2e9; }
.emma-account-dropdown__menu { position: absolute; z-index: 100; top: calc(100% + 10px); right: 0; width: 155px; overflow: hidden; border: 1px solid #e5def0; border-radius: 8px; background: #fff; box-shadow: 0 18px 42px rgba(31, 24, 43, .16); }
.emma-account-dropdown__menu a { display: block; padding: 10px 12px; color: #3b3344; font-size: 12px; font-weight: 800; text-decoration: none; }
.emma-account-dropdown__menu a:hover { color: #6948bd; background: #f6f1fc; }
.emma-v2-cart span {
    position: absolute;
    top: -3px;
    right: -2px;
    display: grid;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    place-items: center;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    border: 2px solid #fff;
    border-radius: 20px;
    background: var(--emma-v2-orange);
}

.emma-v2-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: 58px;
    border-bottom: 1px solid var(--emma-v2-line);
    background: #fdfbff;
}
.emma-v2-tabs a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 0;
    color: #6e6b7b;
    font-size: 10px;
    border-left: 1px solid #f0eff4;
}
.emma-v2-tabs a:last-child { border-right: 1px solid #f0eff4; }
.emma-v2-tab--categories { background: #fff9dc; }
.emma-v2-tab--brands { background: #e7f6fc; }
.emma-v2-tab--characters { background: #f0ecff; }
.emma-v2-tabs a::after { position: absolute; right: 12%; bottom: -1px; left: 12%; height: 3px; content: ''; background: transparent; }
.emma-v2-tabs a.is-active { color: var(--emma-v2-ink); font-weight: 800; filter: saturate(1.25); }
.emma-archive-v2--brands .emma-v2-tabs a.is-active,
.emma-archive-v2--characters .emma-v2-tabs a.is-active { color: #fff; background: var(--emma-v2-accent); }
.emma-archive-v2--brands .emma-v2-tabs a.is-active span,
.emma-archive-v2--characters .emma-v2-tabs a.is-active span { color: #fff; background: rgba(255,255,255,.2); }
.emma-v2-tabs a.is-active::after { background: var(--emma-v2-accent); }
.emma-v2-tabs svg { width: 15px; height: 15px; }
.emma-v2-tabs strong { overflow: hidden; max-width: 76px; text-overflow: ellipsis; white-space: nowrap; }
.emma-v2-tabs span { flex: 0 0 auto; padding: 1px 5px; color: #595568; font-size: 9px; font-weight: 800; border-radius: 20px; background: #efedf4; }

.emma-v2-layout { display: grid; grid-template-columns: 298px minmax(0, 1fr); min-height: calc(100vh - 68px); }
.emma-v2-sidebar {
    position: sticky;
    top: 68px;
    align-self: start;
    height: calc(100vh - 68px);
    overflow: hidden;
    border-right: 1px solid var(--emma-v2-line);
    background: rgba(255, 251, 235, .95);
}
.emma-archive-v2--brands .emma-v2-sidebar { background: rgba(235, 249, 255, .96); }
.emma-archive-v2--characters .emma-v2-sidebar { background: rgba(241, 237, 255, .96); }
.emma-v2-sidebar__head { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 77px; padding: 12px 16px; overflow: hidden; border-bottom: 1px solid var(--emma-v2-line); background: var(--emma-v2-accent); }
.emma-v2-sidebar__head::after { position: absolute; right: -25px; bottom: -42px; width: 92px; height: 92px; content: ''; pointer-events: none; border: 12px solid rgba(255,255,255,.47); border-radius: 50%; }
.emma-v2-sidebar__head span { display: block; margin-bottom: 2px; color: var(--emma-v2-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.emma-v2-sidebar__head h2 { margin: 0; font-size: 24px; line-height: 1.05; }
.emma-v2-sidebar__head h2 small { display: inline-grid; min-width: 24px; height: 24px; margin-left: 4px; padding: 0 6px; place-items: center; vertical-align: 3px; color: #4a4451; font-family: "Nunito Sans", Arial, sans-serif; font-size: 10px; font-weight: 900; border-radius: 20px; background: rgba(255,255,255,.7); }
.emma-archive-v2--brands .emma-v2-sidebar__head h2 small,
.emma-archive-v2--characters .emma-v2-sidebar__head h2 small { color: #fff; background: rgba(255,255,255,.2); }
.emma-archive-v2--brands .emma-v2-sidebar__head,
.emma-archive-v2--characters .emma-v2-sidebar__head { color: #fff; }
.emma-archive-v2--brands .emma-v2-sidebar__head span,
.emma-archive-v2--characters .emma-v2-sidebar__head span,
.emma-archive-v2--brands .emma-v2-sidebar__head button,
.emma-archive-v2--characters .emma-v2-sidebar__head button { color: #fff; }
.emma-v2-sidebar__head button { position: relative; z-index: 2; display: none; border: 0; background: none; font-size: 28px; cursor: pointer; }
.emma-v2-term-list { height: calc(100% - 135px); padding: 8px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--emma-v2-accent) transparent; }
.emma-v2-term {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 9px;
    min-height: 62px;
    padding: 6px 8px;
    border-bottom: 1px solid #f1eff4;
    border-radius: 6px;
}
.emma-v2-term { background: rgba(255, 255, 255, .44); }
.emma-v2-term:nth-child(3n+2) { background: rgba(255, 255, 255, .7); }
.emma-v2-term:hover { background: rgba(255,255,255,.95); }
.emma-v2-term.is-active { background: #fff; box-shadow: inset 4px 0 #f37030, 0 5px 15px rgba(74, 54, 105, .07); }
.emma-v2-term__images { display: flex; align-items: center; min-width: 78px; }
.emma-v2-term__images img { width: 40px; height: 40px; margin-left: -17px; object-fit: contain; border: 2px solid #fff; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(30, 25, 48, .1); }
.emma-v2-term__images img:first-child { margin-left: 0; }
.emma-v2-term__images .emma-v2-term__brand-logo { padding: 5px; }
.emma-v2-term__all { display: grid; width: 42px; height: 42px; margin-left: 1px; place-items: center; color: #2e2b38; border-radius: 50%; background: var(--emma-v2-accent); }
.emma-archive-v2--brands .emma-v2-term__all,
.emma-archive-v2--characters .emma-v2-term__all { color: #fff; }
.emma-v2-term__copy { min-width: 0; }
.emma-v2-term__copy strong { display: block; overflow: hidden; font-size: 12px; line-height: 1.2; white-space: nowrap; text-overflow: ellipsis; }
.emma-v2-term__copy small { display: block; margin-top: 3px; color: var(--emma-v2-muted); font-size: 10px; }
.emma-v2-term > b { display: flex; color: #aaa7b4; }
.emma-v2-term > b svg { width: 15px; height: 15px; }

.emma-v2-main { position: relative; min-width: 0; padding: 18px 22px 36px; overflow: hidden; isolation: isolate; background: rgba(250, 248, 253, .76); }
.emma-v2-main::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    content: '';
    background-image: url("bg-emma.png");
    background-position: center;
    background-size: cover;
    opacity: .14;
    transform: rotate(180deg);
}
.emma-v2-main::after {
    position: absolute;
    z-index: -1;
    top: 105px;
    right: -105px;
    width: 230px;
    height: 230px;
    content: '';
    border: 38px solid rgba(110, 193, 228, .25);
    border-radius: 50%;
}
.emma-v2-decor { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.emma-v2-decor i { position: absolute; display: block; border-radius: 50%; }
.emma-v2-decor i:nth-child(1) { top: 19px; right: 14%; width: 27px; height: 27px; background: rgba(255, 211, 61, .75); }
.emma-v2-decor i:nth-child(2) { top: 68px; right: 8%; width: 13px; height: 13px; background: rgba(238, 102, 102, .65); }
.emma-v2-decor i:nth-child(3) { bottom: 8%; left: -55px; width: 126px; height: 126px; border: 22px solid rgba(123, 97, 201, .15); }
.emma-v2-decor i:nth-child(4) { right: 29%; bottom: 18px; width: 18px; height: 18px; background: rgba(56, 168, 117, .36); }
.emma-v2-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.emma-v2-heading > div > span { display: block; margin-bottom: 3px; color: var(--emma-v2-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.emma-v2-heading h1 { margin: 0; color: #4c318f; font-family: "Zilla Slab", Georgia, serif; font-size: clamp(24px, 2.2vw, 32px); font-weight: 800; line-height: 1.1; }
.emma-v2-desktop-filter { display: inline-flex; min-height: 40px; margin-left: auto; padding: 0 15px; align-items: center; justify-content: center; gap: 8px; color: #4c318f; font-size: 11px; font-weight: 900; border: 1px solid #d8cdeb; border-radius: 7px; background: #fff; box-shadow: 0 5px 14px rgba(71,53,100,.06); cursor: pointer; }
.emma-v2-desktop-filter:hover { color: #fff; border-color: var(--emma-v2-purple); background: var(--emma-v2-purple); }
.emma-v2-desktop-filter svg { width: 17px; height: 17px; }
.emma-v2-heading > strong { padding: 7px 11px; color: var(--emma-v2-ink); font-size: 22px; white-space: nowrap; border: 1px solid rgba(76,49,143,.1); border-radius: 7px; background: var(--emma-v2-accent); box-shadow: 4px 4px 0 rgba(76,49,143,.09); }
.emma-v2-heading > strong small { color: var(--emma-v2-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.emma-archive-v2--brands .emma-v2-heading > strong,
.emma-archive-v2--characters .emma-v2-heading > strong,
.emma-archive-v2--brands .emma-v2-heading > strong small,
.emma-archive-v2--characters .emma-v2-heading > strong small { color: #fff; }

.emma-v2-ages { display: flex; align-items: stretch; min-height: 42px; margin-bottom: 14px; overflow: hidden; border: 1px solid rgba(94, 72, 130, .13); border-radius: 7px; background: rgba(255, 255, 255, .78); box-shadow: 0 6px 18px rgba(71, 53, 100, .05); }
.emma-v2-ages > strong { display: flex; align-items: center; padding: 0 14px; color: #2e2b38; font-size: 11px; white-space: nowrap; background: var(--emma-v2-accent); }
.emma-archive-v2--brands .emma-v2-ages > strong,
.emma-archive-v2--characters .emma-v2-ages > strong { color: #fff; }
.emma-v2-ages__list { display: flex; flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.emma-v2-ages__list a { display: inline-flex; flex: 1 0 auto; align-items: center; justify-content: center; gap: 4px; min-width: 63px; padding: 0 8px; color: #646171; font-size: 10px; font-weight: 750; border-right: 1px solid #eeeef2; }
.emma-v2-ages__list a:hover { background: #faf9fc; }
.emma-v2-ages__list a.is-active { color: #24212d; background: var(--emma-v2-soft); box-shadow: inset 0 -3px var(--emma-v2-accent); }
.emma-v2-ages__list svg { width: 13px; height: 13px; }
.emma-v2-chooser { display: none; }

.emma-v2-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.emma-v2-product { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--emma-v2-line); border-radius: 8px; background: #fff; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.emma-v2-product::before { display: none; }
.emma-v2-product:hover { transform: translateY(-3px); border-color: #d5c8e9; box-shadow: 0 15px 30px rgba(62,43,94,.09); }
.emma-v2-product.is-out { opacity: .7; }
.emma-v2-product__media { position: relative; display: block; aspect-ratio: 1.18 / 1; overflow: hidden; padding: 14px; background: #fff; }
.emma-v2-product__media > a { display: block; width: 100%; height: 100%; }
.emma-v2-product__media img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .2s ease; }
.emma-v2-product:hover .emma-v2-product__media img { transform: scale(1.035); }
.emma-v2-product__badges { position: absolute; top: 12px; left: 12px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.emma-v2-stock, .emma-v2-sale { padding: 5px 8px; color: #145f3a; font-size: 10px; font-weight: 900; border: 1px solid #bee3ce; border-radius: 6px; background: rgba(242, 255, 247, .94); }
.emma-v2-sale { color: #fff; border-color: var(--emma-v2-red); background: var(--emma-v2-red); }
.emma-v2-zoom { position: absolute; top: 12px; right: 12px; display: grid; width: 34px; height: 34px; padding: 0; place-items: center; color: #4c4857; border: 1px solid #e2e0e8; border-radius: 50%; background: rgba(255,255,255,.94); cursor: pointer; }
.emma-v2-zoom:hover { color: var(--emma-v2-orange); }
.emma-v2-zoom svg { width: 15px; height: 15px; }
.emma-v2-product__body { padding: 15px; background: #fff; }
.emma-v2-product__category { display: block; overflow: hidden; color: var(--emma-v2-purple); font-size: 9px; font-weight: 900; letter-spacing: .05em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.emma-v2-product__title { display: block; color: inherit; }
.emma-v2-product__title h3 { display: -webkit-box; min-height: 40px; margin: 6px 0 15px; overflow: hidden; color: #38323e; font-family: "Zilla Slab", Georgia, serif; font-size: 15px; font-weight: 700; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.emma-v2-product__title:hover h3 { color: var(--emma-v2-orange); }
.emma-v2-product__bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.emma-v2-product__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px; color: #28222d; font-family: "Zilla Slab", Georgia, serif; font-size: 16px; font-weight: 800; line-height: 1.1; }
.emma-v2-product__price del { color: #9a929f; font-family: "Nunito Sans", Arial, sans-serif; font-size: 10px; font-weight: 700; }
.emma-v2-product__price ins { color: var(--emma-v2-red); text-decoration: none; }
.emma-v2-qty { position:absolute; top:52px; right:12px; display:inline-flex; align-items:center; gap:4px; min-width:34px; min-height:25px; padding:4px 7px; justify-content:center; color:#4f4858; font-size:10px; font-weight:900; border:1px solid #e2e0e8; border-radius:999px; background:rgba(255,255,255,.95); box-shadow:0 6px 16px rgba(35,28,48,.08); }
.emma-v2-qty svg { width:13px; height:13px; color:var(--emma-v2-purple); }
.emma-v2-qty span { white-space: nowrap; }
.emma-v2-qty--low { color:#8a5b00; border-color:#e8b82d; background:#fff8dc; }
.emma-v2-qty--low svg { color:#a86b00; }
.emma-v2-qty--out { color:#9f1d2d; border-color:#f1a8b1; background:#fff1f3; }
.emma-v2-qty--out svg { color:#c93449; }
.emma-v2-add { display: grid; flex: 0 0 38px; width: 38px; height: 38px; padding: 0; place-items: center; color: #37302a !important; border-radius: 50%; background: var(--emma-v2-accent); }
.emma-archive-v2--brands .emma-v2-add,
.emma-archive-v2--characters .emma-v2-add { color: #fff !important; }
.emma-v2-add:hover { color: #fff !important; background: var(--emma-v2-orange); }
.emma-v2-add svg { width: 18px; height: 18px; }
.emma-v2-add.is-disabled { color: #77737f !important; background: #eeeef1; }

.emma-v2-pagination { display: flex; justify-content: center; margin-top: 25px; }
.emma-v2-pagination ul { display: flex; align-items: center; gap: 5px; margin: 0; padding: 5px; list-style: none; border: 1px solid var(--emma-v2-line); border-radius: 7px; background: #fff; }
.emma-v2-pagination a, .emma-v2-pagination span { display: grid; min-width: 34px; height: 34px; padding: 0 7px; place-items: center; font-size: 12px; font-weight: 800; border-radius: 5px; }
.emma-v2-pagination a:hover { background: #f3f1f7; }
.emma-v2-pagination .current { color: #2d2935; background: var(--emma-v2-accent); }
.emma-archive-v2--brands .emma-v2-pagination .current,
.emma-archive-v2--characters .emma-v2-pagination .current { color: #fff; }
.emma-v2-empty { padding: 70px 20px; text-align: center; border: 1px dashed #d9d5e1; border-radius: 7px; background: #fff; }
.emma-v2-empty strong { font-size: 18px; }
.emma-v2-empty p { color: var(--emma-v2-muted); }

.emma-v2-lightbox[hidden] { display: none; }
.emma-v2-lightbox { position: fixed; z-index: 1100; inset: 0; display: grid; padding: 30px; place-items: center; background: rgba(24, 20, 35, .82); backdrop-filter: blur(6px); }
.emma-v2-lightbox img { width: min(760px, 88vw); height: min(760px, 82vh); object-fit: contain; border-radius: 7px; background: #fff; box-shadow: 0 30px 80px rgba(0,0,0,.28); }
.emma-v2-lightbox button { position: fixed; top: 20px; right: 24px; width: 42px; height: 42px; color: #fff; font-size: 30px; line-height: 1; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(0,0,0,.25); cursor: pointer; }
.emma-v2-filters, .emma-v2-filter-backdrop { display: none; }
.emma-v2-filter-backdrop[hidden] { display: none !important; }
.emma-v2-filter-backdrop { position: fixed; z-index: 1090; inset: 0; display: block; background: rgba(25,20,34,.48); backdrop-filter: blur(3px); }
.emma-v2-filters { position: fixed; z-index: 1100; top: 0; right: 0; bottom: 0; display: flex; width: min(360px, 90vw); flex-direction: column; background: #fff; box-shadow: -20px 0 55px rgba(28,22,39,.24); transform: translateX(105%); transition: transform .2s ease; }
.emma-v2-filters.is-open { transform: translateX(0); }
.emma-v2-filters > header { position: relative; display: flex; min-height: 82px; padding: 15px 17px; overflow: hidden; align-items: center; justify-content: space-between; background: var(--emma-v2-accent); }
.emma-v2-filters > header::after { position: absolute; right: -30px; bottom: -48px; width: 105px; height: 105px; content: ''; pointer-events: none; border: 16px solid rgba(255,255,255,.3); border-radius: 50%; }
.emma-v2-filters > header span { display: block; margin-bottom: 2px; color: rgba(39,34,47,.65); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.emma-v2-filters > header h2 { margin: 0; color: #29242f; font-family: "Zilla Slab",Georgia,serif; font-size: 23px; font-weight: 800; }
.emma-archive-v2--brands .emma-v2-filters > header span, .emma-archive-v2--characters .emma-v2-filters > header span { color: rgba(255,255,255,.72); }
.emma-archive-v2--brands .emma-v2-filters > header h2, .emma-archive-v2--characters .emma-v2-filters > header h2 { color: #fff; }
.emma-v2-filters > header button { position: relative; z-index: 2; display: grid; width: 38px; height: 38px; padding: 0; place-items: center; color: #332d39; font-size: 25px; border: 1px solid rgba(50,42,58,.15); border-radius: 50%; background: rgba(255,255,255,.72); cursor: pointer; }
.emma-v2-filters form { display: flex; min-height: 0; padding: 16px; overflow-y: auto; flex: 1; flex-direction: column; gap: 14px; }
.emma-v2-filter-video { display: grid; grid-template-columns: 20px 38px minmax(0,1fr); min-height: 65px; padding: 10px; align-items: center; gap: 9px; border: 1px solid #e2ddea; border-radius: 8px; background: #faf8fc; cursor: pointer; }
.emma-v2-filter-video input { width: 18px; height: 18px; margin: 0; accent-color: var(--emma-v2-purple); }
.emma-v2-filter-video i { display: grid; width: 36px; height: 36px; place-items: center; color: var(--emma-v2-purple); border-radius: 50%; background: #eee8fa; }
.emma-v2-filter-video i svg { width: 18px; height: 18px; }
.emma-v2-filter-video strong, .emma-v2-filter-video small { display: block; }
.emma-v2-filter-video strong { color: #342e3b; font-size: 11px; }
.emma-v2-filter-video small { margin-top: 2px; color: #77717d; font-size: 9px; line-height: 1.3; }
.emma-v2-filter-sort { padding: 14px; border: 1px solid #e2ddea; border-radius: 8px; background: #fff; }
.emma-v2-filter-sort > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.emma-v2-filter-sort > div:first-child span { color: #77717d; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.emma-v2-filter-sort > div:first-child strong { color: #39333f; font-size: 10px; }
.emma-v2-filter-sort__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.emma-v2-filter-sort__grid label { min-width: 0; cursor: pointer; }
.emma-v2-filter-sort__grid input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.emma-v2-filter-sort__grid label > span { display: flex; min-height: 36px; padding: 6px 7px; align-items: center; justify-content: center; color: #5d5664; font-size: 9px; font-weight: 900; line-height: 1.15; text-align: center; border: 1px solid #e2ddea; border-radius: 6px; background: #faf8fc; }
.emma-v2-filter-sort__grid input:checked + span { color: #302a36; border-color: var(--emma-v2-accent); background: var(--emma-v2-accent); }
.emma-archive-v2--brands .emma-v2-filter-sort__grid input:checked + span,
.emma-archive-v2--characters .emma-v2-filter-sort__grid input:checked + span { color: #fff; }
.emma-v2-filter-ages { padding: 14px; border: 1px solid #e2ddea; border-radius: 8px; background: #fff; }
.emma-v2-filter-ages > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.emma-v2-filter-ages > div:first-child span { color: #77717d; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.emma-v2-filter-ages > div:first-child strong { color: #39333f; font-size: 10px; }
.emma-v2-filter-ages__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.emma-v2-filter-ages__grid label { min-width: 0; cursor: pointer; }
.emma-v2-filter-ages__grid input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.emma-v2-filter-ages__grid label > span { display: flex; min-height: 34px; padding: 5px; align-items: center; justify-content: center; gap: 3px; overflow: hidden; color: #5d5664; font-size: 9px; font-weight: 900; text-align: center; text-overflow: ellipsis; white-space: nowrap; border: 1px solid #e2ddea; border-radius: 6px; background: #faf8fc; }
.emma-v2-filter-ages__grid svg { display: none; width: 13px; height: 13px; }
.emma-v2-filter-ages__grid input:checked + span { color: #302a36; border-color: var(--emma-v2-accent); background: var(--emma-v2-accent); }
.emma-v2-filter-ages__grid input:checked + span svg { display: block; }
.emma-archive-v2--brands .emma-v2-filter-ages__grid input:checked + span, .emma-archive-v2--characters .emma-v2-filter-ages__grid input:checked + span { color: #fff; }
.emma-v2-filter-price { padding: 14px; border: 1px solid #e2ddea; border-radius: 8px; background: #fff; }
.emma-v2-filter-price > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
.emma-v2-filter-price > div:first-child span { color: #6d6673; font-size: 10px; font-weight: 800; }
.emma-v2-filter-price > div:first-child strong { color: var(--emma-v2-purple); font-size: 11px; white-space: nowrap; }
.emma-v2-filter-price label { display: block; margin-top: 12px; }
.emma-v2-filter-price label > span { display: block; margin-bottom: 4px; color: #46404d; font-size: 9px; font-weight: 900; }
.emma-v2-filter-price input[type="range"] { width: 100%; height: 5px; margin: 5px 0; accent-color: var(--emma-v2-accent); cursor: pointer; }
.emma-v2-filter-price__limits { display: flex; justify-content: space-between; margin-top: 8px; color: #89838e; font-size: 8px; font-weight: 800; }
.emma-v2-filter-actions { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8px; margin-top: auto; padding-top: 14px; }
.emma-v2-filter-actions a, .emma-v2-filter-actions button { display: flex; min-height: 44px; padding: 0 10px; align-items: center; justify-content: center; font-size: 10px; font-weight: 900; border-radius: 7px; }
.emma-v2-filter-actions a { color: var(--emma-v2-purple); border: 1px solid #d8cdeb; background: #fff; }
.emma-v2-filter-actions button { color: #302a36; border: 0; background: var(--emma-v2-accent); cursor: pointer; }
.emma-archive-v2--brands .emma-v2-filter-actions button, .emma-archive-v2--characters .emma-v2-filter-actions button { color: #fff; }

@media (max-width: 1180px) {
    .emma-v2-header { grid-template-columns: 262px minmax(240px, 1fr) auto 42px 42px; }
    .emma-v2-phone { display: none; }
    .emma-v2-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
    .emma-v2-desktop-filter { display: none; }
    .emma-v2-header { display: flex; min-height: 68px; padding: 5px 12px; overflow: visible; }
    .emma-v2-mobile-tools { display: flex; flex: 0 0 auto; align-items: center; }
    .emma-v2-menu { display: grid; width: 42px; height: 42px; padding: 0; place-items: center; border: 1px solid var(--emma-v2-line); border-radius: 7px; background: #fff; }
    .emma-v2-menu { border-right: 0; border-radius: 7px 0 0 7px; }
    .emma-v2-mobile-search { display: grid; width: 42px; height: 42px; padding: 0; place-items: center; color: #4c318f; border: 1px solid var(--emma-v2-line); border-radius: 0 7px 7px 0; background: transparent; }
    .emma-v2-mobile-search:hover { color: #6948bd; background: #faf8fc; }
    .emma-v2-logo { position: absolute; z-index: 3; top: 50%; left: 50%; width: 180px; min-width: 0; font-size: 30px; transform: translate(-50%, -38%); pointer-events: auto; }
    .emma-v2-logo span, .emma-v2-logo i, .emma-v2-logo::after { display: none; }
    .emma-v2-logo img { display: block; width: 100%; height: 64px; object-fit: contain; object-position: center; }
    .emma-v2-search { display: none; }
    .emma-v2-header > .emma-v2-action:not(.emma-v2-cart), .emma-v2-header > .emma-account-dropdown { margin-left: auto; }
    .emma-v2-layout { grid-template-columns: 1fr; }
    .emma-v2-sidebar { position: fixed; z-index: 100; top: 0; bottom: 0; left: 0; width: min(320px, 88vw); height: 100vh; transform: translateX(-105%); box-shadow: 20px 0 50px rgba(20, 18, 28, .22); transition: transform .2s ease; }
    .emma-v2-sidebar.is-open { transform: translateX(0); }
    .emma-v2-sidebar__head button { display: block; }
    .emma-v2-filter-backdrop { position: fixed; z-index: 1090; inset: 0; display: block; background: rgba(25,20,34,.48); backdrop-filter: blur(3px); }
    .emma-v2-filters { position: fixed; z-index: 1100; top: 0; right: 0; bottom: 0; display: flex; width: min(340px, 90vw); flex-direction: column; background: #fff; box-shadow: -20px 0 55px rgba(28,22,39,.24); transform: translateX(105%); transition: transform .2s ease; }
    .emma-v2-filters.is-open { transform: translateX(0); }
    .emma-v2-filters > header { position: relative; display: flex; min-height: 82px; padding: 15px 17px; overflow: hidden; align-items: center; justify-content: space-between; background: var(--emma-v2-accent); }
    .emma-v2-filters > header::after { position: absolute; right: -30px; bottom: -48px; width: 105px; height: 105px; content: ''; pointer-events: none; border: 16px solid rgba(255,255,255,.3); border-radius: 50%; }
    .emma-v2-filters > header span { display: block; margin-bottom: 2px; color: rgba(39,34,47,.65); font-size: 9px; font-weight: 900; text-transform: uppercase; }
    .emma-v2-filters > header h2 { margin: 0; color: #29242f; font-family: "Zilla Slab",Georgia,serif; font-size: 23px; font-weight: 800; }
    .emma-archive-v2--brands .emma-v2-filters > header span, .emma-archive-v2--characters .emma-v2-filters > header span { color: rgba(255,255,255,.72); }
    .emma-archive-v2--brands .emma-v2-filters > header h2, .emma-archive-v2--characters .emma-v2-filters > header h2 { color: #fff; }
    .emma-v2-filters > header button { position: relative; z-index: 2; display: grid; width: 38px; height: 38px; padding: 0; place-items: center; color: #332d39; font-size: 25px; border: 1px solid rgba(50,42,58,.15); border-radius: 50%; background: rgba(255,255,255,.72); }
    .emma-v2-filters form { display: flex; min-height: 0; padding: 16px; overflow-y: auto; flex: 1; flex-direction: column; gap: 14px; }
    .emma-v2-filter-video { display: grid; grid-template-columns: 20px 38px minmax(0,1fr); min-height: 65px; padding: 10px; align-items: center; gap: 9px; border: 1px solid #e2ddea; border-radius: 8px; background: #faf8fc; cursor: pointer; }
    .emma-v2-filter-video input { width: 18px; height: 18px; margin: 0; accent-color: var(--emma-v2-purple); }
    .emma-v2-filter-video i { display: grid; width: 36px; height: 36px; place-items: center; color: var(--emma-v2-purple); border-radius: 50%; background: #eee8fa; }
    .emma-v2-filter-video i svg { width: 18px; height: 18px; }
    .emma-v2-filter-video strong, .emma-v2-filter-video small { display: block; }
    .emma-v2-filter-video strong { color: #342e3b; font-size: 11px; }
    .emma-v2-filter-video small { margin-top: 2px; color: #77717d; font-size: 9px; line-height: 1.3; }
    .emma-v2-filter-ages { padding: 14px; border: 1px solid #e2ddea; border-radius: 8px; background: #fff; }
    .emma-v2-filter-ages > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
    .emma-v2-filter-ages > div:first-child span { color: #77717d; font-size: 9px; font-weight: 900; text-transform: uppercase; }
    .emma-v2-filter-ages > div:first-child strong { color: #39333f; font-size: 10px; }
    .emma-v2-filter-ages__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
    .emma-v2-filter-ages__grid label { min-width: 0; cursor: pointer; }
    .emma-v2-filter-ages__grid input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .emma-v2-filter-ages__grid label > span { display: flex; min-height: 34px; padding: 5px; align-items: center; justify-content: center; gap: 3px; overflow: hidden; color: #5d5664; font-size: 9px; font-weight: 900; text-align: center; text-overflow: ellipsis; white-space: nowrap; border: 1px solid #e2ddea; border-radius: 6px; background: #faf8fc; }
    .emma-v2-filter-ages__grid svg { display: none; width: 13px; height: 13px; }
    .emma-v2-filter-ages__grid input:checked + span { color: #302a36; border-color: var(--emma-v2-accent); background: var(--emma-v2-accent); }
    .emma-v2-filter-ages__grid input:checked + span svg { display: block; }
    .emma-archive-v2--brands .emma-v2-filter-ages__grid input:checked + span, .emma-archive-v2--characters .emma-v2-filter-ages__grid input:checked + span { color: #fff; }
    .emma-v2-filter-price { padding: 14px; border: 1px solid #e2ddea; border-radius: 8px; background: #fff; }
    .emma-v2-filter-price > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
    .emma-v2-filter-price > div:first-child span { color: #6d6673; font-size: 10px; font-weight: 800; }
    .emma-v2-filter-price > div:first-child strong { color: var(--emma-v2-purple); font-size: 11px; white-space: nowrap; }
    .emma-v2-filter-price label { display: block; margin-top: 12px; }
    .emma-v2-filter-price label > span { display: block; margin-bottom: 4px; color: #46404d; font-size: 9px; font-weight: 900; }
    .emma-v2-filter-price input[type="range"] { width: 100%; height: 5px; margin: 5px 0; accent-color: var(--emma-v2-accent); cursor: pointer; }
    .emma-v2-filter-price__limits { display: flex; justify-content: space-between; margin-top: 8px; color: #89838e; font-size: 8px; font-weight: 800; }
    .emma-v2-filter-actions { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8px; margin-top: auto; padding-top: 14px; }
    .emma-v2-filter-actions a, .emma-v2-filter-actions button { display: flex; min-height: 44px; padding: 0 10px; align-items: center; justify-content: center; font-size: 10px; font-weight: 900; border-radius: 7px; }
    .emma-v2-filter-actions a { color: var(--emma-v2-purple); border: 1px solid #d8cdeb; background: #fff; }
    .emma-v2-filter-actions button { color: #302a36; border: 0; background: var(--emma-v2-accent); }
    .emma-archive-v2--brands .emma-v2-filter-actions button, .emma-archive-v2--characters .emma-v2-filter-actions button { color: #fff; }
}

@media (max-width: 620px) {
    .emma-v2-header { gap: 6px; }
    .emma-v2-logo { width: 165px; font-size: 27px; }
    .emma-v2-logo img { width: 100%; height: 62px; }
    .emma-v2-tabs { height: 58px; }
    .emma-v2-tabs a { gap: 4px; font-size: 11px; }
    .emma-v2-tabs svg { width: 16px; height: 16px; }
    .emma-v2-tabs span { padding: 2px 5px; font-size: 9px; }
    .emma-v2-main { padding: 14px 10px 30px; }
    .emma-v2-heading { align-items: center; gap: 10px; margin-bottom: 10px; }
    .emma-v2-heading > div { min-width: 0; }
    .emma-v2-heading h1 { font-size: 20px; }
    .emma-v2-heading > strong { flex: 0 0 auto; padding: 6px 9px; font-size: 16px; }
    .emma-v2-ages { display: flex; min-height: 38px; margin-bottom: 12px; }
    .emma-v2-ages > strong { flex: 0 0 auto; min-height: 38px; padding: 0 10px; justify-content: center; font-size: 10px; }
    .emma-v2-ages__list { height: 38px; }
    .emma-v2-chooser { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 40px; margin: -2px 0 12px; color: #302b38; font-size: 12px; font-weight: 900; border: 1px solid rgba(76,49,143,.12); border-radius: 8px; background: var(--emma-v2-accent); box-shadow: 0 6px 16px rgba(71,53,100,.06); }
    .emma-v2-chooser svg { width: 16px; height: 16px; }
    .emma-archive-v2--brands .emma-v2-chooser,
    .emma-archive-v2--characters .emma-v2-chooser { color: #fff; }
    .emma-v2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .emma-v2-product__media { aspect-ratio: 1 / .9; }
    .emma-v2-qty span { display: none; }
    .emma-v2-product__body { padding: 11px; }
    .emma-v2-product__title h3 { min-height: 36px; margin-bottom: 11px; font-size: 13px; }
    .emma-v2-product__price { font-size: 13px; }
    .emma-v2-add { flex-basis: 34px; width: 34px; height: 34px; }
}

@media (max-width: 390px) {
    .emma-v2-header { padding-inline: 7px; }
    .emma-v2-menu, .emma-v2-mobile-search, .emma-v2-action { width: 38px; height: 38px; }
    .emma-v2-logo { width: 145px; font-size: 24px; }
    .emma-v2-logo img { width: 100%; height: 58px; }
    .emma-v2-tabs a strong { overflow: hidden; max-width: 58px; text-overflow: ellipsis; }
    .emma-v2-product__title { font-size: 11px; }
}
.emma-v2-seo-intro {
  max-width: 880px;
  margin: 34px 0 10px;
  padding: 22px 24px;
  border: 1px solid rgba(57, 45, 87, .1);
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
  color: #554e67;
}

.emma-v2-seo-intro h2 {
  margin: 0 0 8px;
  color: #302a40;
  font-size: 1.15rem;
  line-height: 1.3;
}

.emma-v2-seo-intro p {
  margin: 0;
  font-size: .94rem;
  line-height: 1.65;
}
.emma-v2-seo-faq {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}
.emma-v2-seo-faq details {
  border: 1px solid rgba(57, 45, 87, .1);
  border-radius: 8px;
  background: rgba(255, 255, 255, .7);
}
.emma-v2-seo-faq summary {
  padding: 11px 13px;
  color: #302a40;
  font-weight: 850;
  cursor: pointer;
}
.emma-v2-seo-faq details p {
  padding: 0 13px 13px;
}
