/* ---------- ROOT ---------- */
:root {
  --color-red: #e13122;
  --color-dark: #0e0c0c;
  --color-dark-soft: #191919;
  --color-white: #ffffff;
  --color-black: #000000;

  --color-white-60: rgba(255, 255, 255, 0.6);
  --color-white-40: rgba(255, 255, 255, 0.4);
  --color-white-10: rgba(255, 255, 255, 0.1);
  --color-white-05: rgba(255, 255, 255, 0.05);

  --color-black-30: rgba(0, 0, 0, 0.3);
  --color-black-35: rgba(0, 0, 0, 0.35);

  --theme-accent: var(--color-red);
  --theme-page-bg: var(--color-dark-soft);
  --theme-surface-bg: var(--color-dark);
  --theme-text-main: var(--color-white);
  --theme-text-soft: var(--color-white-60);
  --theme-text-muted: var(--color-white-40);
  --theme-text-inverted: var(--color-dark);
  --theme-border-soft: var(--color-white-60);
  --theme-border-muted: var(--color-white-40);
  --theme-border-subtle: var(--color-white-10);

  --container-max-width: 1728px;
  --container-pad-mobile: 20px;
  --container-pad-tablet: 35px;
  --container-pad-desktop-sm: 72px;
  --container-pad-desktop-md: 100px;
  --container-pad-desktop-lg: 145px;

  --font-main: "Alumni Sans", sans-serif;

  --fs-s-min: 14px;
  --fs-s-mid: 15px;
  --fs-s-max: 16px;

  --fs-m-min: 16px;
  --fs-m-mid: 18px;
  --fs-m-max: 21px;

  --fs-l-min: 21px;
  --fs-l-mid: 23px;
  --fs-l-max: 26px;

  --fs-ll-min: 26px;
  --fs-ll-mid: 30px;
  --fs-ll-max: 34px;

  --fs-xl-min: 34px;
  --fs-xl-mid: 44px;
  --fs-xl-max: 55px;

  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;
  --fw-black: 900;

  --lh-tight: 1;
  --lh-base: 1.2;
  --lh-body: 1.6;

  --ls-uppercase-min: 0.48px;
  --ls-uppercase-max: 0.63px;

  --header-height-mobile: 50px;
  --header-height-desktop: 64px;
  --header-height-compact-mobile: 50px;
  --header-height-compact-desktop: 48px;

  --page-top-offset-mobile: 0;
  --page-top-offset-desktop: var(--header-height-desktop);

  --duration-main: 0.25s;
  --ease-main: ease;

  --transition-color: color var(--duration-main) var(--ease-main);
  --transition-bg: background-color var(--duration-main) var(--ease-main);
  --transition-border: border-color var(--duration-main) var(--ease-main);
  --transition-opacity: opacity var(--duration-main) var(--ease-main);
  --transition-transform: transform var(--duration-main) var(--ease-main);

  --transition-interactive:
    color var(--duration-main) var(--ease-main),
    background-color var(--duration-main) var(--ease-main),
    border-color var(--duration-main) var(--ease-main),
    opacity var(--duration-main) var(--ease-main);

  --page-bg: var(--theme-page-bg);
  --page-text: var(--theme-text-main);

  --header-bg: var(--theme-surface-bg);
  --header-link-color: var(--theme-text-main);
  --header-link-hover-color: var(--theme-accent);
  --header-account-color: var(--theme-text-muted);
  --header-divider-color: var(--theme-border-soft);

  --footer-bg: var(--theme-accent);
  --footer-text: var(--theme-text-main);
  --footer-text-soft: var(--theme-text-soft);
  --footer-text-muted: var(--theme-text-muted);
  --footer-link-hover-opacity: 0.7;
  --footer-shadow-color: var(--color-black-30);
  --footer-shadow-color-strong: var(--color-black-35);

  --logo-color: var(--theme-text-main);
  --logo-hover-color: var(--theme-accent);

  --icon-button-size-mobile: 24px;
  --icon-button-size-desktop: 32px;

  --arrow-bg: var(--color-white-05);
  --arrow-bg-hover: var(--color-white);
  --arrow-color: var(--color-white);
  --arrow-color-hover: var(--color-dark);
  --arrow-border: var(--color-white-40);
  --arrow-border-hover: var(--color-white);
}

*,
*::before,
*::after {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent !important;
}

* {
  margin: 0;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  font-family: var(--font-main);
  font-size: var(--fs-s-min);
  font-weight: var(--fw-regular);
  line-height: var(--lh-body);
  background: var(--page-bg);
  color: var(--page-text);
  -webkit-font-smoothing: antialiased;
}

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

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

address {
  font-style: normal;
}

ul {
  padding: 0;
  list-style: none;
}

button {
  padding: 0;
  font: inherit;
  color: inherit;
  background: transparent;
  cursor: pointer;
  border: 0;
}

@media (min-width: 768px) {
  body {
    font-size: var(--fs-s-mid);
  }
}
@media (min-width: 1025px) {
  body {
    font-size: var(--fs-s-max);
  }
}

/* ---------- Text utilities ---------- */
.text-s {
  font-size: var(--fs-s-min);
}
.text-m {
  font-size: var(--fs-m-min);
}
.text-l {
  font-size: var(--fs-l-min);
}
.text-ll {
  font-size: var(--fs-ll-min);
}
.text-xl {
  font-size: var(--fs-xl-min);
}
.fw-light {
  font-weight: var(--fw-light);
}
.fw-regular {
  font-weight: var(--fw-regular);
}
.fw-medium {
  font-weight: var(--fw-medium);
}
.fw-bold {
  font-weight: var(--fw-bold);
}
.fw-black {
  font-weight: var(--fw-black);
}
.lh-tight {
  line-height: var(--lh-tight);
}
.lh-base {
  line-height: var(--lh-base);
}
.lh-body {
  line-height: var(--lh-body);
}
.text-uppercase {
  text-transform: uppercase;
}
.text-center {
  text-align: center;
}
.ls-uppercase {
  letter-spacing: var(--ls-uppercase-min);
}

@media (min-width: 1025px) {
  .text-s {
    font-size: var(--fs-s-mid);
  }
  .text-m {
    font-size: var(--fs-m-mid);
  }
  .text-l {
    font-size: var(--fs-l-mid);
  }
  .text-ll {
    font-size: var(--fs-ll-mid);
  }
  .text-xl {
    font-size: var(--fs-xl-mid);
  }
}

@media (min-width: 1400px) {
  .text-s {
    font-size: var(--fs-s-max);
  }
  .text-m {
    font-size: var(--fs-m-max);
  }
  .text-l {
    font-size: var(--fs-l-max);
  }
  .text-ll {
    font-size: var(--fs-ll-max);
  }
  .text-xl {
    font-size: var(--fs-xl-max);
  }
  .ls-uppercase {
    letter-spacing: var(--ls-uppercase-max);
  }
}

/* ---------- Text combo utilities ---------- */
.text-upper-m-regular {
  font-size: var(--fs-m-min);
  font-weight: var(--fw-regular);
  text-transform: uppercase;
}
.text-upper-m-medium {
  font-size: var(--fs-m-min);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
}
.text-upper-m-bold {
  font-size: var(--fs-m-min);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
}
.text-upper-m-black {
  font-size: var(--fs-m-min);
  font-weight: var(--fw-black);
  text-transform: uppercase;
}
.text-upper-l-regular {
  font-size: var(--fs-l-min);
  font-weight: var(--fw-regular);
  text-transform: uppercase;
}
.text-upper-l-medium {
  font-size: var(--fs-l-min);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
}
.text-upper-l-bold {
  font-size: var(--fs-l-min);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
}
.text-upper-l-black {
  font-size: var(--fs-l-min);
  font-weight: var(--fw-black);
  text-transform: uppercase;
}
.text-upper-ll-regular {
  font-size: var(--fs-ll-min);
  font-weight: var(--fw-regular);
  text-transform: uppercase;
}
.text-upper-ll-medium {
  font-size: var(--fs-ll-min);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
}
.text-upper-ll-bold {
  font-size: var(--fs-ll-min);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
}
.text-upper-ll-black {
  font-size: var(--fs-ll-min);
  font-weight: var(--fw-black);
  text-transform: uppercase;
}
.text-upper-xl-regular {
  font-size: var(--fs-xl-min);
  font-weight: var(--fw-regular);
  text-transform: uppercase;
}
.text-upper-xl-medium {
  font-size: var(--fs-xl-min);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
}
.text-upper-xl-bold {
  font-size: var(--fs-xl-min);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
}
.text-upper-xl-black {
  font-size: var(--fs-xl-min);
  font-weight: var(--fw-black);
  text-transform: uppercase;
}

@media (min-width: 1025px) {
  .text-upper-m-regular,
  .text-upper-m-medium,
  .text-upper-m-bold,
  .text-upper-m-black {
    font-size: var(--fs-m-mid);
  }
  .text-upper-l-regular,
  .text-upper-l-medium,
  .text-upper-l-bold,
  .text-upper-l-black {
    font-size: var(--fs-l-mid);
  }
  .text-upper-ll-regular,
  .text-upper-ll-medium,
  .text-upper-ll-bold,
  .text-upper-ll-black {
    font-size: var(--fs-ll-mid);
  }

  .text-upper-xl-regular,
  .text-upper-xl-medium,
  .text-upper-xl-bold,
  .text-upper-xl-black {
    font-size: var(--fs-xl-mid);
  }
}

@media (min-width: 1400px) {
  .text-upper-m-regular,
  .text-upper-m-medium,
  .text-upper-m-bold,
  .text-upper-m-black {
    font-size: var(--fs-m-max);
  }
  .text-upper-l-regular,
  .text-upper-l-medium,
  .text-upper-l-bold,
  .text-upper-l-black {
    font-size: var(--fs-l-max);
  }
  .text-upper-ll-regular,
  .text-upper-ll-medium,
  .text-upper-ll-bold,
  .text-upper-ll-black {
    font-size: var(--fs-ll-max);
  }

  .text-upper-xl-regular,
  .text-upper-xl-medium,
  .text-upper-xl-bold,
  .text-upper-xl-black {
    font-size: var(--fs-xl-max);
  }
}

/* ---------- Reusable ---------- */
.page {
  overflow-x: clip;
  padding-top: var(--page-top-offset-mobile);
}

.container {
  width: 100%;
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding-inline: var(--container-pad-mobile);
}

.page-location {
  margin-top: 10px;
  margin-bottom: 20px;
  width: 100%;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  column-gap: 16px;
}

.page-location__text {
  font-size: var(--fs-m-min);
  font-weight: var(--fw-medium);
  line-height: var(--lh-base);
  letter-spacing: var(--ls-uppercase-min);
  text-transform: uppercase;
}

.page-location__base,
.page-location__separator {
  color: var(--theme-text-muted);
}

.page-location__base {
  transition: var(--transition-color);
}

.page-location__base:focus-visible {
  color: var(--theme-text-main);
  outline: none;
}

@media (hover: hover) and (pointer: fine) {
  .page-location__base:hover {
    color: var(--theme-text-main);
  }
}
.page-location__current {
  color: var(--theme-text-main);
}

.section-title {
  font-size: var(--fs-xl-min);
  font-weight: var(--fw-light);
  line-height: var(--lh-tight);
  text-transform: uppercase;
  text-align: center;
  color: var(--theme-text-muted);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 20px;
  font-size: var(--fs-m-min);
  font-weight: var(--fw-medium);
  line-height: var(--lh-base);
  letter-spacing: var(--ls-uppercase-min);
  text-transform: uppercase;
  text-align: center;
  color: var(--button-color);
  background: var(--button-bg);
  border: 1px solid var(--button-border);
  transition:
    color var(--duration-main) var(--ease-main),
    background var(--duration-main) var(--ease-main),
    border-color var(--duration-main) var(--ease-main),
    opacity var(--duration-main) var(--ease-main);
}

.button:focus-visible {
  color: var(--button-hover-color);
  background: var(--button-hover-bg);
  border-color: var(--button-hover-border);
  outline: none;
}

@media (hover: hover) and (pointer: fine) {
  .button:hover {
    color: var(--button-hover-color);
    background: var(--button-hover-bg);
    border-color: var(--button-hover-border);
  }
}

.button--primary {
  --button-color: #ffffff;
  --button-bg: #e13122;
  --button-border: #e13122;
  --button-hover-color: #ffffff;
  --button-hover-bg:
    linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%),
    #e13122;
  --button-hover-border: transparent;
}

.button--light {
  --button-color: #0e0c0c;
  --button-bg: #ffffff;
  --button-border: #ffffff;
  --button-hover-color: #0e0c0c;
  --button-hover-bg:
    linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%),
    #ffffff;
  --button-hover-border: transparent;
}

.button--dark-red {
  --button-color: #ffffff;
  --button-bg: #0e0c0c;
  --button-border: #e13122;
  --button-hover-color: #ffffff;
  --button-hover-bg: rgba(225, 49, 34, 0.1);
  --button-hover-border: #e13122;
}

.button--dark-light {
  --button-color: #ffffff;
  --button-bg: #0e0c0c;
  --button-border: #ffffff;
  --button-hover-color: #ffffff;
  --button-hover-bg: rgba(255, 255, 255, 0.1);
  --button-hover-border: #ffffff;
}

.page-head {
  position: relative;
}
.page-head__inner {
  position: relative;
  z-index: 1;
}

.site-logo {
  --logo-color: var(--theme-text-main);
  --logo-hover-color: var(--theme-accent);
  display: inline-block;
  width: 127px;
  aspect-ratio: 129 / 30;
  color: var(--logo-color);
  transition: var(--transition-color);
}

.site-logo:hover,
.site-logo:focus-visible,
.footer__logo-link:hover .site-logo,
.footer__logo-link:focus-visible .site-logo {
  color: var(--logo-hover-color);
  outline: none;
}

.site-logo__image {
  display: block;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  mask: url("/images/logo.svg") center / contain no-repeat;
  -webkit-mask: url("/images/logo.svg") center / contain no-repeat;
}

@media (min-width: 768px) {
  .container {
    padding-inline: var(--container-pad-tablet);
  }
}

@media (max-width: 1024px) {
  .page {
    padding-top: var(--page-top-offset-mobile);
  }
  .page-head {
    background: var(--header-bg);
  }
  .page-head__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 60px;
    padding-bottom: 10px;
  }
  .page-head .page-location {
    margin-top: 0;
    margin-bottom: 20px;
  }
  .page-head__inner {
    z-index: 91;
  }
  .page-head .header__tooth-wrap {
    position: absolute;
    top: auto;
    right: 0;
    bottom: -15px;
    left: 0;
    display: block;
    height: 40px;
    overflow: visible;
    opacity: 1;
    transform: none;
    pointer-events: none;
  }
}

@media (min-width: 1025px) {
  .page {
    padding-top: var(--page-top-offset-desktop);
  }
  .container {
    padding-inline: var(--container-pad-desktop-sm);
  }
  .page-location {
    margin-top: 60px;
    margin-bottom: 30px;
  }
  .page-location__text {
    font-size: var(--fs-m-mid);
  }
  .section-title {
    font-size: var(--fs-xl-mid);
  }
  .button {
    font-size: var(--fs-m-mid);
  }
}

@media (min-width: 1400px) {
  .container {
    padding-inline: var(--container-pad-desktop-md);
  }
  .page-location {
    margin-bottom: 40px;
  }
  .page-location__text {
    font-size: var(--fs-m-max);
    letter-spacing: var(--ls-uppercase-max);
  }
  .section-title {
    font-size: var(--fs-xl-max);
  }
  .button {
    font-size: var(--fs-m-max);
  }
}

@media (min-width: 1600px) {
  .container {
    padding-inline: var(--container-pad-desktop-lg);
  }
}

/* ---------- HEADER ---------- */
.header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 100;
}

.header__wrap {
  position: relative;
}
.header__bar {
  background: var(--header-bg);
}

.header__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-height-mobile);
  max-width: 1440px;
  margin: 0 auto;
  transition: height var(--duration-main) var(--ease-main);
}

.header__nav {
  display: none;
}
.header__nav-list {
  display: flex;
  align-items: center;
  gap: 20px;
}

.header__nav-link,
.header__account-link {
  font-size: var(--fs-m-mid);
  font-weight: var(--fw-medium);
  line-height: var(--lh-base);
  color: var(--header-link-color);
  text-transform: uppercase;
  transition: var(--transition-color);
}

.header__nav-link:hover,
.header__nav-link:focus-visible,
.header__account-link:hover,
.header__account-link:focus-visible {
  color: var(--header-link-hover-color);
  outline: none;
}

.header__brand {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  --logo-hover-color: var(--theme-accent);
}

.header__mobile-left,
.header__mobile-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.header__desktop-actions {
  display: none;
  align-items: center;
  gap: 14px;
}

.header__icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-button-size-mobile);
  height: var(--icon-button-size-mobile);
}

.header__icon-button:focus-visible {
  outline: none;
}
.header__icon {
  width: var(--icon-button-size-mobile);
  height: var(--icon-button-size-mobile);
}

@media (max-width: 1024px) {
  .header .container {
    max-width: 100vw;
  }
  .header__inner {
    max-width: 100%;
  }
}

.header__divider {
  display: none;
  width: 1px;
  height: 30px;
  background: var(--header-divider-color);
}

.header__tooth {
  position: relative;
  width: 120px;
  height: 40px;
  margin: -1px auto 0;
  pointer-events: none;
}

.header__tooth-wrap {
  position: fixed;
  top: 25px;
  right: 0;
  left: 0;
  z-index: 90;
  display: none;
  height: 40px;
  overflow: hidden;
  pointer-events: none;
  transition:
    opacity var(--duration-main) var(--ease-main),
    transform var(--duration-main) var(--ease-main),
    top var(--duration-main) var(--ease-main);
}

.header__tooth::before,
.header__tooth::after {
  position: absolute;
  top: 0;
  width: 32px;
  height: 40px;
  content: "";
  background-image: url("/images/tooth-header.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.header__tooth::before {
  left: 0;
}
.header__tooth::after {
  right: 0;
}

.header__spacer {
  display: block;
  height: 65px;
}

.header--compact .header__inner {
  height: 44px;
}
.header--compact + .header__tooth-wrap {
  top: 44px;
  opacity: 0;
  transform: translateY(-12px);
}

@media (max-width: 1024px) {
  .header--compact .header__inner {
    height: var(--header-height-compact-mobile);
  }
}

@media (min-width: 1025px) {
  .header__inner {
    height: var(--header-height-desktop);
  }
  .header__nav {
    display: flex;
  }
  .header__mobile-left,
  .header__menu-button {
    display: none;
  }
  .header__desktop-actions {
    display: flex;
  }
  .header__icon-button,
  .header__icon {
    width: var(--icon-button-size-desktop);
    height: var(--icon-button-size-desktop);
  }
  .header__brand {
    width: 154px;
  }
  .header__divider,
  .header__account-link {
    display: block;
  }
  .header__account-link {
    color: var(--header-account-color);
  }
  .header__tooth-wrap {
    display: block;
    top: var(--header-height-desktop);
    height: 52px;
  }
  .page-head .header__tooth-wrap {
    display: none;
  }
  .header__tooth {
    width: 530px;
    height: 52px;
  }
  .header__tooth::before,
  .header__tooth::after {
    width: 42px;
    height: 52px;
  }
  .header--compact .header__inner {
    height: var(--header-height-compact-desktop);
  }
  .header--compact + .header__tooth-wrap {
    top: var(--header-height-compact-desktop);
    opacity: 0;
    transform: translateY(-18px);
  }
  .header__spacer {
    height: 116px;
  }
}

@media (min-width: 1400px) {
  .header__nav-link,
  .header__account-link {
    font-size: var(--fs-m-max);
  }
}

/* ---------- FOOTER ---------- */
.footer {
  --footer-card-w: 220px;
  --footer-card-h: 333px;
  --footer-card-gap: 16px;
  --footer-arrow-size: 32px;
  position: relative;
  isolation: isolate;
  margin-top: 0;
  padding-top: 48px;
  padding-bottom: 48px;
  background: var(--footer-bg);
  box-shadow: none;
}

.footer::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: 48px;
  content: "";
  pointer-events: none;
  background: var(--footer-bg);
  box-shadow: 0 -10px 10px var(--footer-shadow-color);
}

.footer__tooth {
  position: absolute;
  z-index: 0;
  top: -36px;
  left: 50%;
  width: 213px;
  height: 72px;
  transform: translateX(-50%);
  pointer-events: none;
}

.footer__tooth::before,
.footer__tooth::after {
  content: "";
  position: absolute;
  top: 0;
  width: 56.887px;
  height: 72px;
  background: var(--footer-bg);
  clip-path: polygon(52.14% 0, 100% 100%, 0 100%);
}

.footer__tooth::before {
  left: 0;
}
.footer__tooth::after {
  left: 156.113px;
}

.footer__inner {
  position: relative;
  z-index: 2;
  overflow: visible;
}

.footer__logo-link {
  display: flex;
  justify-content: center;
  margin-bottom: 32px;
}

.footer__logo {
  width: 154px;
  --logo-hover-color: var(--footer-text-soft);
}

.footer__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px 4px;
}

.footer__column-title {
  margin-bottom: 20px;
  color: var(--footer-text-soft);
}
.footer__nav-list {
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.footer__nav-link {
  display: block;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--footer-text);
  transition: var(--transition-color);
}

.footer__nav-link:hover,
.footer__nav-link:focus-visible {
  color: var(--footer-text-soft);
  outline: none;
}

.footer__column {
  min-width: 0;
}
.footer__column--client {
  grid-column: 2;
  grid-row: 1;
  text-align: left;
}
.footer__products {
  grid-column: 1 / -1;
  grid-row: 2;
  min-width: 0;
}
.footer__products-title {
  margin-bottom: 16px;
  text-align: center;
  color: var(--footer-text);
}
.footer__products-wrap {
  position: relative;
}

.footer__products-viewport {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  overflow: hidden;
}

.footer__products-list {
  display: flex;
  gap: var(--footer-card-gap);
  width: max-content;
  padding-inline: 0;
  transform: translateX(
    calc(
      (100vw - var(--footer-card-w)) / 2 - var(--footer-card-w) -
        var(--footer-card-gap)
    )
  );
}

.footer__product-card {
  width: var(--footer-card-w);
  flex: 0 0 var(--footer-card-w);
  scroll-snap-align: start;
}

.footer__product-link {
  display: block;
  color: inherit;
}

.footer__product-media {
  position: relative;
  width: var(--footer-card-w);
  height: var(--footer-card-h);
  overflow: hidden;
  background: var(--color-dark);
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer__product-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.footer__badges {
  position: absolute;
  top: 10px;
  left: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer__badge {
  padding: 4px 8px;
}
.footer__badge--sale {
  width: fit-content;
  color: var(--theme-text-main);
  background: var(--theme-accent);
}
.footer__badge--new {
  min-width: 50px;
  color: var(--theme-accent);
  background: var(--color-white);
}
.footer__product-content {
  padding-top: 16px;
}
.footer__product-name {
  color: var(--footer-text);
}
.footer__product-price {
  color: var(--footer-text-soft);
}

.footer__products-wrap > .footer__arrow {
  position: absolute;
  top: calc((var(--footer-card-h) - var(--footer-arrow-size)) / 2);
  z-index: 2;
}

.footer__products-wrap > .footer__arrow:first-child {
  left: 0;
}
.footer__products-wrap > .footer__arrow:last-child {
  right: 0;
}

.footer__arrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--footer-arrow-size);
  height: var(--footer-arrow-size);
  color: var(--arrow-color);
  background: var(--arrow-bg);
  border: 0.5px solid var(--arrow-border);
  backdrop-filter: blur(1px);
  transition: var(--transition-interactive);
}

.footer__arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  pointer-events: none;
  transition: var(--transition-opacity);
}

.footer__products-wrap > .footer__arrow:first-child::after {
  background-image: url("/images/arrow-left-footer-hover.svg");
}

.footer__products-wrap > .footer__arrow:last-child::after {
  background-image: url("/images/arrow-right-footer-hover.svg");
}

.footer__arrow:focus-visible {
  color: var(--arrow-color-hover);
  background: var(--arrow-bg-hover);
  border-color: var(--arrow-border-hover);
  outline: none;
}

@media (hover: hover) and (pointer: fine) {
  .footer__arrow:hover {
    color: var(--arrow-color-hover);
    background: var(--arrow-bg-hover);
    border-color: var(--arrow-border-hover);
  }
  .footer__arrow:hover .footer__arrow-icon {
    opacity: 0;
  }
  .footer__arrow:hover::after {
    opacity: 1;
  }
}

.footer__arrow-icon {
  width: var(--footer-arrow-size);
  height: var(--footer-arrow-size);
  transition: var(--transition-opacity);
}

.footer__arrow:focus-visible .footer__arrow-icon {
  opacity: 0;
}
.footer__arrow:focus-visible::after {
  opacity: 1;
}

.footer__divider {
  width: 100%;
  height: 1px;
  margin-top: 32px;
  margin-bottom: 32px;
  background: var(--theme-border-soft);
}

.footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  text-align: center;
}

.footer__legal {
  order: 2;
}
.footer__legal-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.footer__legal-link {
  color: var(--footer-text-soft);
  transition: var(--transition-color);
}

.footer__legal-link:hover,
.footer__legal-link:focus-visible {
  color: var(--footer-text);
  outline: none;
}

.footer__legal-link:focus-visible {
  outline: none;
}

.footer__contacts {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.footer__contact-link {
  color: var(--footer-text);
  transition: var(--transition-color);
}

.footer__contact-link:hover,
.footer__contact-link:focus-visible {
  color: var(--footer-text-soft);
  outline: none;
}

.footer__contact-link:focus-visible {
  outline: none;
}

.footer__socials {
  display: flex;
  gap: 16px;
}
.footer__social-link,
.footer__social-icon {
  width: 48px;
  height: 48px;
}

.footer__social-icon {
  opacity: 0.4;
  transition: var(--transition-opacity);
}

.footer__social-link:hover .footer__social-icon,
.footer__social-link:focus-visible .footer__social-icon {
  opacity: 1;
}

.footer__social-link:focus-visible {
  outline: none;
}

/* ---------- TABLET ---------- */
@media (min-width: 768px) and (max-width: 1024px) {
  .footer {
    --footer-card-w: 164px;
    --footer-card-h: 248px;
    --footer-card-gap: 16px;
    --footer-arrow-size: 32px;
  }

  .footer__body {
    grid-template-columns:
      minmax(0, 1fr) calc(var(--footer-card-w) * 2 + var(--footer-card-gap))
      minmax(0, 1fr);
    align-items: start;
    gap: 24px;
  }

  .footer__column--catalog {
    justify-self: start;
  }
  .footer__column--client {
    grid-column: auto;
    grid-row: auto;
    justify-self: end;
    margin-left: 0;
    text-align: right;
  }
  .footer__column--client .footer__nav-list {
    align-items: flex-end;
  }
  .footer__column--catalog,
  .footer__column--client {
    width: auto;
  }

  .footer__products {
    grid-column: auto;
    grid-row: auto;
    justify-self: center;
    order: 0;
  }

  .footer__products-title {
    margin-bottom: 20px;
  }
  .footer__products-wrap {
    width: calc(var(--footer-card-w) * 2 + var(--footer-card-gap));
    margin-inline: auto;
  }

  .footer__products-viewport {
    width: calc(var(--footer-card-w) * 2 + var(--footer-card-gap));
    margin-inline: 0;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-snap-type: x mandatory;
  }

  .footer__products-viewport::-webkit-scrollbar {
    display: none;
  }
  .footer__products-list {
    gap: var(--footer-card-gap);
    transform: none;
  }

  .footer__products-wrap > .footer__arrow {
    top: calc((var(--footer-card-h) - var(--footer-arrow-size)) / 2);
  }
  .footer__products-wrap > .footer__arrow:first-child {
    left: -50px;
  }
  .footer__products-wrap > .footer__arrow:last-child {
    right: -50px;
  }

  .footer__bottom {
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
    text-align: left;
  }
  .footer__legal {
    order: 0;
  }
  .footer__legal-list,
  .footer__contacts {
    flex-direction: row;
    gap: 20px;
  }
  .footer__socials {
    gap: 20px;
  }
}

/* ---------- DESKTOP ---------- */
@media (min-width: 1025px) {
  .footer {
    --footer-card-w: 164px;
    --footer-card-h: 248px;
    --footer-card-gap: 20px;
    --footer-arrow-size: 40px;
    padding-top: 50px;
    padding-bottom: 32px;
  }

  .footer__tooth {
    top: -60px;
    width: 758px;
    height: 293px;
  }
  .footer__tooth::before,
  .footer__tooth::after {
    width: 233.58px;
    height: 293px;
  }
  .footer__tooth::before {
    left: 0;
  }
  .footer__tooth::after {
    left: 513.579px;
  }

  .footer::before {
    height: 60px;
    box-shadow: 0 -30px 30px var(--footer-shadow-color-strong);
  }

  .footer__logo-link {
    margin-bottom: 50px;
  }

  .footer__body {
    grid-template-columns:
      minmax(130px, 1fr) calc(
        var(--footer-card-w) * 3 + var(--footer-card-gap) * 2
      )
      minmax(140px, 1fr);
    align-items: start;
    justify-content: space-between;
    gap: 20px;
  }

  .footer__column--catalog,
  .footer__column--client {
    width: auto;
  }
  .footer__column--client {
    grid-column: auto;
    grid-row: auto;
    margin-left: 0;
    text-align: right;
  }
  .footer__column--client .footer__nav-list {
    align-items: flex-end;
  }
  .footer__products {
    grid-column: auto;
    grid-row: auto;
  }

  .footer__products-wrap {
    width: calc(var(--footer-card-w) * 3 + var(--footer-card-gap) * 2);
    margin-inline: auto;
  }

  .footer__products-viewport {
    width: calc(var(--footer-card-w) * 3 + var(--footer-card-gap) * 2);
    margin-inline: auto;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-snap-type: x mandatory;
  }

  .footer__products-viewport::-webkit-scrollbar {
    display: none;
  }

  .footer__products-list {
    gap: var(--footer-card-gap);
    padding-inline: 0;
    transform: none;
  }

  .footer__product-content {
    padding-top: 18px;
  }
  .footer__products-wrap > .footer__arrow:first-child {
    left: -60px;
  }
  .footer__products-wrap > .footer__arrow:last-child {
    right: -60px;
  }

  .footer__divider {
    margin-top: 36px;
    margin-bottom: 36px;
  }

  .footer__bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 20px;
    text-align: left;
  }
  .footer__legal {
    order: 0;
  }
  .footer__legal-list {
    flex-direction: row;
    gap: 20px;
    align-items: center;
  }
  .footer__contacts {
    flex-direction: row;
    justify-content: flex-end;
    gap: 20px;
    align-items: center;
  }
}

/* ---------- LARGE DESKTOP ---------- */
@media (min-width: 1400px) {
  .footer {
    --footer-card-w: 177px;
    --footer-card-h: 268px;
    --footer-card-gap: 26px;
    --footer-arrow-size: 64px;
    padding-top: 60px;
    padding-bottom: 32px;
  }

  .footer__logo-link {
    margin-bottom: 60px;
  }

  .footer__body {
    grid-template-columns: minmax(190px, 1fr) 706px minmax(190px, 1fr);
    gap: 40px;
  }

  .footer__badge--new {
    min-width: 55px;
  }

  .footer__products-wrap {
    width: calc(var(--footer-card-w) * 3 + var(--footer-card-gap) * 2);
    margin-inline: auto;
  }

  .footer__products-wrap > .footer__arrow {
    top: calc((var(--footer-card-h) - var(--footer-arrow-size)) / 2);
    flex: none;
  }
  .footer__products-wrap > .footer__arrow:first-child {
    left: -93px;
  }
  .footer__products-wrap > .footer__arrow:last-child {
    right: -93px;
  }

  .footer__products-viewport {
    width: calc(var(--footer-card-w) * 3 + var(--footer-card-gap) * 2);
    margin-inline: auto;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-snap-type: x mandatory;
  }

  .footer__products-viewport::-webkit-scrollbar {
    display: none;
  }
}

@media (min-width: 1600px) {
  .footer__body {
    gap: 60px;
  }
}

/* ---------- Product card actions ---------- */
.product-card {
  position: relative;
  container: product-card / inline-size;
  --product-card-media-height: 151.643cqw;
  --product-card-action-padding-x: 10px;
  --product-card-action-padding-y: 10px;
  --product-card-action-bottom: var(--product-card-panel-line);
  --product-card-favorite-size: 45px;
  --product-card-icon-size: 29px;
  --product-card-cart-height: 45px;
  --product-card-cart-font-size: 16px;
  --product-card-action-gap: clamp(8px, 4cqw, 14px);
  --product-card-cart-padding-x: clamp(8px, 4cqw, 16px);
  --product-card-action-height: clamp(50px, 26cqw, 58px);
  --product-card-line-gap: 2px;
  --product-card-line-split: 66.666%;
  --product-card-panel-bg: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.3) 50%,
    rgba(0, 0, 0, 0) 100%
  );
  --product-card-panel-hover-bg: rgba(255, 255, 255, 0.14);
  --product-card-panel-line: 4px;
  --product-card-line-fill: 0%;
}

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

.product-card__media {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.product-card__image {
  display: block;
}

.product-card__hover-panel {
  position: absolute;
  top: calc(
    var(--product-card-media-height) - var(--product-card-action-bottom) -
      var(--product-card-action-height)
  );
  right: 0;
  left: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--product-card-action-gap);
  height: var(--product-card-action-height);
  padding: var(--product-card-action-padding-y)
    var(--product-card-action-padding-x);
  overflow: hidden;
  background: var(--product-card-panel-bg);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition:
    opacity 180ms ease,
    transform 180ms ease;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}

.product-card__line {
  position: absolute;
  top: calc(var(--product-card-media-height) - var(--product-card-panel-line));
  z-index: 4;
  height: var(--product-card-panel-line);
  overflow: hidden;
  background: var(--theme-text-main);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}

.product-card__line::before {
  content: "";
  position: absolute;
  inset: 0;
  width: var(--product-card-line-fill);
  background: var(--theme-accent);
  transition: width 260ms ease;
}

.product-card__line--favorite {
  left: 0;
  width: calc(var(--product-card-line-split) - var(--product-card-line-gap));
}

.product-card__line--cart {
  right: 0;
  width: calc(100% - var(--product-card-line-split));
}

.product-card.is-favorite .product-card__line--favorite::before {
  width: 100%;
}

.product-card.is-in-cart .product-card__line--cart::before {
  width: 100%;
}

.product-card__favorite-icon {
  flex: 0 0 var(--product-card-icon-size);
  width: var(--product-card-icon-size);
  height: var(--product-card-icon-size);
  background: url("/images/icon-heart-outline.svg") center / contain no-repeat;
}

.product-card__favorite.is-active,
.product-card.is-favorite .product-card__favorite,
.product-card--favorite .product-card__favorite {
  color: var(--theme-accent);
}

.product-card__favorite.is-active .product-card__favorite-icon,
.product-card.is-favorite .product-card__favorite-icon,
.product-card--favorite .product-card__favorite-icon {
  background-image: url("/images/icon-heart-filled.svg");
}

.product-card__cart {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  max-width: 100%;
  min-height: var(--product-card-cart-height);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px var(--product-card-cart-padding-x);
  font-size: var(--product-card-cart-font-size);
  white-space: nowrap;
}

@media screen and (min-width: 1025px) {
  .product-card {
    --product-card-cart-height: clamp(40px, 14cqw, 50px);
    --product-card-action-height: clamp(58px, 26cqw, 68px);
    --product-card-favorite-size: 45px;
    --product-card-icon-size: clamp(29px, 10.3cqw, 34px);
  }

  .product-card__cart {
    padding-inline: var(--product-card-cart-padding-x);
  }
}

@media (hover: hover) and (pointer: fine) {
  .product-card:not(.is-favorite):hover .product-card__line--favorite::before,
  .product-card:not(.is-favorite)
    .product-card__media:hover
    .product-card__line--favorite::before {
    width: 50%;
  }

  .product-card:hover .product-card__line {
    opacity: 1;
  }

  .product-card:hover .product-card__hover-panel {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .product-card.is-favorite:hover .product-card__line--favorite::before {
    width: 100%;
  }

  .product-card.is-in-cart:hover .product-card__line--cart::before {
    width: 100%;
  }

  .product-card__favorite:hover,
  .product-card__favorite:focus-visible {
    background-color: var(--product-card-panel-hover-bg);
  }
}

@container product-card (min-width: 280px) {
  .product-card__hover-panel {
    --product-card-action-height: 85px;
    --product-card-action-padding-x: 20px;
    --product-card-action-padding-y: 10px;
    --product-card-action-bottom: 14px;
    --product-card-favorite-size: 45px;
    --product-card-icon-size: 34px;
    --product-card-cart-height: 45px;
    --product-card-action-gap: 14px;
    --product-card-cart-padding-x: 14px;
  }
}

/* ============================================
   UNIVERSAL PAGE HEAD — breadcrumbs + title
   ============================================ */

.page-head {
  position: relative;
  padding-top: 16px;
  padding-bottom: 0;
}

.page-head__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.page-location {
  margin: 0;
}

/* Hide legacy header breadcrumbs block */
.page-head.page-head--header {
  display: none;
}

/* --- Breadcrumbs --- */
.page-location {
  margin: 0;
}

.page-location .rank-math-breadcrumb,
.page-location .rank-math-breadcrumb > p {
  display: contents;
  margin: 0;
  padding: 0;
}

.page-location .rank-math-breadcrumb a,
.page-location .rank-math-breadcrumb span {
  font-family: "Alumni Sans", sans-serif;
  font-weight: 500;
  font-size: 14px;
  font-size: var(--fs-m-min, 14px);
  line-height: 120%;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
  color: var(--theme-text-muted, rgba(255, 255, 255, 0.4));
  text-decoration: none;
  transition: color 0.2s ease;
}

.page-location .rank-math-breadcrumb a:hover,
.page-location .rank-math-breadcrumb a:focus-visible {
  color: #fff;
  color: var(--theme-text-main, #fff);
  outline: none;
}

.page-location .rank-math-breadcrumb .last,
.page-location .rank-math-breadcrumb span:last-child {
  color: #fff;
  color: var(--theme-text-main, #fff);
}

/* --- Decorative tooth --- */
.page-head .header__tooth-wrap {
  margin-top: 20px;
}

/* --- Responsive --- */
@media (min-width: 768px) {
  .page-head {
    padding-top: 20px;
  }
  .section-title {
    font-size: 48px;
  }
  .page-location .rank-math-breadcrumb a,
  .page-location .rank-math-breadcrumb span {
    font-size: 18px;
    font-size: var(--fs-m-mid, 18px);
  }
}

@media (min-width: 1025px) {
  .page-head {
    padding-top: 24px;
  }
  .section-title {
    font-size: 55px;
  }
  .page-location .rank-math-breadcrumb a,
  .page-location .rank-math-breadcrumb span {
    font-size: 21px;
    font-size: var(--fs-m-max, 21px);
  }
}


/* ============================================
   BREADCRUMBS INSIDE HEADER — compact
   ============================================ */

.page-head.page-head--header {
  position: relative;
  padding-top: 0;
  padding-bottom: 0;
  background: transparent;
}

.page-head.page-head--header .page-head__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 6px;
  padding-bottom: 6px;
  gap: 0;
}

.page-head.page-head--header .page-location {
  margin-top: 0;
  margin-bottom: 0;
  width: 100%;
  justify-content: center;
}

@media (min-width: 768px) {
  .page-head.page-head--header .page-head__inner {
    padding-top: 8px;
    padding-bottom: 8px;
  }
}

@media (min-width: 1025px) {
  .page-head.page-head--header .page-head__inner {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .page-head.page-head--header .page-location {
    margin-top: 0;
    margin-bottom: 0;
  }
}

@media (min-width: 768px) {
  .page-head.page-head--header .page-head__inner {
    padding-top: 8px;
    padding-bottom: 8px;
  }
}

@media (min-width: 1025px) {
  .page-head.page-head--header .page-head__inner {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .page-head.page-head--header .page-location {
    margin-top: 0;
    margin-bottom: 0;
  }
}
/* ---------- Button secondary ---------- */
.button--secondary {
  --button-color: #030303;
  --button-bg: #e13122;
  --button-border: #e13122;
  --button-hover-color: #030303;
  --button-hover-bg:
    linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%),
    #e13122;
  --button-hover-border: transparent;
}


/* ---------- Hero tooth ---------- */

/* ============================================
   HERO TOOTH FIX — override header.php mobile !important
   ============================================ */

/* Mobile / Tablet (до 1024px): маленькие зубы под hero */
@media (max-width: 1024px) {
  .home-hero__inner .header__tooth-wrap.home-hero__tooth-wrap,
  .header__tooth-wrap.home-hero__tooth-wrap {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: 0 !important;
    height: 40px !important;
    overflow: visible !important;
    pointer-events: none !important;
    z-index: 2 !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .header__tooth-wrap.home-hero__tooth-wrap > .header__tooth {
    position: relative !important;
    width: 120px !important;
    height: 40px !important;
    margin: -1px auto 0 !important;
    pointer-events: none !important;
  }

  .header__tooth-wrap.home-hero__tooth-wrap > .header__tooth::before,
  .header__tooth-wrap.home-hero__tooth-wrap > .header__tooth::after {
    position: absolute !important;
    top: 0 !important;
    width: 32px !important;
    height: 40px !important;
    content: "" !important;
    background-image: url("/images/tooth-header.svg") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
  }

  .header__tooth-wrap.home-hero__tooth-wrap > .header__tooth::before {
    left: 0 !important;
  }

  .header__tooth-wrap.home-hero__tooth-wrap > .header__tooth::after {
    right: 0 !important;
  }
}

/* Desktop (1025px+): большие зубы под hero */
@media (min-width: 1025px) {
  .header__tooth-wrap.home-hero__tooth-wrap {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: 0 !important;
    height: 52px !important;
    width: auto !important;
    margin-top: 0 !important;
    overflow: visible !important;
    pointer-events: none !important;
    z-index: 2 !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .header__tooth-wrap.home-hero__tooth-wrap > .header__tooth {
    position: relative !important;
    width: 530px !important;
    height: 52px !important;
    margin: -1px auto 0 !important;
    pointer-events: none !important;
  }

  .header__tooth-wrap.home-hero__tooth-wrap > .header__tooth::before,
  .header__tooth-wrap.home-hero__tooth-wrap > .header__tooth::after {
    position: absolute !important;
    top: 0 !important;
    width: 42px !important;
    height: 52px !important;
    content: "" !important;
    background-image: url("/images/tooth-header.svg") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
  }

  .header__tooth-wrap.home-hero__tooth-wrap > .header__tooth::before {
    left: 0 !important;
  }

  .header__tooth-wrap.home-hero__tooth-wrap > .header__tooth::after {
    right: 0 !important;
  }
}
/* ============================================
   PAGE-HEAD MOBILE TOOTH — override header.php inline
   ============================================ */

@media (max-width: 1024px) {
  /* Глобальные зубы от header.php прячем, если рядом есть page-head */
  .page-head ~ .header__tooth-wrap,
  .page-head + .header__tooth-wrap {
    display: none !important;
  }

  /* Зубы внутри page-head: перебиваем inline !important из header.php */
  .page-head .header__tooth-wrap {
    position: absolute !important;
    top: auto !important;
    right: 0 !important;
    bottom: -15px !important;
    left: 0 !important;
    display: block !important;
    height: 40px !important;
    overflow: visible !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }

  .page-head .header__tooth {
    position: relative !important;
    width: 120px !important;
    height: 40px !important;
    margin: -1px auto 0 !important;
    pointer-events: none !important;
  }

  .page-head .header__tooth::before,
  .page-head .header__tooth::after {
    position: absolute !important;
    top: 0 !important;
    width: 32px !important;
    height: 40px !important;
    content: "" !important;
    background-image: url("/images/tooth-header.svg") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
  }

  .page-head .header__tooth::before { left: 0 !important; }
  .page-head .header__tooth::after { right: 0 !important; }

  /* Не даём JS скрыть зубы page-head */
  .page-head .header__tooth-wrap.is-hidden {
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (min-width: 1025px) {
  /* На десктопе зубы внутри page-head не нужны */
  .page-head .header__tooth-wrap {
    display: none !important;
  }
}
/* ---------- Slider arrow disabled ---------- */
.slider-arrow.is-disabled {
  visibility: hidden;
  pointer-events: none;
}

/* ---------- Hero tooth (inside hero section) ---------- */
.header__tooth-wrap.home-hero__tooth-wrap {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  z-index: 2;
  display: block;
  height: 40px;
  overflow: visible;
  pointer-events: none;
}

.header__tooth-wrap.home-hero__tooth-wrap > .header__tooth {
  position: relative;
  width: 120px;
  height: 40px;
  margin: -1px auto 0;
  pointer-events: none;
}

.header__tooth-wrap.home-hero__tooth-wrap > .header__tooth::before,
.header__tooth-wrap.home-hero__tooth-wrap > .header__tooth::after {
  position: absolute;
  top: 0;
  width: 32px;
  height: 40px;
  content: "";
  background-image: url("/images/tooth-header.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.header__tooth-wrap.home-hero__tooth-wrap > .header__tooth::before {
  left: 0;
}

.header__tooth-wrap.home-hero__tooth-wrap > .header__tooth::after {
  right: 0;
}

@media (min-width: 1025px) {
  .header__tooth-wrap.home-hero__tooth-wrap {
    display: block !important;
    margin-top: 0 !important;
    position: absolute;
    top: 100%;
    height: 52px;
    width: auto;
  }

  .header__tooth-wrap.home-hero__tooth-wrap > .header__tooth {
    width: 530px;
    height: 52px;
  }

  .header__tooth-wrap.home-hero__tooth-wrap > .header__tooth::before,
  .header__tooth-wrap.home-hero__tooth-wrap > .header__tooth::after {
    width: 42px;
    height: 52px;
  }
}

/* ---------- Slider arrow disabled ---------- */
.slider-arrow.is-disabled {
  visibility: hidden;
  pointer-events: none;
}

/* ---------- Product tabs animation ---------- */
.home-products__tab {
  position: relative;
}

.home-products__tab::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -4px;
  left: 0;
  height: 4px;
  background: linear-gradient(
    90deg,
    rgba(225, 49, 34, 0) 0%,
    #e13122 50%,
    rgba(225, 49, 34, 0) 100%
  );
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease;
}

.home-products__tab.state-nav__item--active::after {
  transform: scaleX(1);
}

/* ---------- Offer pagination ---------- */
.home-offer__pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
}

/* ---------- State navigation ---------- */
.state-nav {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.state-nav__item {
  position: relative;
  color: var(--theme-text-muted);
  transition: var(--transition-color);
}

.state-nav__item::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -4px;
  left: 0;
  height: 4px;
  background: linear-gradient(
    90deg,
    rgba(225, 49, 34, 0) 0%,
    var(--theme-accent) 50%,
    rgba(225, 49, 34, 0) 100%
  );
  transform: scaleX(0);
  transform-origin: center;
  transition: var(--transition-transform);
}

.state-nav__item--active {
  color: var(--theme-text-main);
}

.state-nav__item--active::after {
  transform: scaleX(1);
}

.state-nav__item:focus-visible {
  color: var(--theme-text-soft);
  outline: none;
}

.state-nav__item--active:focus-visible {
  color: var(--theme-text-main);
}

@media (hover: hover) and (pointer: fine) {
  .state-nav__item:not(.state-nav__item--active):hover {
    color: var(--theme-text-soft);
  }

  .state-nav__item--active:hover {
    color: var(--theme-text-main);
  }
}

/* ---------- Visual pagination ---------- */
.visual-pagination {
  display: flex;
  align-items: center;
  gap: 6px;
}

.visual-pagination__item {
  position: relative;
  width: 12px;
  height: 12px;
  background: rgba(255, 255, 255, 0.4);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.visual-pagination__item--active {
  background: var(--theme-accent);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.visual-pagination__item--active-red {
  background: var(--theme-accent);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.visual-pagination__item--active-white {
  background: var(--theme-text-main);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.visual-pagination__item--inactive {
  background: rgba(255, 255, 255, 0.4);
}

/* ---------- Slider arrows ---------- */
.slider-arrow {
  --slider-arrow-size: 32px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 var(--slider-arrow-size);
  width: var(--slider-arrow-size);
  height: var(--slider-arrow-size);
  color: var(--arrow-color);
  background: var(--arrow-bg);
  border: 0.5px solid var(--arrow-border);
  backdrop-filter: blur(1px);
  transition: var(--transition-interactive);
}

.slider-arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  pointer-events: none;
  transition: var(--transition-opacity);
}

.slider-arrow--prev::after {
  background-image: url("/images/arrow-left-footer-hover.svg");
}

.slider-arrow--next::after {
  background-image: url("/images/arrow-right-footer-hover.svg");
}

.slider-arrow:focus-visible {
  color: var(--arrow-color-hover);
  background: var(--arrow-bg-hover);
  border-color: var(--arrow-border-hover);
  outline: none;
}

.slider-arrow__icon {
  width: var(--slider-arrow-size);
  height: var(--slider-arrow-size);
  transition: var(--transition-opacity);
}

.slider-arrow:focus-visible .slider-arrow__icon {
  opacity: 0;
}

.slider-arrow:focus-visible::after {
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  .slider-arrow:hover {
    color: var(--arrow-color-hover);
    background: var(--arrow-bg-hover);
    border-color: var(--arrow-border-hover);
  }

  .slider-arrow:hover .slider-arrow__icon {
    opacity: 0;
  }

  .slider-arrow:hover::after {
    opacity: 1;
  }
}

@media (min-width: 1025px) {
  .slider-arrow {
    --slider-arrow-size: 40px;
  }
}

@media (min-width: 1400px) {
  .slider-arrow {
    --slider-arrow-size: 64px;
  }
}
/* Legal links — force same size as contact links */
.footer__legal-link {
  font-size: var(--fs-m-min);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  letter-spacing: var(--ls-uppercase-min);
  line-height: var(--lh-base);
}

/* ============================================
   ГЛАВНАЯ СТРАНИЦА — Home
   ============================================ */

.page.home__page {
  padding-top: 0 !important;
}

@media (min-width: 768px) {
  body.home div.page.home__page {
    padding-top: 0 !important;
  }
}

.home-page {
  padding-bottom: 100px;
}

.home-hero {
  background: var(--theme-surface-bg);
}

.home-hero__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-top: 70px;
  padding-bottom: 20px;
}

.home-hero__slider,
.home-preorder__slider,
.home-news__slider {
  position: relative;
}

.home-hero__list {
  position: relative;
  display: flex;
  overflow-x: hidden;
  overflow-y: visible;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  margin-inline: calc(var(--container-pad-mobile) * -1);
}

.home-hero__slide {
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  scroll-snap-align: start;
}

.home-hero__media {
  height: 160px;
  overflow: hidden;
}

.home-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-hero__arrows {
  position: absolute;
  top: calc(var(--home-hero-media-height, 160px) / 2);
  right: 20px;
  left: 20px;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  pointer-events: none;
}

.home-hero__arrows .slider-arrow {
  pointer-events: auto;
}

.home-hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 20px;
  text-align: center;
}

.home-hero__pagination {
  display: flex;
  justify-content: center;
}

.home-hero__text {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

.home-hero__button {
  align-self: center;
}

.home-hero__list::-webkit-scrollbar {
  display: none;
}

.home-products {
  padding-top: 32px;
}

@media (min-width: 768px) {
  .home-products {
    padding-top: 60px;
  }
}

.home-universes,
.home-preorder,
.home-news {
  padding-top: 100px;
}

.home-products {
  position: relative;
}

.home-products__inner,
.home-universes__inner,
.home-preorder__inner,
.home-news__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.home-products__title {
  margin-bottom: 16px;
}

.home-universes__title,
.home-preorder__title,
.home-news__title {
  margin-bottom: 40px;
}

.home-products__title,
.home-universes__title,
.home-preorder__title,
.home-news__title {
  width: 100%;
}

.home-products__tabs {
  margin-bottom: 32px;
}

.home-products__tab {
  font-size: 20px;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.home-products__body {
  width: min(100%, 335px);
  max-width: 335px;
  min-width: 0;
  margin-inline: auto;
  overflow: visible;
}

.home-products__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px 16px;
  justify-content: start;
  width: 100%;
  min-width: 0;
}

.home-products__item {
  width: 100%;
  max-width: 213px;
  min-width: 0;
  margin-inline: auto;
}

.home-products__link {
  display: block;
  width: 100%;
  max-width: 213px;
  min-width: 0;
}

.home-products__media {
  width: 100%;
  max-width: 213px;
  aspect-ratio: 213 / 323;
  min-width: 0;
}

.home-products__image {
  width: 100%;
  max-width: 213px;
  height: 100%;
  display: block;
  object-fit: cover;
}

.home-products__content {
  padding-top: 16px;
}

.home-products__price {
  color: var(--theme-text-soft);
}

.home-products__button {
  margin-top: 32px;
}

.home-news__button {
  margin-top: 40px;
}

.home-products__arrows {
  display: none;
}

@media (max-width: 1024px) {
  .home-products__arrows {
    display: flex;
    position: absolute;
    top: var(--home-products-arrows-top, 50%);
    left: 50%;
    z-index: 3;
    justify-content: space-between;
    width: min(calc(100% - 20px), 1606px);
    pointer-events: none;
    transform: translate(-50%, -50%);
  }
  .home-products__arrow {
    pointer-events: auto;
  }

  .home-products__body {
    width: 100%;
    max-width: none;
    overflow-x: auto;
    overflow-y: visible;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .home-products__body::-webkit-scrollbar {
    display: none;
  }
  .home-products__list {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    width: max-content;
    min-width: 100%;
    justify-content: flex-start;
  }
  .home-products__item {
    flex: 0 0 160px;
    width: 160px;
    max-width: none;
    margin-inline: 0;
    scroll-snap-align: start;
  }
  .home-products__link {
    max-width: none;
  }
  .home-products__media {
    max-width: none;
    aspect-ratio: 213 / 323;
  }
  .home-products__image {
    max-width: none;
  }
}

.home-universes__arrows {
  display: flex;
}

.home-offer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 100px;
  padding: 16px 20px;
  text-align: center;
  background: var(--theme-accent);
}

.home-universes {
  position: relative;
}

.home-universes__slider {
  width: 100%;
}

.home-universes__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
}

.home-universes__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 0;
  text-align: center;
}

.home-universes__media {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 80px;
  max-width: 100%;
  height: 70px;
}

.home-universes__media::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 80%;
  height: 100%;
  background: rgba(255, 255, 255, 0.4);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  transform: translateX(-50%);
  transition: background-color var(--duration-main) var(--ease-main);
}

.home-universes__image {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  object-position: bottom center;
}

.home-universes__link:focus-visible {
  outline: none;
}

.home-universes__link:focus-visible .home-universes__media::before {
  background: var(--theme-accent);
}

.home-universes__name {
  font-size: 16px;
  font-weight: 400;
  text-transform: uppercase;
}

.home-preorder__title {
  margin-bottom: 40px;
}

.home-preorder__slider,
.home-preorder__list,
.home-preorder__item {
  width: 100%;
}

.home-preorder__slider {
  --home-preorder-cover-width: clamp(220px, 58.5vw, 388px);
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 32px;
  align-items: center;
  row-gap: 16px;
}

.home-preorder__arrow {
  position: absolute;
  top: calc(var(--home-preorder-cover-width) * 0.76);
  z-index: 2;
  transform: translateY(-50%);
}

.home-preorder__arrow--prev {
  left: 0px;
}

.home-preorder__list {
  grid-column: 1 / -1;
  grid-row: 1;
  display: flex;
  width: calc(100% + var(--container-pad-mobile) + var(--container-pad-mobile));
  margin-inline: calc(var(--container-pad-mobile) * -1);
  overflow-x: auto;
  overflow-y: visible;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.home-preorder__item {
  flex: 0 0 100%;
  scroll-snap-align: start;
}

.home-preorder__list::-webkit-scrollbar {
  display: none;
}

.home-preorder__card {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: 16px;
  justify-items: center;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  overflow: hidden;
}

.home-preorder__backdrop {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  top: calc(var(--home-preorder-cover-width) * 0.3);
  z-index: 0;
  background:
    linear-gradient(
      180deg,
      rgba(14, 12, 12, 0.28) 0%,
      rgba(14, 12, 12, 0.72) 58%,
      rgba(225, 49, 34, 0.16) 100%
    ),
    var(--preorder-bg, url("./images/soon_in_sale_bg_img.png")) center / cover
      no-repeat;
}

.home-preorder__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  order: 2;
  width: 100%;
  padding: 20px 20px 0px 20px;
  align-items: center;
  text-align: center;
}

.home-preorder__content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: -220px;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.3) 50%,
    rgba(0, 0, 0, 0) 100%
  );
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

.home-preorder__name {
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.home-preorder__media {
  position: relative;
  z-index: 1;
  order: 1;
  width: var(--home-preorder-cover-width);
  max-width: 100%;
  filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.75));
}

.home-preorder__image {
  width: 100%;
}

.home-preorder__actions {
  position: relative;
  z-index: 1;
  order: 3;
  width: 100%;
  padding: 0px 20px 20px 20px;
}

.home-preorder__actions-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

.home-preorder__arrow--next {
  right: 0px;
}

.home-news {
  position: relative;
}

.home-news__slider {
  --home-news-gap: 40px;
  width: min(
    calc(100% + var(--container-pad-mobile) + var(--container-pad-mobile)),
    453px
  );
  margin-inline: max(
    calc(var(--container-pad-mobile) * -1),
    calc((100% - 453px) / 2)
  );
  overflow-x: hidden;
  overflow-y: visible;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.home-news__list {
  display: flex;
  gap: 0;
  justify-content: flex-start;
  width: 100%;
}

.home-news__item {
  flex: 0 0 100%;
  width: 100%;
  scroll-snap-align: start;
}

.home-news__item:nth-child(n + 2) {
  display: block;
}

.home-news__link {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.home-news__media {
  position: relative;
  width: 100%;
  aspect-ratio: 375 / 161.52;
  overflow: hidden;
}

.home-news__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-news__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-inline: var(--container-pad-mobile);
}

.home-news__meta {
  display: flex;
  gap: 16px;
  color: var(--theme-text-soft);
}

.home-news__category {
  color: var(--theme-accent);
}

.home-news__arrows {
  position: absolute;
  top: var(--home-news-arrows-top, 80px);
  right: auto;
  left: 50%;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  width: min(calc(100vw - 40px), 1606px);
  margin-inline: 0;
  margin-top: 0;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.home-news__arrow {
  pointer-events: auto;
}

.home-news__slider::-webkit-scrollbar {
  display: none;
}

.is-hidden {
  display: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .home-products__link:hover ~ .product-card__hover-panel,
  .home-products__link:focus-visible ~ .product-card__hover-panel {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .home-products__link:hover ~ .product-card__line,
  .home-products__link:focus-visible ~ .product-card__line {
    opacity: 1;
  }

  .home-products__item:not(.is-favorite)
    .home-products__link:hover
    ~ .product-card__line--favorite::before,
  .home-products__item:not(.is-favorite)
    .home-products__link:focus-visible
    ~ .product-card__line--favorite::before {
    width: 50%;
  }

  .home-universes__link:hover .home-universes__media::before {
    background: var(--theme-accent);
  }

  .home-preorder__list {
    width: 100%;
    margin-inline: 0;
  }

  .home-news__arrows {
    width: min(100%, 453px);
    margin-inline: auto;
  }
}

@media (min-width: 640px) and (max-width: 767px) {
  .home-products__body {
    width: 100%;
    max-width: none;
  }

  .home-products__list {
    grid-template-columns: repeat(3, minmax(0, 213px));
    justify-content: center;
  }
}

@media (min-width: 768px) {
  .home-page {
    padding-bottom: 140px;
  }

  .home-hero__list {
    margin-inline: calc(var(--container-pad-tablet) * -1);
  }

  .home-products__body {
    width: 100%;
    max-width: none;
    overflow: visible;
  }

  .home-products__list {
    grid-template-columns: repeat(auto-fit, minmax(157px, 213px));
    justify-content: center;
    gap: 32px 20px;
  }

  .home-universes__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .home-preorder__arrow--prev {
    left: -15px;
  }

  .home-preorder__list {
    width: 100%;
    margin-inline: none;
    margin-left: auto;
    margin-right: auto;
  }

  .home-preorder__card {
    width: 100%;
    max-width: none;
    margin-inline: auto;
  }

  .home-preorder__arrow--next {
    right: -15px;
  }

  .home-news__slider {
    width: min(100%, 453px);
    margin-inline: auto;
  }

  .home-news__media {
    width: 100%;
    margin-inline: 0;
  }

  .home-news__content {
    padding-inline: 0;
  }
}

@media (min-width: 1025px) {
  .page.home__page {
    padding-top: 0 !important;
  }
  .home-hero {
    position: relative;
  }

  .home-page {
    padding-bottom: 180px;
  }

  .home-hero__inner {
    padding-top: 64px;
    padding-bottom: 47px;
  }

  .home-hero__list {
    margin-inline: 0px;
  }

  .home-hero__media {
    width: min(100%, 1440px);
    height: auto;
    aspect-ratio: 1440 / 616;
    margin-inline: auto;
  }

  .home-hero__arrows {
    top: calc(var(--home-hero-media-height, 616px) / 2);
    right: auto;
    left: 50%;
    width: min(calc(100% - 40px), 1606px);
    justify-content: space-between;
    gap: 0;
    transform: translate(-50%, -50%);
  }

  .home-hero__content {
    position: absolute;
    bottom: 0px;
    left: 50%;
    z-index: 2;
    isolation: isolate;
    align-items: center;
    max-width: 720px;
    width: 100%;
    padding: 20px;
    text-align: center;
    transform: translateX(-50%);
    gap: 20px;
  }

  .home-hero__content::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
      90deg,
      rgba(14, 12, 12, 0) 0%,
      rgba(14, 12, 12, 0.22) 18%,
      rgba(14, 12, 12, 0.22) 82%,
      rgba(14, 12, 12, 0) 100%
    );
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }

  .home-hero__pagination {
    justify-content: center;
  }

  .home-hero__button {
    align-self: center;
  }

  .home-preorder,
  .home-news {
    padding-top: 120px;
  }

  .home-products {
    padding-top: 80px;
  }

  .home-products__title {
    margin-bottom: 20px;
  }

  .home-universes__title,
  .home-preorder__title,
  .home-news__title {
    margin-bottom: 50px;
  }

  .home-products__tabs {
    margin-bottom: 50px;
  }

  .home-products__tab {
    font-size: 30px;
  }

  .home-products__body {
    width: 100%;
    max-width: none;
    overflow-x: auto;
    overflow-y: visible;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home-products__list {
    display: flex;
    flex-wrap: nowrap;
    gap: 40px;
    justify-content: flex-start;
    width: max-content;
    min-width: 100%;
  }

  .home-products__body::-webkit-scrollbar,
  .home-universes__list::-webkit-scrollbar {
    display: none;
  }

  .home-products__arrows {
    display: flex;
  }

  .home-products__arrows,
  .home-universes__arrows {
    position: absolute;
    left: 50%;
    z-index: 3;
    display: flex;
    justify-content: space-between;
    width: min(calc(100% - 40px), 1606px);
    pointer-events: none;
    transform: translateX(-50%);
  }

  .home-products__arrows {
    top: var(--home-products-arrows-top, calc(50% + 38px));
    transform: translate(-50%, -50%);
  }

  .home-universes__inner {
    --home-universes-media-height: 180px;
  }

  .home-universes__slider {
    position: relative;
    width: 100%;
  }

  .home-universes__arrows {
    top: var(--home-universes-media-height);
    transform: translate(-50%, -100%);
  }

  .home-products__arrow,
  .home-universes__arrow {
    pointer-events: auto;
  }

  .home-products__item {
    flex: 0 0 calc(20% - 32px);
    width: calc(20% - 32px);
    max-width: none;
    margin-inline: 0;
    scroll-snap-align: start;
  }

  .home-products__link {
    max-width: none;
  }

  .home-products__media {
    max-width: none;
    aspect-ratio: 330 / 499;
  }

  .home-products__image {
    max-width: none;
  }

  .home-offer {
    padding: 20px 144px;
  }

  .home-universes__list {
    --home-universes-card-width: 206px;
    display: flex;
    flex-wrap: nowrap;
    gap: 40px;
    overflow-x: auto;
    overflow-y: visible;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home-universes__item {
    flex: 0 0 var(--home-universes-card-width);
    scroll-snap-align: start;
  }

  .home-universes__media {
    width: var(--home-universes-card-width);
    height: var(--home-universes-media-height);
  }

  .home-universes__name {
    font-size: 30px;
  }

  .home-preorder__title {
    margin-bottom: 40px;
  }

  .home-preorder__slider {
    display: block;
    overflow: visible;
    position: relative;
  }

  .home-preorder__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  .home-preorder__arrow--prev {
    left: calc((100% - 100vw) / 2 + 20px);
  }

  .home-preorder__list {
    width: 100%;
  }

  .home-preorder__card {
    --home-preorder-poster-width: clamp(260px, 24vw, 388px);
    max-width: 1440px;
    display: grid;
    grid-template-columns:
      minmax(0, 1fr) var(--home-preorder-poster-width)
      minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: stretch;
    gap: 0px;
    overflow: visible;
    padding-left: 30px;
    padding-right: 30px;
  }

  .home-preorder__backdrop {
    top: 50%;
    bottom: auto;
    height: clamp(280px, 24vw, 420px);
    transform: translateY(-50%);
  }

  .home-preorder__content {
    order: initial;
    grid-column: 1;
    grid-row: 2;
    align-self: stretch;
    justify-self: end;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 460px;
    height: auto;
    padding: 20px;
    text-align: center;
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.3) 50%,
      rgba(0, 0, 0, 0) 100%
    );
    backdrop-filter: blur(7px);
  }

  .home-preorder__content::before {
    display: none;
  }

  .home-preorder__info {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .home-preorder__name {
    font-weight: 700;
  }

  .home-preorder__media {
    display: flex;
    justify-content: center;
    align-items: center;
    order: 2;
    width: var(--home-preorder-poster-width);
    max-width: 388px;
    align-self: center;
  }

  .home-preorder__image {
    display: block;
    width: 100%;
    max-width: 388px;
  }

  .home-preorder__actions {
    order: 3;
    align-self: center;
    justify-self: center;
    width: 100%;
    padding: 20px;
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.3) 50%,
      rgba(0, 0, 0, 0) 100%
    );
    backdrop-filter: blur(7px);
  }

  .home-preorder__content::before {
    display: none;
  }

  .home-preorder__media {
    order: initial;
    grid-column: 2;
    grid-row: 1 / 4;
    align-self: center;
    justify-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--home-preorder-poster-width);
    max-width: 388px;
  }

  .home-preorder__image {
    display: block;
    width: 100%;
    max-width: 388px;
    height: auto;
  }

  .home-preorder__actions {
    order: initial;
    grid-column: 3;
    grid-row: 2;
    align-self: stretch;
    justify-self: start;
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 460px;
    height: auto;
    padding: 20px;
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.3) 50%,
      rgba(0, 0, 0, 0) 100%
    );
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
  }

  .home-preorder__actions-inner {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
  }

  .home-preorder__arrow--next {
    right: calc((100% - 100vw) / 2 + 20px);
  }

  .home-news__slider {
    width: 100%;
    overflow: visible;
    scroll-snap-type: none;
    scrollbar-width: auto;
  }

  .home-news__list {
    display: grid;
    grid-template-columns: repeat(2, 453px);
    justify-content: center;
    width: 100%;
    gap: 40px;
  }

  .home-news__item {
    display: block;
    flex: initial;
    width: auto;
    scroll-snap-align: none;
  }

  .home-news__item:nth-child(n + 3) {
    display: block;
  }

  .home-news__link {
    gap: 20px;
    max-width: 453px;
  }

  .home-news__media {
    max-width: 453px;
    aspect-ratio: 453 / 195;
  }

  .home-news__arrows {
    display: none;
  }
}

@media (min-width: 1400px) {
  .home-page {
    padding-bottom: 220px;
  }

  .home-universes__title,
  .home-preorder__title,
  .home-news__title {
    margin-bottom: 60px;
  }

  .home-products__tabs {
    margin-bottom: 60px;
  }

  .home-products__tab {
    font-size: 34px;
  }

  .home-universes__name {
    font-size: 34px;
  }

  .home-preorder__card {
    padding-left: 45px;
    padding-right: 45px;
  }
}

  .home-preorder__card {
    padding-left: 65px;
    padding-right: 65px;
  }
}


/* --- Hero text fonts --- */
.home-hero__title {
  font-family: "Alumni Sans", sans-serif;
  font-weight: 900;
  font-size: 34px;
  line-height: 100%;
  text-transform: uppercase;
  color: #fff;
  margin: 0;
}
.home-hero__subtitle {
  font-family: "Alumni Sans", sans-serif;
  font-weight: 400;
  font-size: 21px;
  line-height: 100%;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}

/* --- Product tabs underline (uses state-nav__item::after) --- */
.home-products__tab {
  position: relative;
}

/* --- Product price sale --- */
.home-products__price ins {
  text-decoration: none;
  color: #fff;
}
.home-products__price del {
  color: rgba(255, 255, 255, 0.4);
  margin-right: 8px;
}

/* Legal links */
.footer__legal-link {
  font-size: var(--fs-m-min);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  letter-spacing: var(--ls-uppercase-min);
  line-height: var(--lh-base);
}

/* Currency symbol */
.footer__product-price .woocommerce-Price-currencySymbol,
.author-works__price .woocommerce-Price-currencySymbol {
  font-size: 0.8em;
  vertical-align: baseline;
}

/* ============================================
   HOME — PREORDER FIX + PAGINATION
   ============================================ */

/* Image fix — prevent stretching */
.home-preorder__media {
  position: relative;
  z-index: 1;
  order: 1;
  width: var(--home-preorder-cover-width);
  max-width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.75));
}

.home-preorder__image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

/* Preorder pagination dots */
.home-preorder__pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
}

/* Desktop already has flex — keep it consistent */
@media (min-width: 1025px) {
  .home-preorder__media {
    order: initial;
    grid-column: 2;
    grid-row: 1 / 4;
    align-self: center;
    justify-self: center;
    width: var(--home-preorder-poster-width);
    max-width: 388px;
  }

  .home-preorder__image {
    max-width: 388px;
  }
}
.home-hero__pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
}

/* Wishlist active states — icon only, line styles removed */
.product-card__favorite-icon {
  transition:
    filter 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease;
  opacity: 0.6;
}
.product-card__favorite.is-favorite .product-card__favorite-icon {
  filter: brightness(0) saturate(100%) invert(27%) sepia(91%) saturate(5000%)
    hue-rotate(350deg) brightness(90%) contrast(101%);
  opacity: 1;
  transform: scale(1.1);
}

/* Компактный page-head: крошки + заголовок в одном месте */
.page-head {
  padding-top: 16px;
  padding-bottom: 0;
  background: transparent;
}
.page-head__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
  gap: 8px;
}
.page-location {
  margin: 0 !important;
}

@media (min-width: 768px) {
  .page-head {
    padding-top: 20px;
  }
}
@media (min-width: 1025px) {
  .page-head {
    padding-top: 24px;
  }
}
/* ============================================
   PAGE-HEAD: mobile block + desktop compact
   ============================================ */

/* ---- Mobile (<1025px): хедер-плашка с зубами ---- */
@media (max-width: 1024px) {
  .page-head {
    position: relative;
    background: var(--header-bg);
    padding-top: 0;
    padding-bottom: 0;
  }

  .page-head__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 60px;
    padding-bottom: 10px;
    gap: 0;
  }

  .page-head .page-location {
    margin-top: 0;
    margin-bottom: 20px;
    width: 100%;
    justify-content: center;
  }

  .page-head .header__tooth-wrap {
    position: absolute;
    top: auto;
    right: 0;
    bottom: -15px;
    left: 0;
    display: block;
    height: 40px;
    overflow: visible;
    opacity: 1;
    transform: none;
    pointer-events: none;
  }
}

/* ---- Desktop (1025px+): компактный прозрачный ---- */
@media (min-width: 1025px) {
  .page-head {
    background: transparent;
    padding-top: 24px;
    padding-bottom: 0;
  }

  .page-head__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 0;
    padding-bottom: 0;
    gap: 8px;
  }

  .page-location {
    margin-top: 0;
    margin-bottom: 0;
  }
}

/* ============================================
   GLOBAL INFO POPOVER
   ============================================ */
.vovk-info-popover {
  --vovk-info-popover-shift: 0px;

  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.vovk-info-popover__trigger {
  position: relative;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: rgba(255, 255, 255, 0.4);
  background: transparent;
  border: 0;
  transition: color var(--duration-main) var(--ease-main);
}

.vovk-info-popover__icon {
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

.vovk-info-popover__icon path,
.vovk-info-popover__icon circle,
.vovk-info-popover__icon ellipse {
  fill: currentColor;
  fill-opacity: 1;
}

.vovk-info-popover__bubble {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  z-index: 5;
  box-sizing: border-box;
  display: block;
  max-width: 335px;
  width: min(335px, calc(100vw - 40px));
  padding: 10px;
  color: rgba(255, 255, 255, 0.6);

  font-size: 16px;

  text-align: center;
  text-transform: none;
  white-space: normal;
  background-color: #191919;
  box-shadow: 0 30px 30px 0 rgba(0, 0, 0, 0.35);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(calc(-50% + var(--vovk-info-popover-shift)), -4px);
  transition:
    opacity var(--duration-main) var(--ease-main),
    visibility var(--duration-main) var(--ease-main),
    transform var(--duration-main) var(--ease-main);
}

.vovk-info-popover__bubble strong {
  color: var(--theme-text-main, #ffffff);
  font-weight: var(--fw-bold);
}

.vovk-info-popover.is-open .vovk-info-popover__trigger,
.vovk-info-popover__trigger:hover,
.vovk-info-popover__trigger:focus-visible {
  color: var(--theme-text-main, #ffffff);
}

.vovk-info-popover.is-open .vovk-info-popover__bubble {
  opacity: 1;
  visibility: visible;
  transform: translate(calc(-50% + var(--vovk-info-popover-shift)), 0);
}

.vovk-info-popover.is-below .vovk-info-popover__bubble {
  top: calc(100% + 10px);
  bottom: auto;
  transform: translate(calc(-50% + var(--vovk-info-popover-shift)), 4px);
}

.vovk-info-popover.is-open.is-below .vovk-info-popover__bubble {
  transform: translate(calc(-50% + var(--vovk-info-popover-shift)), 0);
}

.product-bonus__popover {
  justify-self: end;
}

.checkout-notice__info-popover {
  margin-left: auto;
}

.checkout-notice__info-popover .vovk-info-popover__trigger {
  width: 24px;
  height: 24px;
}

@media (hover: hover) and (pointer: fine) {
  .vovk-info-popover__trigger:hover {
    color: var(--theme-text-main, #ffffff);
  }
}
.alignleft {
    float: left !important;
    margin: 0 2.5em 1.5em 0 !important;
}

.alignright {
    float: right !important;
    margin: 0 0 1.5em 2.5em !important;
}

.aligncenter {
    display: block !important;
    margin: 0 auto 1.5em !important;
}

.wp-caption.alignleft,
.wp-caption.alignright {
    margin-bottom: 1.5em !important;
}
/* Footer: replace ₴ with грн. */
.footer__product-price .woocommerce-Price-currencySymbol { display: none !important; }
.footer__product-price .woocommerce-Price-amount::after { content: " грн."; }
/* Product page breadcrumbs — compact, at bottom */
.product-page__breadcrumbs {
  padding-top: 40px;
  padding-bottom: 20px;
}
.product-page__breadcrumbs .page-location {
  margin: 0;
  justify-content: flex-start;
}
.product-page__breadcrumbs .page-location .rank-math-breadcrumb a,
.product-page__breadcrumbs .page-location .rank-math-breadcrumb span {
  font-size: 13px;
  letter-spacing: 0.02em;
}
@media (min-width: 1025px) {
  .product-page__breadcrumbs {
    padding-top: 60px;
  }
}
@media (hover: none) and (pointer: coarse) {
  .product-card__hover-panel {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.3) 50%,
      rgba(0, 0, 0, 0) 100%
    );
  }
  .product-card__line {
    opacity: 1;
  }
  .product-card__favorite {
    opacity: 1;
  }
}

/* ============================================
   UNIFIED PRICE STYLES — home + catalog + single + footer
   ============================================ */

/* Global: ₴ → грн. */
.woocommerce-Price-currencySymbol { display: none !important; }
.woocommerce-Price-amount::after { content: " грн"; }

/* Product card: name (первая строка) */
.product-card__content p:first-child,
.home-products__name,
.catalog-product__name {
  color: var(--theme-text-main);
}

/* Product card: price (вторая строка) */
.product-card__content p:last-child,
.home-products__price,
.catalog-product__price {
  color: var(--theme-text-muted);
  font-family: 'Alumni Sans', sans-serif;
  text-transform: uppercase;
  font-size: var(--fs-l-min);
  line-height: var(--lh-tight);
}

/* Акционная цена */
.home-products__price ins,
.catalog-product__price ins,
.product-card__content ins {
  text-decoration: none;
  color: #fff;
}

/* Старая цена */
.home-products__price del,
.catalog-product__price del,
.product-card__content del {
  color: rgba(255,255,255,0.4);
  margin-right: 8px;
}

/* Footer / author: размер символа валюты */
.footer__product-price .woocommerce-Price-currencySymbol,
.author-works__price .woocommerce-Price-currencySymbol {
  font-size: 0.8em;
  vertical-align: baseline;
}

/* ============================================
   UNIFIED PRICE — home + catalog + single + recommendations
   ============================================ */

/* ₴ → грн. */
.woocommerce-Price-currencySymbol { display: none !important; }
.woocommerce-Price-amount::after { content: " грн"; }

/* Имя товара — белое */
.product-card__content p:first-child { color: var(--theme-text-main); }

/* Цена — muted */
.catalog-product__price,
.product-card__content p:last-child {
  color: var(--theme-text-muted);
  font-family: 'Alumni Sans', sans-serif;
  text-transform: uppercase;
  font-size: var(--fs-l-min);
  line-height: var(--lh-tight);
}

/* Акционная цена */
.catalog-product__price ins,
.product-card__content ins {
  text-decoration: none;
  color: #fff;
}

/* Старая цена */
.catalog-product__price del,
.product-card__content del {
  color: rgba(255,255,255,0.4);
  margin-right: 8px;
}

/* Цена — muted */
.catalog-product__price,
.footer__product-price,
.product-card__content p:last-child {
  color: var(--theme-text-muted);
  font-family: 'Alumni Sans', sans-serif;
  text-transform: uppercase;
  font-size: var(--fs-l-min);
  line-height: var(--lh-tight);
}

/* Акционная цена */
.catalog-product__price ins,
.footer__product-price ins,
.product-card__content ins {
  text-decoration: none;
  color: #fff;
}

/* Старая цена */
.catalog-product__price del,
.footer__product-price del,
.product-card__content del {
  color: rgba(255,255,255,0.4);
  margin-right: 8px;
}
/* Footer ONLY: icon cart button, no border */
.footer__product-card .product-card__hover-panel .product-card__cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  min-width: 45px;
  min-height: 45px;
  padding: 0;
  font-size: 0;
  flex: 0 0 auto;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px;
  background-color: transparent;
  border: none;
  transition: opacity 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
  .footer__product-card .product-card__hover-panel .product-card__cart:hover {
    opacity: 0.7;
  }
}

/* Footer: red icon when in cart, no box */
.footer__product-card.is-in-cart .product-card__hover-panel .product-card__cart,
.footer__product-card .product-card__hover-panel .product-card__cart[aria-pressed="true"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23e13122' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
  border: none;
  background-color: transparent;
}
/* Hide default WooCommerce notice on single product — custom toast only */
.single-product .woocommerce-message { display: none !important; }

/* ============================================
   HOME NEWS — 2 колонки 1025+, 3 колонки 1400+
   ============================================ */

@media (min-width: 1025px) and (max-width: 1399px) {
  .home-news__slider {
    width: 100%;
    overflow: visible;
    scroll-snap-type: none;
    scrollbar-width: auto;
  }
  .home-news__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 453px));
    justify-content: center;
    width: 100%;
    gap: 40px;
  }
  .home-news__item {
    display: block;
    flex: initial;
    width: auto;
    scroll-snap-align: none;
  }
  .home-news__item:nth-child(n + 3) {
    display: none;
  }
  .home-news__arrows {
    display: none;
  }
}

@media (min-width: 1400px) {
  .home-news__slider {
    width: 100%;
    overflow: visible;
    scroll-snap-type: none;
    scrollbar-width: auto;
  }
  .home-news__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 453px));
    justify-content: center;
    width: 100%;
    gap: 32px;
  }
  .home-news__item {
    display: block;
    flex: initial;
    width: auto;
    scroll-snap-align: none;
  }
  .home-news__item:nth-child(-n + 3) {
    display: block;
  }
  .home-news__item:nth-child(n + 4) {
    display: none;
  }
  .home-news__arrows {
    display: none;
  }
}

/* ============================================
   SINGLE POST / POST-PAGE — related news
   ============================================ */

@media (min-width: 1025px) and (max-width: 1399px) {
  .single-post .related-news__list,
  .single-post .post-news__list,
  .post-page .related-news__list,
  .post-page .post-news__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 453px));
    gap: 40px;
    justify-content: center;
    width: 100%;
  }
  .single-post .related-news__item,
  .single-post .post-news__item,
  .post-page .related-news__item,
  .post-page .post-news__item {
    display: block;
    max-width: 453px;
  }
  .single-post .related-news__item:nth-child(n + 3),
  .single-post .post-news__item:nth-child(n + 3),
  .post-page .related-news__item:nth-child(n + 3),
  .post-page .post-news__item:nth-child(n + 3) {
    display: none;
  }
}

@media (min-width: 1400px) {
  .single-post .related-news__list,
  .single-post .post-news__list,
  .post-page .related-news__list,
  .post-page .post-news__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 453px));
    gap: 32px;
    justify-content: center;
    width: 100%;
  }
  .single-post .related-news__item:nth-child(-n + 3),
  .single-post .post-news__item:nth-child(-n + 3),
  .post-page .related-news__item:nth-child(-n + 3),
  .post-page .post-news__item:nth-child(-n + 3) {
    display: block;
  }
  .single-post .related-news__item:nth-child(n + 4),
  .single-post .post-news__item:nth-child(n + 4),
  .post-page .related-news__item:nth-child(n + 4),
  .post-page .post-news__item:nth-child(n + 4) {
    display: none;
  }
}
/* ============================================
   HOME + SINGLE NEWS — 2 col 1025-1399, 3 col 1400+
   ============================================ */

/* 1025–1399: 2 колонки, 3-я скрыта */
@media (min-width: 1025px) and (max-width: 1399px) {
  .home-news__list,
  .single-post .related-news__list,
  .single-post .post-news__list,
  .post-page .related-news__list,
  .post-page .post-news__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 453px));
    justify-content: center;
    width: 100%;
    gap: 40px;
  }
  .home-news__item:nth-child(n + 3),
  .single-post .related-news__item:nth-child(n + 3),
  .single-post .post-news__item:nth-child(n + 3),
  .post-page .related-news__item:nth-child(n + 3),
  .post-page .post-news__item:nth-child(n + 3) {
    display: none;
  }
  .home-news__arrows {
    display: none;
  }
}

/* 1400+: 3 колонки, 4-я скрыта */
@media (min-width: 1400px) {
  .home-news__list,
  .single-post .related-news__list,
  .single-post .post-news__list,
  .post-page .related-news__list,
  .post-page .post-news__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 453px));
    justify-content: center;
    width: 100%;
    gap: 32px;
  }
  .home-news__item:nth-child(n + 4),
  .single-post .related-news__item:nth-child(n + 4),
  .single-post .post-news__item:nth-child(n + 4),
  .post-page .related-news__item:nth-child(n + 4),
  .post-page .post-news__item:nth-child(n + 4) {
    display: none;
  }
  .home-news__arrows {
    display: none;
  }
}
/* ============================================
   BADGES: зміна вертикального положення
   ============================================ */

/* Якщо класи схожі на футерні — змінюємо top */
.footer__badges,
.product-card__badges,
.catalog-product__badges {
  top: auto;           /* скасовуємо прив’язку до верху */
  bottom: 20px;        /* прив’язуємо до низу обкладинки */
  /* або просто: top: 40px; — якщо треба конкретна відстань від верху */
}

/* Альтернатива: точне зміщення вниз через transform */
.footer__badge--sale,
.footer__badge--new,
.product-card__badge--sale,
.product-card__badge--new,
.catalog-product__badge--sale,
.catalog-product__badge--new {
  /* якщо треба зрушити конкретно кожен бейдж окремо */
  /* transform: translateY(30px); */
}