@layer reset, base, parts;
@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html, body { margin: 0; }
  img { max-inline-size: 100%; block-size: auto; display: block; }
  button { font: inherit; color: inherit; }
  h1, h2, h3, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
}
@layer base {
  :root {
    --ix-sky: #0F89C7; --ix-deep: #0A4E80; --ix-ink: #0B2540; --ix-sun: #FFD203; --ix-sun-soft: #FFF4BF;
    --ix-red: #E4002B; --ix-go: #12813F; --ix-paper: #FFFFFF; --ix-mist: #F2F6F9; --ix-rule: #D6E1E9; --ix-mute: #536677;
    --ix-shell: 1320px; --ix-pad: clamp(16px, 3vw, 32px);
    --ix-head: "Archivo", "Arial Narrow", sans-serif; --ix-body: "Figtree", "Segoe UI", sans-serif;
  }
  body { font: 16px/1.55 var(--ix-body); color: var(--ix-ink); background: var(--ix-paper); overflow-x: hidden; }
  a { color: var(--ix-deep); }
  h1, h2, h3 { font-family: var(--ix-head); line-height: 1.12; letter-spacing: -.01em; }
  h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 800; font-style: italic; }
  h3 { font-size: 1.08rem; font-weight: 700; }
  .ix-shell { max-inline-size: var(--ix-shell); margin-inline: auto; padding-inline: var(--ix-pad); }
  :focus-visible { outline: 3px solid var(--ix-sun); outline-offset: 2px; }
}
@layer parts {
  /* --- utility strip (shop.mattel: строка над шапкой) */
  .ix-strip { background: var(--ix-paper); border-block-end: 1px solid var(--ix-rule); font-size: .82rem; }
  .ix-strip__in { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-block-size: 38px; }
  .ix-strip__note { color: var(--ix-mute); letter-spacing: .02em; }
  .ix-strip__marks { display: flex; align-items: center; gap: 14px; }
  .ix-strip__marks img { block-size: 26px; inline-size: auto; }
  /* --- шапка: цветная полоса с лого, меню и штампом */
  .ix-bar { background: var(--ix-sun); position: sticky; inset-block-start: 0; z-index: 30; border-block-end: 3px solid var(--ix-deep); }
  .ix-bar__in { display: flex; align-items: center; gap: 22px; min-block-size: 76px; }
  .ix-bar__logo img { inline-size: 168px; }
  .ix-lines { margin-inline-start: auto; }
  .ix-lines { display: flex; gap: 4px 18px; flex-wrap: wrap; }
  .ix-lines a { font: 700 1rem/1 var(--ix-head); color: var(--ix-ink); text-decoration: none; padding: 10px 2px; display: inline-block; border-block-end: 3px solid transparent; }
  .ix-lines a:hover, .ix-lines a[aria-current] { border-block-end-color: var(--ix-deep); }
  .ix-bar__go { flex: none; }
  .ix-burger { display: none; background: var(--ix-deep); color: #fff; border: 0; border-radius: 999px; padding: 9px 16px; font: 700 .9rem var(--ix-head); cursor: pointer; }
  @media (max-width: 1180px) {
    .ix-bar__in { flex-wrap: wrap; gap: 10px 14px; padding-block: 10px; }
    .ix-burger { display: inline-block; margin-inline-start: auto; }
    .ix-lines { order: 5; inline-size: 100%; display: none; }
    .ix-bar[data-menu="open"] .ix-lines { display: flex; flex-direction: column; gap: 0; }
    .ix-lines a { padding: 12px 0; inline-size: 100%; border-block-end: 1px solid rgba(11, 37, 64, .15); }
    .ix-bar__go { display: none; }
  }
  @media (max-width: 560px) { .ix-bar__logo img { inline-size: 132px; } .ix-strip__note { font-size: .72rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .ix-strip__marks img { block-size: 22px; } }
  /* --- штамп */
  .ix-launch { background: none; border: 0; padding: 0; line-height: 0; cursor: pointer; inline-size: min(300px, 100%); transition: transform .15s; }
  .ix-launch:hover { transform: translateY(-2px); }
  .ix-launch img { inline-size: 100%; }
  .ix-launch--mini { inline-size: 196px; }
  .ix-launch--card { inline-size: 100%; margin-block-start: auto; }
  /* --- тройной баннер (shop.mattel) */
  .ix-tri { display: grid; grid-template-columns: 1fr 1.45fr 1fr; gap: 6px; background: var(--ix-paper); }
  .ix-tri img { inline-size: 100%; block-size: clamp(150px, 22vw, 320px); object-fit: cover; }
  .ix-tri__mid { background: var(--ix-sun); }
  .ix-tri__mid img { object-fit: cover; object-position: left center; }
  .ix-tri__side { background: var(--ix-mist); }
  .ix-tri__side img { object-fit: contain; padding: 10px; }
  @media (max-width: 760px) { .ix-tri { grid-template-columns: 1fr 1fr; } .ix-tri__mid { grid-column: 1 / -1; order: -1; } .ix-tri img { block-size: 150px; } }
  /* --- крошки капсом + центрированный H1 (shop.mattel) */
  .ix-crumbs { font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ix-mute); padding-block: 22px 6px; }
  .ix-crumbs a { color: var(--ix-mute); text-decoration: none; display: inline-block; padding-block: 6px; }
  .ix-crumbs i { font-style: normal; margin-inline: 10px; }
  .ix-headline { text-align: center; padding-block: 8px 18px; }
  .ix-headline h1 { font-size: clamp(1.75rem, 3.6vw, 2.75rem); font-weight: 800; font-style: italic; max-inline-size: 26ch; margin-inline: auto; }
  .ix-headline p { max-inline-size: 70ch; margin: 12px auto 0; color: var(--ix-mute); font-size: 1.05rem; }
  .ix-fire { display: flex; flex-direction: column; align-items: center; gap: 8px; margin-block-start: 18px; }
  .ix-fire small { color: var(--ix-mute); }
  .ix-pills { list-style: none; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-block: 14px 22px; }
  .ix-pills a { display: inline-block; padding: 7px 18px; border-radius: 999px; background: #CDEBF8; color: var(--ix-ink); text-decoration: none; font-size: .95rem; }
  .ix-pills a:hover, .ix-pills a[aria-current] { background: var(--ix-sky); color: #fff; }
  /* --- вступление с лого слева (entertainmentearth) */
  .ix-intro { display: grid; grid-template-columns: 220px 1fr; gap: 28px; align-items: center; padding-block: 18px 26px; border-block: 1px solid var(--ix-rule); }
  .ix-intro p { color: var(--ix-ink); }
  @media (max-width: 640px) { .ix-intro { grid-template-columns: 1fr; } .ix-intro img { inline-size: 170px; } }
  /* --- панель сортировки (shop.mattel: Theme / Age / Sort) */
  .ix-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding-block: 14px; }
  .ix-tools select { font: inherit; padding: 9px 34px 9px 12px; border: 1px solid var(--ix-rule); border-radius: 4px; background: #fff; min-inline-size: 150px; }
  .ix-tools__n { margin-inline-start: auto; font-weight: 700; }
  /* --- сетка карточек с линиями (shop.mattel) */
  .ix-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block-start: 1px solid var(--ix-rule); border-inline-start: 1px solid var(--ix-rule); }
  .ix-grid > * { border-inline-end: 1px solid var(--ix-rule); border-block-end: 1px solid var(--ix-rule); }
  .ix-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  @media (max-width: 1000px) { .ix-grid, .ix-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media (max-width: 720px) { .ix-grid, .ix-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  /* карточка (toysrus: звёзды + цена в строку; entertainmentearth: In Stock) */
  .ix-tile { display: flex; flex-direction: column; gap: 6px; padding: 14px 14px 16px; background: #fff; }
  .ix-tile[hidden] { display: none; }
  .ix-tile__pic { display: block; aspect-ratio: 1; background: #fff; }
  .ix-tile__pic img { inline-size: 100%; block-size: 100%; object-fit: contain; }
  .ix-tile__row { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; font-size: .86rem; }
  .ix-tile__cost { font: 800 1.1rem var(--ix-head); white-space: nowrap; }
  .ix-tile__name { font: 600 .97rem/1.3 var(--ix-body); letter-spacing: 0; }
  .ix-tile__name a { color: var(--ix-ink); text-decoration: none; }
  .ix-tile__name a:hover { text-decoration: underline; }
  .ix-tile__stock { font-size: .82rem; font-weight: 700; color: var(--ix-go); }
  .ix-tile__stock--low { color: var(--ix-red); }
  .ix-tile__opts { font-size: .8rem; color: var(--ix-mute); }
  .ix-stars { --fill: 90%; display: inline-block; inline-size: 78px; block-size: 14px; vertical-align: -1px;
    background: linear-gradient(90deg, var(--ix-red) var(--fill), #C9D3DB var(--fill));
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 14'%3E%3Cg%3E%3Cpath d='M7 0l2 5h5l-4 3 2 5-5-3-5 3 2-5-4-3h5z'/%3E%3Cpath transform='translate(16)' d='M7 0l2 5h5l-4 3 2 5-5-3-5 3 2-5-4-3h5z'/%3E%3Cpath transform='translate(32)' d='M7 0l2 5h5l-4 3 2 5-5-3-5 3 2-5-4-3h5z'/%3E%3Cpath transform='translate(48)' d='M7 0l2 5h5l-4 3 2 5-5-3-5 3 2-5-4-3h5z'/%3E%3Cpath transform='translate(64)' d='M7 0l2 5h5l-4 3 2 5-5-3-5 3 2-5-4-3h5z'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 78px 14px no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 14'%3E%3Cg%3E%3Cpath d='M7 0l2 5h5l-4 3 2 5-5-3-5 3 2-5-4-3h5z'/%3E%3Cpath transform='translate(16)' d='M7 0l2 5h5l-4 3 2 5-5-3-5 3 2-5-4-3h5z'/%3E%3Cpath transform='translate(32)' d='M7 0l2 5h5l-4 3 2 5-5-3-5 3 2-5-4-3h5z'/%3E%3Cpath transform='translate(48)' d='M7 0l2 5h5l-4 3 2 5-5-3-5 3 2-5-4-3h5z'/%3E%3Cpath transform='translate(64)' d='M7 0l2 5h5l-4 3 2 5-5-3-5 3 2-5-4-3h5z'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 78px 14px no-repeat; }
  /* промо-плитка внутри сетки (shop.mattel: «Kids can collect all 3 to race») */
  .ix-promo { display: flex; flex-direction: column; justify-content: flex-start; gap: 8px; padding: 0 0 16px; background: var(--ix-sky); color: #fff; text-decoration: none; }
  .ix-promo img { aspect-ratio: 1; object-fit: cover; inline-size: 100%; }
  .ix-promo b { font: 800 italic 1.25rem/1.15 var(--ix-head); padding-inline: 14px; }
  .ix-promo span { padding-inline: 14px; font-size: .92rem; }
  /* --- секции главной */
  .ix-sec { padding-block: 34px 10px; }
  .ix-sec__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-block-end: 14px; }
  .ix-sec__head a { font-weight: 700; white-space: nowrap; }
  .ix-doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
  @media (max-width: 760px) { .ix-doors { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  .ix-door { position: relative; display: grid; grid-template-rows: auto 1fr; border: 1px solid var(--ix-rule); text-decoration: none; color: var(--ix-ink); background: #fff; }
  .ix-door img { aspect-ratio: 4 / 3; object-fit: contain; inline-size: 100%; background: var(--ix-mist); padding: 10px; }
  .ix-door span { padding: 10px 12px 12px; font: 800 italic 1.05rem var(--ix-head); border-block-start: 4px solid var(--ix-sun); }
  .ix-door em { display: block; font: 400 .85rem var(--ix-body); color: var(--ix-mute); }
  /* --- отзывы (entertainmentearth: серая полоса отзывов) */
  .ix-voices { background: var(--ix-mist); padding-block: 34px; margin-block-start: 36px; }
  .ix-voices__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-block-start: 16px; }
  @media (max-width: 900px) { .ix-voices__grid { grid-template-columns: 1fr; } }
  .ix-voice { background: #fff; padding: 18px; border-inline-start: 4px solid var(--ix-sky); display: flex; flex-direction: column; gap: 8px; }
  .ix-voice q { font-style: italic; quotes: "\201C" "\201D"; }
  .ix-voice b { font-family: var(--ix-head); }
  .ix-voice figcaption { font-size: .85rem; color: var(--ix-mute); margin-block-start: auto; }
  /* --- SEO-текст */
  .ix-prose { padding-block: 34px; max-inline-size: 980px; }
  .ix-prose h2 { margin-block-end: 14px; }
  .ix-prose h3 { margin-block: 18px 6px; font-size: 1.15rem; }
  .ix-prose p + p { margin-block-start: 10px; }
  .ix-prose ul, .ix-prose ol { margin-block: 10px; padding-inline-start: 22px; }
  /* --- FAQ (entertainmentearth: строки с «+») */
  .ix-faq { padding-block: 20px 34px; }
  .ix-faq h2 { margin-block-end: 12px; }
  .ix-faq details { border: 1px solid var(--ix-rule); margin-block-end: 8px; background: #fff; }
  .ix-faq summary { list-style: none; cursor: pointer; padding: 14px 16px 14px 44px; position: relative; font-weight: 700; color: var(--ix-deep); }
  .ix-faq summary::-webkit-details-marker { display: none; }
  .ix-faq summary::before { content: "+"; position: absolute; inset-inline-start: 16px; font-size: 1.3rem; line-height: 1; top: 13px; }
  .ix-faq details[open] summary::before { content: "\2212"; }
  .ix-faq details p { padding: 0 16px 16px 44px; }
  /* --- бейджи доверия (entertainmentearth) */
  .ix-badges { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding-block: 26px; border-block-start: 1px solid var(--ix-rule); }
  @media (max-width: 760px) { .ix-badges { grid-template-columns: 1fr; } }
  .ix-badge { display: grid; grid-template-columns: 52px 1fr; gap: 12px; align-items: center; }
  .ix-badge svg { inline-size: 52px; block-size: 52px; }
  .ix-badge b { display: block; font-family: var(--ix-head); }
  .ix-badge span { font-size: .88rem; color: var(--ix-mute); }
  /* --- закрывающая полоса */
  .ix-last { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 24px; background: var(--ix-sun); margin-block-start: 10px; }
  .ix-last img { inline-size: 100%; block-size: 100%; object-fit: cover; }
  .ix-last div { padding: 24px; display: grid; gap: 14px; justify-items: start; }
  .ix-last p { font: 800 italic clamp(1.25rem, 2.4vw, 1.7rem)/1.2 var(--ix-head); }
  @media (max-width: 760px) { .ix-last { grid-template-columns: 1fr; } }
  /* --- подвал (toysrus: синий, колонки, маскот справа, лого внизу) */
  .ix-foot { background: var(--ix-deep); color: #fff; margin-block-start: 40px; position: relative; overflow: hidden; }
  .ix-foot__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding-block: 44px 26px; }
  @media (max-width: 860px) { .ix-foot__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  .ix-foot dl { margin: 0; }
  .ix-foot dt, .ix-foot__h { font: 800 1.15rem var(--ix-head); margin-block-end: 10px; }
  .ix-foot dd { margin: 0; }
  .ix-foot dd a { color: #fff; text-decoration: none; display: inline-block; padding-block: 5px; }
  .ix-foot dd a:hover { text-decoration: underline; }
  .ix-foot address { font-style: normal; line-height: 1.7; }
  .ix-foot address a { color: var(--ix-sun); overflow-wrap: anywhere; }
  .ix-card-id a { overflow-wrap: anywhere; }
  .ix-foot__mascot { inline-size: 92px; flex: none; }
  .ix-foot__base { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-block: 8px 18px; }
  .ix-foot__base > img:first-child { inline-size: 200px; }
  .ix-foot__base p { max-inline-size: 60ch; font-size: .95rem; }
  .ix-foot__fine { border-block-start: 1px solid rgba(255, 255, 255, .35); text-align: center; font-size: .84rem; padding-block: 16px 22px; }
  @media (max-width: 860px) { .ix-foot__mascot { inline-size: 64px; } }
  /* --- раздел: фильтры слева (entertainmentearth / toysrus) */
  .ix-hall { display: grid; grid-template-columns: 270px 1fr; gap: 26px; align-items: start; }
  @media (max-width: 900px) { .ix-hall { grid-template-columns: 1fr; } }
  .ix-sieve { border: 1px solid var(--ix-rule); }
  .ix-sieve details { border-block-start: 4px solid var(--ix-sky); }
  .ix-sieve details + details { border-block-start-width: 4px; }
  .ix-sieve summary { cursor: pointer; padding: 12px 14px; font: 700 1rem var(--ix-head); background: var(--ix-mist); }
  .ix-sieve fieldset { border: 0; margin: 0; padding: 8px 14px 14px; display: grid; gap: 2px; }
  .ix-sieve label { display: flex; align-items: center; gap: 8px; padding-block: 5px; font-size: .94rem; cursor: pointer; }
  .ix-sieve label span { margin-inline-start: auto; color: var(--ix-mute); font-size: .85rem; }
  .ix-sieve input { inline-size: 17px; block-size: 17px; accent-color: var(--ix-sky); }
  .ix-sieve__reset { background: none; border: 0; color: var(--ix-deep); text-decoration: underline; cursor: pointer; padding: 12px 14px; }
  @media (max-width: 900px) { .ix-sieve details:not([open]) fieldset { display: none; } }
  /* --- карточка товара */
  .ix-mission { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 34px; padding-block: 10px 26px; }
  @media (max-width: 900px) { .ix-mission { grid-template-columns: 1fr; gap: 18px; } }
  .ix-album__stage { border: 1px solid var(--ix-rule); background: #fff; aspect-ratio: 1; display: grid; place-items: center; }
  .ix-album__stage img { max-block-size: 100%; object-fit: contain; }
  .ix-album__thumbs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-block-start: 10px; }
  .ix-album__thumbs button { border: 1px solid var(--ix-rule); background: #fff; padding: 3px; cursor: pointer; aspect-ratio: 1; }
  .ix-album__thumbs button[aria-pressed="true"] { border: 2px solid var(--ix-sky); }
  .ix-album__thumbs img { inline-size: 100%; block-size: 100%; object-fit: contain; }
  .ix-info { display: flex; flex-direction: column; gap: 12px; }
  .ix-info__line { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; }
  .ix-info__line a { color: var(--ix-mute); text-decoration: none; }
  .ix-info h1 { font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 800; }
  .ix-info__rate { font-size: .92rem; color: var(--ix-mute); }
  .ix-info__cost { font: 800 1.9rem var(--ix-head); }
  .ix-info__cost small { font: 400 .82rem var(--ix-body); color: var(--ix-mute); display: block; }
  .ix-info__stock { font-weight: 700; color: var(--ix-go); }
  .ix-info__stock--wait { color: var(--ix-red); }
  .ix-info__pick label { display: grid; gap: 4px; font-weight: 700; font-size: .9rem; }
  .ix-info__pick select { font: inherit; padding: 10px 12px; border: 1px solid var(--ix-rule); border-radius: 4px; max-inline-size: 100%; }
  .ix-info .ix-launch { inline-size: min(340px, 100%); }
  .ix-info__lede { font-size: 1.05rem; }
  .ix-info ul { padding-inline-start: 20px; display: grid; gap: 6px; }
  .ix-specs { display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; padding: 14px; background: var(--ix-mist); font-size: .92rem; }
  .ix-specs dt { font-weight: 700; }
  /* липкая нижняя полоса на мобильном */
  .ix-dock { display: none; }
  @media (max-width: 900px) {
    .ix-dock { display: flex; align-items: center; gap: 10px; position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 40;
      background: var(--ix-ink); color: #fff; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); }
    .ix-dock div { flex: 1; min-inline-size: 0; font-size: .82rem; line-height: 1.3; }
    .ix-dock b { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .ix-dock .ix-launch { inline-size: 168px; flex: none; }
    body.ix-docked { padding-block-end: 78px; }
  }
  /* гайды и сервисные */
  .ix-page { max-inline-size: 860px; padding-block: 6px 30px; }
  .ix-page h1 { font-size: clamp(1.7rem, 3.2vw, 2.4rem); font-weight: 800; font-style: italic; margin-block: 8px 16px; }
  .ix-page h2 { margin-block: 22px 8px; font-size: 1.35rem; }
  .ix-page p + p { margin-block-start: 10px; }
  .ix-page ol { padding-inline-start: 22px; display: grid; gap: 6px; margin-block: 10px; }
  .ix-page__more { margin-block-start: 28px; padding-block-start: 16px; border-block-start: 1px solid var(--ix-rule); }
  .ix-page__more h2 { font-size: 1.05rem; font-style: normal; margin-block: 0 8px; }
  .ix-page__more ol { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 18px; }
  .ix-page__more a { display: inline-block; padding-block: 6px; }
  .ix-card-id { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 18px; background: var(--ix-sun-soft); border-inline-start: 6px solid var(--ix-sun); margin-block: 16px; }
  @media (max-width: 560px) { .ix-card-id { grid-template-columns: 1fr; } }
  .ix-wrap-404 { text-align: center; padding-block: 40px; }
}
