/* Nova CMS storefront — clean reference-inspired layout. */
:root[data-template="nova"] {
    color-scheme: light;
    --nova-accent: #237b39;
    --color-primary: var(--nova-accent);
    --nova-accent-dark: #176329;
    --color-primary-dark: var(--nova-accent-dark);
    --nova-accent-soft: #edf8ee;
    --color-primary-soft: var(--nova-accent-soft);
    --color-accent: var(--nova-accent);
    --color-accent-dark: var(--nova-accent-dark);
    --color-success: var(--nova-accent);
    --color-danger: #b83d45;
    --color-text: #292d32;
    --color-muted: #5f686f;
    --color-border: #e8eae8;
    --color-surface: #fff;
    --color-surface-alt: #f5f6f5;
    --color-bg: #f5f6f5;
    --color-footer: #202522;
    --color-footer-text: #d0d5d1;
    --hero-gradient: #101211;
    --shadow-sm: 0 5px 18px rgba(20, 28, 22, .06);
    --shadow-md: 0 14px 35px rgba(20, 28, 22, .1);
}

/* Final contrast pass: keep these declarations after the responsive theme
   rules, which also contain badge and footer overrides. */
:root[data-template="nova"] .badge--sale {
    color: #fff !important;
    background: #a9363f !important;
    border-color: #a9363f !important;
}
:root[data-template="nova"] .price__old {
    color: #5f686f !important;
}
:root[data-template="nova"] .section-link,
:root[data-template="nova"] .catalog-menu__head a {
    color: var(--nova-accent-dark) !important;
}
:root[data-template="nova"] .home-about,
:root[data-template="nova"] .home-about__contact,
:root[data-template="nova"] .home-about__contact a,
:root[data-template="nova"] .home-about__contact strong {
    color: #fff !important;
}
:root[data-template="nova"] .home-about .eyebrow,
:root[data-template="nova"] .home-about__content > p:not(.eyebrow) {
    color: #f1f5f2 !important;
}
:root[data-template="nova"] .home-about__contact .object-status.is-open {
    color: var(--nova-accent-light) !important;
}
:root[data-template="nova"] .site-footer {
    color: #d0d5d1 !important;
}
:root[data-template="nova"] .site-footer a,
:root[data-template="nova"] .site-footer .logo__text {
    color: #fff !important;
}

/* Shared icon and navigation cleanup. The storefront and admin use the same
   self-contained Tabler subset, so no emoji glyphs or text chevrons leak into
   the interface when the active theme is loaded. */
:root[data-template="nova"] body:not(.portal-body) .breadcrumbs {
    font-size: 14px !important;
}
:root[data-template="nova"] body.page-catalog .breadcrumbs,
:root[data-template="nova"] body.page-category .breadcrumbs,
:root[data-template="nova"] body.page-brand .breadcrumbs,
:root[data-template="nova"] body.page-collection .breadcrumbs {
    font-size: 14px !important;
}
:root[data-template="nova"] .header-account-button {
    display: none !important;
}
:root[data-template="nova"] .category-card__icon .tabler-icon {
    width: 34px;
    height: 34px;
}
:root[data-template="nova"] .filter-design-preview__chevron-icon,
:root[data-template="nova"] .sidebar__section-chevron-icon {
    width: 18px;
    height: 18px;
}
:root[data-template="nova"] .support-chat__launcher > span:first-child .tabler-icon {
    width: 20px;
    height: 20px;
}
:root[data-template="nova"] .main-nav__callback {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
:root[data-template="nova"] .main-nav__callback > .tabler-icon {
    width: 16px;
    height: 16px;
}
:root[data-template="nova"] .nova-mobile-menu__more-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
:root[data-template="nova"] .nova-mobile-menu__more-links .tabler-icon {
    width: 20px;
    height: 20px;
    margin-left: auto;
}
:root[data-template="nova"] .main-nav__personal a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
:root[data-template="nova"] .main-nav__personal a > .tabler-icon {
    width: 16px;
    height: 16px;
}

:root[data-template="nova"] body {
    background: var(--color-bg);
    color: var(--color-text);
    font-family: var(--nova-font-family, Inter, Arial, sans-serif);
    font-size: 15px;
}

/* Production storefront contrast: keep the green identity while meeting WCAG
   contrast for secondary copy, links, controls and price metadata. */
:root[data-template="nova"] .topbar,
:root[data-template="nova"] .topbar a,
:root[data-template="nova"] .topbar button,
:root[data-template="nova"] .topbar__schedule,
:root[data-template="nova"] .breadcrumbs,
:root[data-template="nova"] .breadcrumbs a,
:root[data-template="nova"] .section-description,
:root[data-template="nova"] .catalog-head h1 small,
:root[data-template="nova"] .product-card__meta,
:root[data-template="nova"] .product-card__spec,
:root[data-template="nova"] .product-card__rating,
:root[data-template="nova"] .price__vat,
:root[data-template="nova"] .category-card__body small,
:root[data-template="nova"] .trust-item p,
:root[data-template="nova"] .hero-side-promo p,
:root[data-template="nova"] .hero-side-promo span,
:root[data-template="nova"] .quick-filter-links a {
    color: #5f686f;
}

:root[data-template="nova"] .section-link,
:root[data-template="nova"] .catalog-menu__head a,
:root[data-template="nova"] .product-card a:hover,
:root[data-template="nova"] .footer a:hover {
    color: var(--nova-accent-dark);
}

/* Keep all storefront text readable on light and dark surfaces. */
:root[data-template="nova"] .badge--sale {
    color: #fff;
    background: #a9363f;
    border-color: #a9363f;
}
:root[data-template="nova"] .price__old {
    color: #5f686f;
}
:root[data-template="nova"] .section-link,
:root[data-template="nova"] .catalog-menu__head a {
    color: var(--nova-accent-dark) !important;
}
:root[data-template="nova"] .home-about,
:root[data-template="nova"] .home-about__contact,
:root[data-template="nova"] .home-about__contact a,
:root[data-template="nova"] .home-about__contact strong {
    color: #fff;
}
:root[data-template="nova"] .home-about .eyebrow,
:root[data-template="nova"] .home-about__content > p:not(.eyebrow) {
    color: #f1f5f2;
}
:root[data-template="nova"] .home-about__contact .object-status.is-open {
    color: var(--nova-accent-light);
}
:root[data-template="nova"] .site-footer {
    color: #d0d5d1;
}
:root[data-template="nova"] .site-footer a,
:root[data-template="nova"] .site-footer .logo__text {
    color: #fff;
}
:root[data-template="nova"] body.page-product .main-content { background: #fff; }
:root[data-template="nova"] .container { width: min(1440px, calc(100% - 64px)); }
:root[data-template="nova"] .main-content { overflow: clip; }
:root[data-template="nova"] .section { padding: 62px 0; }
:root[data-template="nova"] .section--surface { background: #fff; }
:root[data-template="nova"] .eyebrow { color: var(--color-primary); font-size: 11px; letter-spacing: .1em; }
:root[data-template="nova"] .section-heading { margin-bottom: 24px; }
:root[data-template="nova"] .section-heading h1,
:root[data-template="nova"] .section-heading h2 { font-size: clamp(28px, 3vw, 38px); font-weight: 550; letter-spacing: -.045em; }
:root[data-template="nova"] .section-link { color: var(--color-primary); }
:root[data-template="nova"] .btn { min-height: 46px; border-radius: 5px; font-size: 13px; }
:root[data-template="nova"] .btn--primary,
:root[data-template="nova"] .btn--accent { background: var(--color-primary); border-color: var(--color-primary); }
:root[data-template="nova"] .btn--primary:hover,
:root[data-template="nova"] .btn--accent:hover { background: var(--color-primary-dark); border-color: var(--color-primary-dark); }

/* Header */
:root[data-template="nova"] .topbar { color: #697078; background: #fff; border-bottom: 1px solid #eef0ee; font-size: 14px; }
:root[data-template="nova"] .topbar__inner { min-height: 37px; }
:root[data-template="nova"] .topbar__left,
:root[data-template="nova"] .topbar__nav,
:root[data-template="nova"] .topbar__contacts { display: flex; align-items: center; }
:root[data-template="nova"] .topbar__left { gap: 28px; }
:root[data-template="nova"] .topbar__nav { gap: 20px; }
:root[data-template="nova"] .topbar__links { gap: 14px; }
:root[data-template="nova"] .topbar__phone,
:root[data-template="nova"] .topbar__email { color: #3d4248; font-size: 14px; font-weight: 650; }
:root[data-template="nova"] .topbar__schedule { color: #667078; font-size: 14px; }
:root[data-template="nova"] .topbar__callback { min-height: auto; padding: 0; color: #3d4248; border: 0; border-radius: 0; font-size: 14px; font-weight: 500; }
:root[data-template="nova"] .topbar a:hover,
:root[data-template="nova"] .topbar button:hover { color: var(--color-primary); }
:root[data-template="nova"] .location-button strong { color: #596169; text-decoration: none; }

:root[data-template="nova"] .site-header { background: rgba(255, 255, 255, .97); border-bottom: 1px solid #eef0ee; box-shadow: none; backdrop-filter: blur(16px); }
:root[data-template="nova"] .header-main { grid-template-columns: 178px 118px minmax(280px, 1fr) auto auto; min-height: 115px; gap: 18px; transition: min-height .18s ease; }
:root[data-template="nova"] .site-header.is-compact .header-main { min-height: 68px; }
:root[data-template="nova"] .logo { color: #22272c; font-size: 22px; }
:root[data-template="nova"] .logo__image { max-width: 165px; height: 45px; }
:root[data-template="nova"] .logo__mark { background: var(--color-primary); border-radius: 8px; }
:root[data-template="nova"] .site-header.is-compact .logo { max-width: 178px; opacity: 1; overflow: visible; transform: none; transition: .18s ease; }
:root[data-template="nova"] .header-main > .catalog-menu { align-self: center; }
:root[data-template="nova"] .main-nav { display: none; }
:root[data-template="nova"] .main-nav__catalog { min-height: 50px; padding: 0 17px; color: #fff !important; background: var(--color-primary) !important; border-radius: 6px; box-shadow: none; font-size: 16px; }
:root[data-template="nova"] .main-nav__catalog:hover,
:root[data-template="nova"] .catalog-menu.is-open .main-nav__catalog { background: var(--color-primary-dark) !important; }
/* Keep the desktop dropdown connected to its trigger so hover navigation does not collapse
   while the pointer travels from the catalog button to the menu items. */
@media (min-width: 761px) {
  :root[data-template="nova"] .catalog-menu__panel {
    top: 100%;
  }
}
:root[data-template="nova"] .catalog-menu__category { padding: 12px; border-radius: 6px; }
:root[data-template="nova"] .catalog-menu__icon { color: var(--color-primary); background: var(--color-primary-soft); border-radius: 6px; }
:root[data-template="nova"] .search { min-height: 50px; background: #f4f5f4; border: 1px solid transparent; border-radius: 7px; }
:root[data-template="nova"] .search:focus-within { background: #fff; border-color: #d7dfd7; box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 11%, transparent); }
:root[data-template="nova"] .search input { height: 48px; background: transparent; border: 0; border-radius: 7px; font-size: 16px; }
:root[data-template="nova"] .search button[type="submit"] { width: 42px; height: 42px; color: #777f86; background: transparent; }
:root[data-template="nova"] .search button[type="submit"]:hover { color: var(--color-primary); }
:root[data-template="nova"] .header-actions { gap: 20px; }
:root[data-template="nova"] .icon-button { width: 42px; height: 52px; color: #3c4349; background: transparent; border: 0; border-radius: 0; }
:root[data-template="nova"] .icon-button--custom { --icon-color: #3c4349; --icon-soft: transparent; --icon-border: transparent; display: flex; width: auto; min-width: 42px; padding: 0 6px; align-items: center; flex-direction: column; justify-content: center; }
:root[data-template="nova"] .icon-button--basket { --icon-color: #3c4349; }
:root[data-template="nova"] .icon-button--custom::before { width: 25px; height: 25px; }
:root[data-template="nova"] .header-action__label { display: block; margin-top: 4px; font-size: 14px; font-weight: 600; line-height: 1; white-space: nowrap; }
:root[data-template="nova"] .cart-count { top: 1px; right: -5px; min-width: 24px; height: 24px; padding: 0 5px; background: var(--color-primary); border: 1px solid #fff; font-size: 14px; }
:root[data-template="nova"] .header-sticky-phone { display: none; min-width: 142px; color: #373d42; line-height: 1.2; }
:root[data-template="nova"] .header-sticky-phone span { display: block; font-size: 14px; font-weight: 750; }
:root[data-template="nova"] .header-sticky-phone small { color: #8c9298; font-size: 14px; }
:root[data-template="nova"] .header-sticky-phone:hover small,
:root[data-template="nova"] .header-sticky-phone:focus-visible small { color: var(--color-primary); }
:root[data-template="nova"] .header-sticky-phone__icon { display: none; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
:root[data-template="nova"] .site-header.is-compact .header-sticky-phone { display: block; }
:root[data-template="nova"] .nova-location-prompt { display: none; }

/* Home */
:root[data-template="nova"] .hero { padding: 30px 0 54px; background: #fff; }
:root[data-template="nova"] .hero-layout { display: grid; grid-template-columns: minmax(0, 1.94fr) minmax(270px, .8fr); gap: 18px; }
:root[data-template="nova"] .slider { min-height: 470px; overflow: visible !important; background: #111312; border-radius: 10px; box-shadow: none; }
:root[data-template="nova"] .slider__viewport { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; isolation: isolate; }
:root[data-template="nova"] .slide { grid-template-columns: minmax(0, .95fr) minmax(280px, .9fr); padding: 48px 38px 170px; border-radius: 10px; }
:root[data-template="nova"] .slide__content { max-width: 520px; }
:root[data-template="nova"] .slide__label { margin-bottom: 17px; color: color-mix(in srgb, var(--color-primary) 20%, #fff); background: color-mix(in srgb, var(--color-primary) 15%, transparent); border-color: color-mix(in srgb, var(--color-primary) 34%, transparent); border-radius: 5px; font-size: 10px; }
:root[data-template="nova"] .slide h1,
:root[data-template="nova"] .slide h2 { margin-bottom: 16px; font-size: clamp(36px, 4.2vw, 57px); letter-spacing: -.055em; }
:root[data-template="nova"] .slide p { margin-bottom: 24px; font-size: 15px; }
:root[data-template="nova"] .slide .btn--light { color: #fff; background: var(--color-primary); border-color: var(--color-primary); border-radius: 5px; }
:root[data-template="nova"] .slider__viewport > .slide { z-index: 1; }
:root[data-template="nova"] .slider__viewport > .slide.is-active { z-index: 2; }
:root[data-template="nova"] .slide--template .slide__content { position: relative; z-index: 5; }
:root[data-template="nova"] .slide--template .slide__art { position: relative; z-index: 1; }
:root[data-template="nova"] .slide__art { min-height: 0; }
:root[data-template="nova"] .slide__orb { width: 285px; height: 285px; background: color-mix(in srgb, var(--color-primary) 16%, transparent); }
:root[data-template="nova"] .slide__product { max-height: 290px; filter: drop-shadow(0 22px 22px rgba(0, 0, 0, .38)); }
:root[data-template="nova"] .hero-service-stats { position: absolute; z-index: 4; right: 16px; bottom: 16px; left: 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; background: rgba(25, 28, 26, .92); border-radius: 7px; backdrop-filter: blur(12px); }
:root[data-template="nova"] .hero-service-stats > div { min-width: 0; padding: 15px 13px; border-left: 1px solid rgba(255, 255, 255, .1); }
:root[data-template="nova"] .hero-service-stats > div:first-child { border-left: 0; }
:root[data-template="nova"] .hero-service-stats i { display: grid; width: 30px; height: 30px; margin-bottom: 10px; place-items: center; color: var(--nova-accent-contrast); background: var(--color-primary); border-radius: 5px; font-style: normal; }
:root[data-template="nova"] .hero-service-stats i,
:root[data-template="nova"] .hero-service-stats i .tabler-icon { color: #fff !important; stroke: currentColor; }
:root[data-template="nova"] .hero-service-stats strong { display: block; color: #fff; font-size: 25px; line-height: 1; letter-spacing: -.04em; }
:root[data-template="nova"] .hero-service-stats span { display: block; margin-top: 6px; color: #c7cbc8; font-size: 14px; line-height: 1.3; }
:root[data-template="nova"] .slider__dots { bottom: -40px; left: 50%; transform: translateX(-50%); }
:root[data-template="nova"] .slider__dot { width: 44px; height: 44px; background: transparent; border-radius: 999px; }
:root[data-template="nova"] .slider__dot::before { width: 34px; height: 2px; background: #b8cfba; border-radius: 9px; }
:root[data-template="nova"] .slider__dot.is-active::before { width: 34px; background: var(--color-primary); }
:root[data-template="nova"] .hero-side-promos { position: relative; display: block; min-width: 0; min-height: 470px; }
:root[data-template="nova"] .hero-side-promos__viewport { position: absolute; inset: 0; overflow: hidden; border-radius: 10px; isolation: isolate; }
:root[data-template="nova"] .hero-side-promo { position: absolute; inset: 0; display: flex; min-height: 470px; overflow: hidden; padding: 34px 30px; align-items: flex-start; visibility: hidden; color: #282d2a; background: #f0f0ee; border-radius: 10px; opacity: 0; transform: translateX(3%); transition: opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1), visibility .75s; pointer-events: none; will-change: opacity, transform; }
:root[data-template="nova"] .hero-side-promo.is-active { z-index: 1; visibility: visible; opacity: 1; transform: none; pointer-events: auto; }
:root[data-template="nova"] .hero-side-promos__dots { bottom: -40px; }
:root[data-template="nova"] .hero-side-promo > div { position: relative; z-index: 4; max-width: 225px; }
:root[data-template="nova"] .hero-side-promo span { color: #52665a; font-size: 15px; font-weight: 700; }
:root[data-template="nova"] .hero-side-promo h2 { margin: 12px 0; font-size: clamp(28px, 2.4vw, 40px); font-weight: 550; line-height: 1.04; letter-spacing: -.05em; }
:root[data-template="nova"] .hero-side-promo p { margin: 0; color: #56635a; font-size: 15px; line-height: 1.5; }
:root[data-template="nova"] .hero-side-promo strong { display: inline-block; margin-top: 22px; color: #3e4540; font-size: 15px; line-height: 1.35; }
:root[data-template="nova"] .hero-side-promo img { position: absolute; z-index: 1; right: -9%; bottom: -2%; width: 92%; max-height: 55%; object-fit: contain; filter: drop-shadow(0 15px 20px rgba(30, 36, 31, .15)); transform: rotate(-5deg); }
:root[data-template="nova"] .trust-strip { overflow: hidden; background: #fff; border: 1px solid #eceeec; border-radius: 8px; box-shadow: none; }
:root[data-template="nova"] .trust-item { padding: 17px 20px; }
:root[data-template="nova"] .trust-item__icon { color: var(--color-primary); background: var(--color-primary-soft); border-radius: 6px; }
:root[data-template="nova"] .trust-item > div > strong { font-size: 16px; }
:root[data-template="nova"] .trust-item > div > span { font-size: 14px; }
:root[data-template="nova"] .home-block-stack > [data-home-public-block="categories"] { order: 1 !important; padding: 72px 0 42px; margin-bottom: 15px; background: #fff; }
:root[data-template="nova"] .home-block-stack > [data-home-public-block="benefits"] { order: 2 !important; }
:root[data-template="nova"] .home-block-stack > [data-home-public-block="products"] { order: 3 !important; }
:root[data-template="nova"] [data-home-public-block="categories"] .section-heading { display: none; }

/* Product cards and home content */
:root[data-template="nova"] .product-grid { align-items: stretch; gap: 18px; background: transparent; border-radius: 0; }
:root[data-template="nova"] .home-product-tabs__panel .product-grid { margin-top: 18px; }
:root[data-template="nova"] .catalog-products { gap: 20px; }
:root[data-template="nova"] .product-card { overflow: hidden; min-height: 100%; background: #fff; border: 1px solid #e4e9e4; border-radius: 12px; box-shadow: 0 1px 2px rgba(21, 29, 23, .035); }
:root[data-template="nova"] .product-card:hover { z-index: 2; border-color: #c8d8c9; box-shadow: 0 14px 32px rgba(26, 35, 28, .1); transform: translateY(-2px); }
:root[data-template="nova"] .product-card__media { margin: 0; overflow: hidden; aspect-ratio: 1.12 / 1; background: #fff; border-bottom: 1px solid #edf0ed; border-radius: 0; }
:root[data-template="nova"] .product-card__media > img { display: block; padding: 24px 20px 18px; object-fit: contain; }
:root[data-template="nova"] .cart-item__image { background: #fff; }
:root[data-template="nova"] .cart-item__image img { padding: 8px; object-fit: contain; }
:root[data-template="nova"] .cart-drawer-item__image { background: #fff; border-radius: 0; }
:root[data-template="nova"] .cart-drawer-item__image img { padding: 8px; object-fit: contain; }
:root[data-template="nova"] .product-card__body { padding: 16px 18px 18px; }
:root[data-template="nova"] .product-card__category { display: none; }
:root[data-template="nova"] .product-card__title { display: -webkit-box; min-height: 42px; margin: 0 0 10px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 16px; font-weight: 600; line-height: 1.4; }
:root[data-template="nova"] .product-card__title a:hover { color: var(--color-primary); }
:root[data-template="nova"] .product-card__description { display: none; }
:root[data-template="nova"] .product-card__meta { display: none; }
:root[data-template="nova"] .product-card__meta span:first-child { display: none; }
:root[data-template="nova"] .product-rating--card { min-height: 16px; margin: 0 0 10px; font-size: 11px; }
:root[data-template="nova"] .product-card__specs { gap: 4px; margin: 0 0 12px; }
:root[data-template="nova"] .product-card__spec { font-size: 14px; }
:root[data-template="nova"] .product-card__footer { min-height: 40px; gap: 12px; }
:root[data-template="nova"] .price { min-width: 0; gap: 3px 8px; }
:root[data-template="nova"] .price__current { font-size: 22px; font-weight: 600; }
:root[data-template="nova"] .price__old { font-size: 16px; white-space: nowrap; }
:root[data-template="nova"] .add-to-cart { width: 40px; height: 40px; background: var(--color-primary); border-radius: 4px; }
:root[data-template="nova"] .add-to-cart:hover { background: var(--color-primary-dark); }
:root[data-template="nova"] .product-card__tools { top: 12px; right: 12px; bottom: auto; align-items: center; flex-direction: column; opacity: 0; transition: opacity .15s ease, transform .15s ease; }
:root[data-template="nova"] .product-card:hover .product-card__tools,
:root[data-template="nova"] .product-card:focus-within .product-card__tools { opacity: 1; }
:root[data-template="nova"] .product-tool-button { width: 32px; height: 32px; background: #fff; border: 1px solid #e4e7e4; border-radius: 50%; box-shadow: 0 2px 8px rgba(22, 28, 23, .12); }
:root[data-template="nova"] .product-card__sku { display: none; }
:root[data-template="nova"] .badges { top: 12px; right: 84px; left: 12px; gap: 5px; }
:root[data-template="nova"] .product-card__gallery-indicators { right: 15px; bottom: 10px; left: 15px; }
:root[data-template="nova"] .product-card__gallery-indicators i.is-active { background: var(--color-primary); }
:root[data-template="nova"] .badge { padding: 5px 8px; background: var(--color-primary); border-radius: 4px; font-size: 10px; }
:root[data-template="nova"] .badge--sale { background: #e75e5e; }
:root[data-template="nova"] .home-product-tabs__nav { gap: 4px; }
:root[data-template="nova"] .home-product-tabs__nav button { border-radius: 9px; }
:root[data-template="nova"] .home-product-tabs__nav button.is-active { color: #fff; background: var(--color-primary); }
:root[data-template="nova"] .category-grid { grid-template-columns: repeat(var(--category-count, 5), minmax(0, 1fr)); gap: 18px; background: transparent; border-radius: 8px; }
:root[data-template="nova"] .category-card { min-height: 136px; padding: 18px; align-items: stretch; flex-direction: row; background: #f5f6f5; border: 0; border-radius: 8px; box-shadow: none; }
:root[data-template="nova"] .category-card:hover { box-shadow: inset 0 0 0 1px var(--color-primary); transform: none; }
:root[data-template="nova"] .category-card__image { order: 2; width: 54%; height: calc(100% + 12px); margin-left: auto; align-self: flex-start; aspect-ratio: auto; object-fit: contain; background: transparent; transform: scale(1.18); transform-origin: top right; }
:root[data-template="nova"] .category-card__icon { order: 2; width: 54%; min-height: 102px; height: calc(100% + 12px); margin: 0 0 -12px auto; color: var(--color-primary); background: transparent; border-radius: 6px; font-size: 34px; }
:root[data-template="nova"] .category-card__icon--custom { padding: 8px; }
:root[data-template="nova"] .category-card__icon--custom img { height: 90px; }
:root[data-template="nova"] .category-card__body { position: relative; z-index: 3; display: flex; min-width: 0; order: 1; padding: 2px 0; align-self: stretch; flex-direction: column; }
:root[data-template="nova"] .category-card__body strong { max-width: 125px; font-size: 16px; line-height: 1.25; }
:root[data-template="nova"] .category-card__body small { display: block; margin-top: auto; font-size: 14px; }
:root[data-template="nova"] .home-promotion-card,
:root[data-template="nova"] .home-collection-card,
:root[data-template="nova"] .home-brand-card { border-radius: 8px; box-shadow: none; }
:root[data-template="nova"] .promo { border-radius: 8px; background: #202522; }
:root[data-template="nova"] .home-about { border-radius: 8px; background: #202522; }

/* Catalog */
:root[data-template="nova"] .breadcrumbs { padding-top: 22px; color: #7c8389; font-size: 12px; }
:root[data-template="nova"] .catalog-head { margin: 15px 0; background: #fff; }
:root[data-template="nova"] .catalog-head__row { display: block; }
:root[data-template="nova"] .catalog-head h1 { margin: 0; color: #33383e; font-size: clamp(35px, 4vw, 48px); font-weight: 450; letter-spacing: -.055em; }
:root[data-template="nova"] .catalog-head h1 small { margin-left: 12px; color: #969ba0; font-size: 16px; font-weight: 450; letter-spacing: 0; vertical-align: middle; }
:root[data-template="nova"] .catalog-layout { grid-template-columns: 280px minmax(0, 1fr); gap: 22px; padding-bottom: 84px; }
:root[data-template="nova"] .sidebar { padding: 0; background: #fff; border: 1px solid #edf0ed; border-radius: 10px; box-shadow: 0 5px 18px rgba(26, 37, 27, .035); }
:root[data-template="nova"] .sidebar__header { padding: 18px 17px; margin: 0; border-bottom: 1px solid #eceeec; }
:root[data-template="nova"] .sidebar__section { padding: 18px 17px; }
:root[data-template="nova"] .sidebar__section + .sidebar__section { padding-top: 18px; margin-top: 0; border-top: 1px solid #eceeec; }
:root[data-template="nova"] .sidebar__section-toggle > span:first-child,
:root[data-template="nova"] .sidebar h3 { font-size: 13px; font-weight: 500; }
:root[data-template="nova"] .sidebar .check { color: #6c7379; font-size: 14px; }
:root[data-template="nova"] .quick-filter-links { display: grid; grid-auto-columns: minmax(168px, 1fr); grid-auto-flow: column; grid-template-rows: 118px; overflow: auto hidden; gap: 22px; margin: 0 auto 22px; padding: 2px 2px; background: transparent; border-radius: 0; scrollbar-width: none; }
:root[data-template="nova"] .quick-filter-links::-webkit-scrollbar { display: none; }
:root[data-template="nova"] .quick-filter-links a { display: flex; min-width: 168px; padding: 22px; align-items: center; gap: 12px; color: #535b61; background: #fff; border: 1px solid #e8ece8; border-radius: 10px; font-size: 13px; font-weight: 650; line-height: 1.3; box-shadow: 0 3px 10px rgba(22, 30, 24, .025); transition: color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
:root[data-template="nova"] .quick-filter-links a:hover { color: var(--color-primary); background: #fff; border-color: color-mix(in srgb, var(--color-primary) 38%, #e8ece8); box-shadow: 0 7px 17px rgba(36, 86, 43, .08); transform: translateY(-1px); }
:root[data-template="nova"] .quick-filter-links a:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-primary) 22%, transparent); outline-offset: -2px; }
:root[data-template="nova"] .quick-filter-links__label { min-width: 0; }
:root[data-template="nova"] .quick-filter-links__icon { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; overflow: hidden; color: var(--color-primary); background: color-mix(in srgb, var(--color-primary) 11%, #fff); border-radius: 9px; }
:root[data-template="nova"] .quick-filter-links__icon--custom { background: #f5f7f5; }
:root[data-template="nova"] .quick-filter-links__icon img { width: 100%; height: 100%; padding: 3px; object-fit: contain; transform: scale(1.06); transform-origin: center; }
:root[data-template="nova"] .quick-filter-links__glyph { position: relative; display: block; width: 21px; height: 21px; }
:root[data-template="nova"] .quick-filter-links__glyph::before { position: absolute; inset: 0; display: grid; place-items: center; font-size: 21px; font-style: normal; font-weight: 500; line-height: 1; }
:root[data-template="nova"] .quick-filter-links__glyph--all { width: 18px; height: 18px; background: linear-gradient(var(--color-primary), var(--color-primary)) 0 0 / 7px 7px no-repeat, linear-gradient(var(--color-primary), var(--color-primary)) 100% 0 / 7px 7px no-repeat, linear-gradient(var(--color-primary), var(--color-primary)) 0 100% / 7px 7px no-repeat, linear-gradient(var(--color-primary), var(--color-primary)) 100% 100% / 7px 7px no-repeat; border-radius: 2px; }
:root[data-template="nova"] .quick-filter-links__glyph[data-catalog-category-icon="box"]::before { content: "◇"; }
:root[data-template="nova"] .quick-filter-links__glyph[data-catalog-category-icon="phone"]::before { content: "▯"; }
:root[data-template="nova"] .quick-filter-links__glyph[data-catalog-category-icon="laptop"]::before { content: "▱"; }
:root[data-template="nova"] .quick-filter-links__glyph[data-catalog-category-icon="headphones"]::before { content: "◉"; }
:root[data-template="nova"] .quick-filter-links__glyph[data-catalog-category-icon="watch"]::before { content: "◫"; }
:root[data-template="nova"] .quick-filter-links__glyph[data-catalog-category-icon="home"]::before { content: "⌂"; }
:root[data-template="nova"] .quick-filter-links__glyph[data-catalog-category-icon="tools"]::before { content: "⚒"; }
:root[data-template="nova"] .quick-filter-links__glyph[data-catalog-category-icon="camera"]::before { content: "◙"; }
:root[data-template="nova"] .quick-filter-links__glyph[data-catalog-category-icon="gamepad"]::before { content: "✥"; }
:root[data-template="nova"] .quick-filter-links__glyph[data-catalog-category-icon="appliance"]::before { content: "▣"; }
:root[data-template="nova"] .quick-filter-links__glyph[data-catalog-category-icon="car"]::before { content: "◆"; }
:root[data-template="nova"] .quick-filter-links__glyph[data-catalog-category-icon="gift"]::before { content: "✦"; }
:root[data-template="nova"] .quick-filter-links__glyph::before { display: none !important; }
:root[data-template="nova"] .category-card__icon:not(.category-card__icon--custom)::before { display: none; }
:root[data-template="nova"] .main-nav__catalog > .tabler-icon { width: 17px; height: 17px; }
:root[data-template="nova"] .nova-mobile-menu__action > .tabler-icon,
:root[data-template="nova"] .nova-mobile-menu__categories a > .tabler-icon { width: 21px; height: 21px; }
:root[data-template="nova"] .nova-mobile-menu__location-copy > .tabler-icon { width: 22px; height: 22px; }
:root[data-template="nova"] .nova-mobile-menu__quick-links a > .tabler-icon { width: 27px; height: 27px; }
:root[data-template="nova"] .catalog-toolbar { min-height: 46px; margin-bottom: 22px; }
:root[data-template="nova"] .catalog-toolbar__count { display: none; }
:root[data-template="nova"] .sort-control select { min-width: 202px; height: 40px; color: #616870; background: #fff; border: 0; border-radius: 5px; font-size: 13px; }
:root[data-template="nova"] .catalog-view-switch { padding: 4px; background: #fff; border: 0; border-radius: 21px; box-shadow: 0 3px 10px rgba(22, 28, 23, .1); }
:root[data-template="nova"] .catalog-view-switch button { width: 32px; min-height: 32px; padding: 0; justify-content: center; border-radius: 50%; }
:root[data-template="nova"] .catalog-view-switch button > span:last-child { display: none; }
:root[data-template="nova"] .catalog-view-switch button.is-active { color: #fff; background: #51575a; }
:root[data-template="nova"] .catalog-products { gap: 22px; margin: 0; }
:root[data-template="nova"] .catalog-pagination__button { border-radius: 5px; }
:root[data-template="nova"] .catalog-products--list { gap: 16px; }
:root[data-template="nova"] .catalog-products--list .product-card { display: grid; grid-template-columns: 210px minmax(0, 1fr); align-items: stretch; }
:root[data-template="nova"] .catalog-products--list .product-card__media { grid-row: 1; min-height: 184px; aspect-ratio: auto; border-right: 1px solid #edf0ed; border-bottom: 0; }
:root[data-template="nova"] .catalog-products--list .product-card__body { padding: 22px 24px; }
:root[data-template="nova"] .catalog-products--list .product-card__title { min-height: 0; }
:root[data-template="nova"] .catalog-products--list .product-card__description { display: block; max-width: 650px; }
:root[data-template="nova"] .catalog-products--list .product-card__meta { display: flex; margin-bottom: 13px; }
:root[data-template="nova"] .catalog-products--price { gap: 10px; }
:root[data-template="nova"] .catalog-products--price .product-card { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: stretch; border-radius: 10px; }
:root[data-template="nova"] .catalog-products--price .product-card__media { grid-row: 1; min-height: 68px; aspect-ratio: 1; border-right: 1px solid #edf0ed; border-bottom: 0; }
:root[data-template="nova"] .catalog-products--price .product-card__body { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: 12px 14px 12px 12px; align-items: center; gap: 3px 20px; }
:root[data-template="nova"] .catalog-products--price .product-card__title { display: block; grid-column: 1; min-height: 0; margin: 0; overflow: visible; font-size: 14px; }
:root[data-template="nova"] .catalog-products--price .product-card__meta { display: flex; grid-column: 1; min-height: 0; margin: 0; }
:root[data-template="nova"] .catalog-products--price .product-card__footer { grid-column: 2; grid-row: 1 / 3; min-height: 0; margin: 0; align-items: center; }
:root[data-template="nova"] .catalog-products--price .product-card__tools { display: none; }

/* Product page */
:root[data-template="nova"] .product-page-head { padding-top: 24px; }
:root[data-template="nova"] .product-page-head h1 { margin: 0; color: #30353a; font-size: clamp(34px, 4vw, 48px); font-weight: 450; line-height: 1.1; letter-spacing: -.055em; }
:root[data-template="nova"] .product-page-head__meta { display: flex; flex-wrap: wrap; min-height: 52px; margin-top: 15px; align-items: center; gap: 21px; color: #747b81; font-size: 13px; }
:root[data-template="nova"] .product-page-head__meta .product-rating { margin: 0; }
:root[data-template="nova"] .product-page-head__meta .product-rating__stars { font-size: 16px; }
:root[data-template="nova"] .product-page-head__action { display: inline-flex; padding: 0; align-items: center; gap: 7px; color: #666d73; background: transparent; border: 0; font: inherit; }
:root[data-template="nova"] .product-page-head__action:hover { color: var(--color-primary); }
:root[data-template="nova"] .product-page-head__action img { width: 19px; height: 19px; opacity: .72; }
:root[data-template="nova"] .product-page-head__sku { margin-left: auto; color: #8d9398; }
:root[data-template="nova"] .product-detail--nova { grid-template-columns: minmax(360px, 1.18fr) minmax(245px, .76fr) minmax(300px, .82fr); column-gap: 30px; row-gap: 0; padding: 25px 0 60px; }
:root[data-template="nova"] .product-detail--nova > .gallery { grid-column: 1; grid-row: 1 / span 8; grid-template-columns: 1fr; }
:root[data-template="nova"] .product-detail--nova .gallery__thumbs { grid-row: 2; grid-template-columns: repeat(auto-fit, minmax(62px, 74px)); }
:root[data-template="nova"] .product-detail--nova .gallery__main { min-height: 410px; background: #fff; border: 0; border-radius: 0; }
:root[data-template="nova"] .product-detail--nova .gallery__main img { object-fit: contain; }
:root[data-template="nova"] .product-detail--nova > .product-info { display: contents; }
:root[data-template="nova"] .product-info > h1,
:root[data-template="nova"] .product-info > .product-code,
:root[data-template="nova"] .product-info > .product-markers,
:root[data-template="nova"] .product-info > .product-rating--detail,
:root[data-template="nova"] .product-info > .product-info__summary { display: none; }
:root[data-template="nova"] .product-spec-preview { grid-column: 2; grid-row: 1 / span 5; align-self: start; }
:root[data-template="nova"] .product-spec-preview h2 { margin: 0 0 26px; font-size: 23px; font-weight: 550; letter-spacing: -.03em; }
:root[data-template="nova"] .product-spec-preview div { display: grid; min-height: 42px; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 13px; color: #92989e; border-bottom: 1px solid #eef0ee; font-size: 13px; }
:root[data-template="nova"] .product-spec-preview div > span { white-space: nowrap; }
:root[data-template="nova"] .product-spec-preview strong { color: #34393e; font-size: 13px; font-weight: 600; text-align: right; }
:root[data-template="nova"] .product-spec-preview a { display: inline-block; margin-top: 17px; color: var(--color-primary); font-size: 13px; font-weight: 700; }
:root[data-template="nova"] .product-info__price { grid-column: 3; grid-row: 1; margin: 0; padding: 29px 25px 0; background: #fff; }
:root[data-template="nova"] .product-info__price strong { color: #30353a; font-size: 36px; font-weight: 550; white-space: nowrap; }
:root[data-template="nova"] .price-vat-note { grid-column: 3; grid-row: 2; padding: 7px 25px 0; background: #fff; color: #8e9499; font-size: 12px; }
:root[data-template="nova"] body.page-home .header-account-button { display: none !important; }
:root[data-template="nova"] .stock { grid-column: 3; grid-row: 3; padding: 13px 25px; background: #fff; color: var(--color-primary); }
:root[data-template="nova"] .product-action-card { display: grid; grid-column: 3; grid-row: 4; margin: 0; padding: 4px 25px 18px; background: #fff; border-radius: 0; box-shadow: none; }
:root[data-template="nova"] .product-action-card .buy-row { display: grid; grid-template-columns: 1fr; gap: 9px; }
:root[data-template="nova"] .product-action-card .quantity,
:root[data-template="nova"] .product-list-actions { display: none; }
:root[data-template="nova"] .product-action-card .btn { min-height: 50px; border-radius: 4px; }
:root[data-template="nova"] .product-action-card .btn--primary { color: #fff; background: var(--color-primary); border-color: var(--color-primary); }
:root[data-template="nova"] .product-action-card .btn--surface-alt { color: var(--color-primary); background: #fff; border-color: var(--color-primary); }
:root[data-template="nova"] .product-perks { display: grid; grid-column: 3; grid-row: 5; grid-template-columns: 1fr; gap: 0; margin: 0; padding: 0 25px 20px; background: #fff; }
:root[data-template="nova"] .product-perk { padding: 10px 0; background: transparent; border: 0; border-top: 1px solid #edf0ed; border-radius: 0; font-size: 11px; }
:root[data-template="nova"] .product-perk__icon { color: var(--color-primary); font-size: 15px; }
:root[data-template="nova"] .product-perk strong { font-size: 16px; }
:root[data-template="nova"] .tabs { min-width: 0; margin-top: 0; margin-bottom: 48px; overflow: hidden; background: #fff; border-radius: 16px; box-shadow: none; }
:root[data-template="nova"] .tabs__nav { min-width: 0; padding: 0 34px; gap: 42px; background: #fff; border-bottom: 1px solid #ebeeeb; border-radius: 0; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
:root[data-template="nova"] .tabs__nav::-webkit-scrollbar { display: none; }
:root[data-template="nova"] .tabs__button { position: relative; padding: 15px 0; color: #4f5861; background: transparent; border-radius: 0; font-size: 15px; font-weight: 500; line-height: 1.35; }
:root[data-template="nova"] .tabs__button.is-active { color: #30353a; background: transparent; box-shadow: none; }
:root[data-template="nova"] .tabs__button.is-active::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--color-primary); content: ''; }
:root[data-template="nova"] .tabs__panel { padding: 30px 34px 32px; }
:root[data-template="nova"] .tabs__panel p { color: #596168; line-height: 1.65; }
:root[data-template="nova"] .product-description { color: #596168; line-height: 1.65; }
:root[data-template="nova"] .spec-table td:first-child { color: #596168; }

/* Tooltips must be able to leave the compact card/table without being clipped. */
:root[data-template="nova"] .product-card:has(.spec-tooltip:hover),
:root[data-template="nova"] .product-card:has(.spec-tooltip:focus-visible),
:root[data-template="nova"] .product-card__body:has(.spec-tooltip:hover),
:root[data-template="nova"] .product-card__body:has(.spec-tooltip:focus-visible),
:root[data-template="nova"] .tabs:has(.spec-tooltip:hover),
:root[data-template="nova"] .tabs:has(.spec-tooltip:focus-visible),
:root[data-template="nova"] .tabs__panel:has(.spec-tooltip:hover),
:root[data-template="nova"] .tabs__panel:has(.spec-tooltip:focus-visible) { overflow: visible !important; }

:root[data-template="nova"] .site-footer { background: var(--color-footer); }
:root[data-template="nova"] .footer-title { color: #fff; }
:root[data-template="nova"] .nova-mobile-menu { display: none; }
:root[data-template="nova"] .mobile-bottom-nav { display: none; }
:root[data-template="nova"] .messenger-widget { right: 18px; bottom: 82px; left: auto; transform: scale(.86); transform-origin: right bottom; }
:root[data-template="nova"] .scroll-top { bottom: 96px; left: 22px; }
:root[data-template="nova"] .support-chat { right: 18px; bottom: 18px; transform: scale(.86); transform-origin: right bottom; }

@media (max-width: 1180px) {
    :root[data-template="nova"] .container { width: min(1440px, calc(100% - 44px)); }
    :root[data-template="nova"] .topbar { display: none; }
    :root[data-template="nova"] .site-header { position: sticky; }
    :root[data-template="nova"] .header-main { position: relative; display: flex; min-height: 58px; align-items: center; justify-content: center; }
    :root[data-template="nova"] .header-main > .catalog-menu,
    :root[data-template="nova"] .header-main > .search { display: none !important; }
    :root[data-template="nova"] .header-main > .search.is-open { position: absolute !important; z-index: 130; top: 64px; right: 0; left: 0; display: flex !important; padding: 8px; background: #fff; border: 1px solid #e6e9e6; box-shadow: var(--shadow-md); }
    :root[data-template="nova"] .logo { position: relative; z-index: 2; }
    :root[data-template="nova"] .logo__image { max-width: 145px; height: 40px; }
    :root[data-template="nova"] .header-actions { position: static; }
    :root[data-template="nova"] .header-actions .icon-button--compare,
    :root[data-template="nova"] .header-actions .icon-button--favorite,
    :root[data-template="nova"] .header-account-button { display: none !important; }
    :root[data-template="nova"] .header-actions .search-trigger,
    :root[data-template="nova"] .header-actions .icon-button--basket,
    :root[data-template="nova"] .header-actions .nav-toggle { position: absolute; top: 5px; display: flex !important; }
    :root[data-template="nova"] .header-actions .nav-toggle { left: 0; }
    :root[data-template="nova"] .header-actions .search-trigger { left: clamp(60px, 18vw, 175px); }
    :root[data-template="nova"] .header-actions .icon-button--basket { right: 0; }
    :root[data-template="nova"] .header-action__label { display: none; }
    :root[data-template="nova"] .header-sticky-phone { position: absolute; z-index: 3; top: 5px; right: clamp(60px, 18vw, 175px); display: grid !important; width: 42px; min-width: 42px; height: 48px; place-items: center; color: #363c40; }
    :root[data-template="nova"] .header-sticky-phone span,
    :root[data-template="nova"] .header-sticky-phone small { display: none; }
    :root[data-template="nova"] .header-sticky-phone__icon { display: block; }
    :root[data-template="nova"] .site-header.is-compact .logo { max-width: none; opacity: 1; transform: none; }
    :root[data-template="nova"] .nova-location-prompt { display: flex; min-height: 44px; padding: 6px 22px; align-items: center; justify-content: space-between; color: #4f555a; background: #f4f5f4; border-top: 1px solid #eef0ee; font-size: 13px; }
    :root[data-template="nova"] .nova-location-prompt button { min-height: 32px; padding: 0 14px; color: #5c635e; background: #fff; border: 1px solid var(--color-primary); border-radius: 5px; font: inherit; }
    :root[data-template="nova"] .nova-location-prompt > span:first-child button { min-height: auto; padding: 0; color: var(--color-primary-dark); background: transparent; border: 0; border-radius: 0; text-decoration: underline; }
    :root[data-template="nova"] .nova-location-prompt > span:last-child { display: flex; gap: 8px; }
    :root[data-template="nova"] .nova-location-prompt .is-confirm { color: #fff; background: var(--color-primary); }
    :root[data-template="nova"] .main-nav { position: absolute; z-index: 125; top: 58px; right: 0; left: 0; padding: 10px 0 18px; background: #fff; box-shadow: var(--shadow-md); }
    :root[data-template="nova"] .main-nav.is-open { display: block; }
    :root[data-template="nova"] .main-nav__inner { align-items: stretch; flex-direction: column; gap: 0; }
    :root[data-template="nova"] .main-nav__inner > a { padding: 11px 0; border-bottom: 1px solid #eef0ee; }
    :root[data-template="nova"] .location-button--mobile,
    :root[data-template="nova"] .main-nav__callback,
    :root[data-template="nova"] .main-nav__personal { display: none; }
    :root[data-template="nova"] .hero { padding-top: 0; }
    :root[data-template="nova"] .hero-layout { grid-template-columns: minmax(0, 1fr) 280px; }
    :root[data-template="nova"] .slider,
    :root[data-template="nova"] .hero-side-promos,
    :root[data-template="nova"] .hero-side-promo { min-height: 335px; }
    :root[data-template="nova"] .slide { padding: 30px 26px 132px; }
    :root[data-template="nova"] .slide h1,
    :root[data-template="nova"] .slide h2 { font-size: clamp(28px, 4vw, 43px); }
    :root[data-template="nova"] .hero-service-stats > div { padding: 11px 10px; }
    :root[data-template="nova"] .hero-service-stats i { width: 25px; height: 25px; margin-bottom: 7px; }
    :root[data-template="nova"] .hero-service-stats strong { font-size: 21px; }
    :root[data-template="nova"] .home-block-stack > [data-home-public-block="categories"] { padding-top: 60px; }
    :root[data-template="nova"] .category-grid { grid-auto-columns: 253px; grid-auto-flow: column; grid-template-columns: none; overflow-x: auto; scrollbar-width: none; }
    :root[data-template="nova"] .category-grid::-webkit-scrollbar { display: none; }
    :root[data-template="nova"] .product-detail--nova { grid-template-columns: minmax(0, 1fr) minmax(285px, 350px); }
    :root[data-template="nova"] .product-spec-preview { grid-column: 2; grid-row: 1; }
    :root[data-template="nova"] .product-info__price { grid-column: 2; grid-row: 2; margin-top: 9px; }
    :root[data-template="nova"] .price-vat-note { grid-column: 2; grid-row: 3; }
    :root[data-template="nova"] .stock { grid-column: 2; grid-row: 4; }
    :root[data-template="nova"] .product-action-card { grid-column: 2; grid-row: 5; }
    :root[data-template="nova"] .product-perks { grid-column: 2; grid-row: 6; }

    /* Tablet catalog cards: show the old price above the current price. */
    :root[data-template="nova"] .catalog-content .product-card__footer .price {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }
    :root[data-template="nova"] .catalog-content .product-card__footer .price__old { order: 1; }
    :root[data-template="nova"] .catalog-content .product-card__footer .price__current { order: 2; }
    :root[data-template="nova"] .catalog-content .product-card__footer .price__vat {
        order: 3;
        flex-basis: auto;
        margin-top: 0;
    }
}

@media (max-width: 860px) {
    :root[data-template="nova"] .hero-layout { grid-template-columns: minmax(0, 1fr) 170px; gap: 14px; }
    :root[data-template="nova"] .slider,
    :root[data-template="nova"] .hero-side-promos,
    :root[data-template="nova"] .hero-side-promo { min-height: 230px; }
    :root[data-template="nova"] .slide { padding: 22px 18px 100px; }
    :root[data-template="nova"] .slide__label,
    :root[data-template="nova"] .slide p,
    :root[data-template="nova"] .slide .btn { display: none; }
    :root[data-template="nova"] .slide h1,
    :root[data-template="nova"] .slide h2 { max-width: 210px; font-size: 24px; }
    :root[data-template="nova"] .slide__art { opacity: .72; }
    :root[data-template="nova"] .hero-service-stats { right: 9px; bottom: 9px; left: 9px; }
    :root[data-template="nova"] .hero-service-stats > div { padding: 7px; }
    :root[data-template="nova"] .hero-service-stats i { width: 20px; height: 20px; margin-bottom: 5px; font-size: 10px; }
    :root[data-template="nova"] .hero-service-stats strong { font-size: 16px; }
    :root[data-template="nova"] .hero-service-stats span { margin-top: 4px; font-size: 8px; }
    :root[data-template="nova"] .hero-side-promo { padding: 18px 15px; }
    :root[data-template="nova"] .hero-side-promo h2 { margin-top: 8px; font-size: 20px; }
    :root[data-template="nova"] .hero-side-promo p,
    :root[data-template="nova"] .hero-side-promo strong { display: none; }
    :root[data-template="nova"] .category-grid { grid-auto-columns: 253px; }
    :root[data-template="nova"] .catalog-layout { grid-template-columns: 1fr; gap: 26px; }
    :root[data-template="nova"] .sidebar { display: none; }
    :root[data-template="nova"] .sidebar.is-open { display: block; }
    :root[data-template="nova"] .filter-toggle { display: inline-flex; }
    :root[data-template="nova"] .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
    :root[data-template="nova"] .home-product-tabs__panel .product-grid { margin-top: 16px; }
    :root[data-template="nova"] .catalog-products { gap: 16px; }
    :root[data-template="nova"] .product-detail--nova { grid-template-columns: 1fr; gap: 14px; padding: 10px 0 34px; }
    :root[data-template="nova"] .product-detail--nova > .gallery { grid-column: auto; grid-row: auto; }
    :root[data-template="nova"] .product-detail--nova > .product-info { display: flex; }
    :root[data-template="nova"] .product-spec-preview,
    :root[data-template="nova"] .product-info__price,
    :root[data-template="nova"] .price-vat-note,
    :root[data-template="nova"] .stock,
    :root[data-template="nova"] .product-action-card,
    :root[data-template="nova"] .product-perks { width: 100%; grid-column: auto; grid-row: auto; }
    :root[data-template="nova"] .product-info__price { order: 1; margin-top: 0; }
    :root[data-template="nova"] .price-vat-note { order: 2; }
    :root[data-template="nova"] .stock { order: 3; }
    :root[data-template="nova"] .product-action-card { order: 4; }
    :root[data-template="nova"] .product-perks { order: 5; }
    :root[data-template="nova"] .product-spec-preview { order: 6; }
}

@media (max-width: 700px) {
    :root[data-template="nova"] body { padding-bottom: 70px; }
    :root[data-template="nova"] .container { width: min(100% - 28px, 1440px); }
    :root[data-template="nova"] [data-home-public-block="categories"] { display: block !important; }
    :root[data-template="nova"] .topbar { display: none; }
    /* The compact header follows the reference: no secondary city strip on phones. */
    :root[data-template="nova"] .nova-location-prompt { display: none; }
    :root[data-template="nova"] .header-main { min-height: 58px; gap: 0; }
    :root[data-template="nova"] .header-main > .catalog-menu,
    :root[data-template="nova"] .header-actions .icon-button--compare,
    :root[data-template="nova"] .header-actions .icon-button--favorite,
    :root[data-template="nova"] .header-account-button { display: none; }
    :root[data-template="nova"] .header-actions { gap: 0; }
    :root[data-template="nova"] .header-actions .icon-button--basket { display: flex; }
    :root[data-template="nova"] .header-actions .nav-toggle { display: flex !important; }
    :root[data-template="nova"] .site-header.nova-mobile-menu-open .nav-toggle svg { display: none; }
    :root[data-template="nova"] .site-header.nova-mobile-menu-open .nav-toggle::before { display: block; color: #303438; content: '×'; font-size: 36px; font-weight: 300; line-height: 1; }
    :root[data-template="nova"] .header-action__label { display: none; }
    :root[data-template="nova"] .icon-button { height: 48px; }
    :root[data-template="nova"] .header-main .search { display: none !important; min-height: 45px; }
    :root[data-template="nova"] .header-main .search.is-open { display: flex !important; }
    :root[data-template="nova"] .header-main .search input { height: 43px; }
    :root[data-template="nova"] .header-main .search button[type="submit"] { top: 1px; right: 1px; height: 41px; }
    :root[data-template="nova"] .site-header { position: sticky; }
    :root[data-template="nova"] .site-header.is-compact .logo { max-width: none; opacity: 1; transform: none; }
    :root[data-template="nova"] .hero { padding: 0 0 34px; }
    :root[data-template="nova"] .hero-layout { grid-template-columns: 1fr; gap: 24px; }
    :root[data-template="nova"] .slider { min-height: 230px; border-radius: 8px; }
    :root[data-template="nova"] .slide { min-height: 230px; }
    :root[data-template="nova"] .slide h1,
    :root[data-template="nova"] .slide h2 { max-width: 265px; font-size: 28px !important; line-height: 1.12; }
    :root[data-template="nova"] .hero-service-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    :root[data-template="nova"] .hero-service-stats > div:nth-child(n) { border-top: 0; }
    :root[data-template="nova"] .hero-service-stats > div:first-child { border-left: 0; }
    :root[data-template="nova"] .hero-side-promos { min-height: 230px; }
    :root[data-template="nova"] .hero-side-promo { min-height: 230px; border-radius: 8px; }
    :root[data-template="nova"] .hero-side-promos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    :root[data-template="nova"] .hero-side-promo--secondary { display: flex; }
    :root[data-template="nova"] .hero-side-promo h2 { font-size: 18px !important; }
    :root[data-template="nova"] .hero-side-promo:only-child { grid-column: 1 / -1; }
    :root[data-template="nova"] .hero-side-promo:only-child > div { max-width: 45%; }
    :root[data-template="nova"] .hero-side-promo:only-child h2 { max-width: 200px; font-size: 23px !important; }
    :root[data-template="nova"] .hero-side-promo:only-child img { right: 3%; width: 58%; max-height: 84%; transform: rotate(-3deg); }
    :root[data-template="nova"] .trust-strip { grid-template-columns: 1fr 1fr; }
    :root[data-template="nova"] .trust-item { padding: 13px; }
    :root[data-template="nova"] .product-grid,
    :root[data-template="nova"] .catalog-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px !important; background: transparent !important; }
    :root[data-template="nova"] .home-product-tabs__panel .product-grid { margin-top: 14px; }
    :root[data-template="nova"] .catalog-products { gap: 12px !important; }
    :root[data-template="nova"] .product-card { min-height: 100%; padding: 0 !important; overflow: hidden !important; background: #fff !important; border: 1px solid #e4e9e4 !important; border-radius: 10px !important; box-shadow: 0 1px 2px rgba(21, 29, 23, .035) !important; }
    :root[data-template="nova"] .product-card__media { min-height: 0 !important; height: auto !important; margin: 0 !important; aspect-ratio: 1 / 1.03; background: #fff; border-bottom: 1px solid #edf0ed; border-radius: 0 !important; }
    :root[data-template="nova"] .product-card__media > img { padding: 20px 12px 14px; }
    :root[data-template="nova"] .product-card__body { padding: 12px !important; }
    :root[data-template="nova"] .product-card__title { min-height: 36px; margin: 0 0 8px !important; font-size: 16px !important; font-weight: 650 !important; line-height: 1.3 !important; }
    :root[data-template="nova"] .product-rating--card { min-height: 15px; margin-bottom: 8px; }
    :root[data-template="nova"] .product-card__specs { gap: 3px; margin-bottom: 10px; }
    :root[data-template="nova"] .product-card__spec { font-size: 14px; }
    :root[data-template="nova"] .product-card__meta { display: none; }
    :root[data-template="nova"] .product-card__footer { min-height: 36px; padding-top: 0 !important; gap: 7px !important; }
    :root[data-template="nova"] .price__current { font-size: 22px; }
    :root[data-template="nova"] .price__old { display: inline-block !important; font-size: 16px !important; }
    :root[data-template="nova"] .add-to-cart { width: 36px; height: 36px; flex-basis: 36px; }
    :root[data-template="nova"] .badges { top: 10px; right: 10px; left: 10px; gap: 4px; }
    :root[data-template="nova"] .badge { padding: 4px 6px; border-radius: 3px; font-size: 9px; }
    :root[data-template="nova"] .product-card__marker,
    :root[data-template="nova"] .product-card__gallery-indicators { display: none; }
    :root[data-template="nova"] .catalog-products--list,
    :root[data-template="nova"] .catalog-products--price { grid-template-columns: 1fr !important; gap: 10px !important; }
    :root[data-template="nova"] .catalog-products--list .product-card { display: grid !important; grid-template-columns: 112px minmax(0, 1fr) !important; }
    :root[data-template="nova"] .catalog-products--list .product-card__media { min-height: 112px !important; height: auto !important; aspect-ratio: auto; border-right: 1px solid #edf0ed; border-bottom: 0; }
    :root[data-template="nova"] .catalog-products--list .product-card__body { padding: 13px !important; }
    :root[data-template="nova"] .catalog-products--list .product-card__title { min-height: 0; }
    :root[data-template="nova"] .catalog-products--list .product-card__description { display: none; }
    :root[data-template="nova"] .catalog-products--price .product-card { display: grid !important; grid-template-columns: 72px minmax(0, 1fr) !important; }
    :root[data-template="nova"] .catalog-products--price .product-card__media { min-height: 72px !important; height: auto !important; aspect-ratio: 1; border-right: 1px solid #edf0ed; border-bottom: 0; }
    :root[data-template="nova"] .catalog-products--price .product-card__body { display: flex !important; padding: 9px 10px !important; align-items: center; flex-direction: row; gap: 10px; }
    :root[data-template="nova"] .catalog-products--price .product-card__title { flex: 1; min-width: 0; margin: 0 !important; font-size: 12px !important; }
    :root[data-template="nova"] .catalog-products--price .product-card__meta,
    :root[data-template="nova"] .catalog-products--price .price__old { display: none; }
    :root[data-template="nova"] .catalog-products--price .product-card__footer { min-width: 0; margin: 0; gap: 6px !important; }
    :root[data-template="nova"] [data-home-public-block="categories"] .section-heading { display: flex; margin-bottom: 20px; }
    :root[data-template="nova"] [data-home-public-block="categories"] .section-heading .eyebrow,
    :root[data-template="nova"] [data-home-public-block="categories"] .section-link { display: none; }
    :root[data-template="nova"] [data-home-public-block="categories"] .section-heading h2 { font-size: 28px !important; font-weight: 520; line-height: 1.15; letter-spacing: -.04em; }
    :root[data-template="nova"] .category-grid { grid-auto-columns: minmax(190px, 42%); grid-auto-flow: column; grid-template-columns: none; overflow-x: auto; gap: 14px; padding: 2px 2px 7px; scrollbar-width: none; scroll-snap-type: x mandatory; }
    :root[data-template="nova"] .category-grid::-webkit-scrollbar { display: none; }
    :root[data-template="nova"] .category-card { scroll-snap-align: start; }
    :root[data-template="nova"] .catalog-head { padding: 20px 0 36px; }
    :root[data-template="nova"] .catalog-head h1 { font-size: 30px; }
    :root[data-template="nova"] .catalog-head h1 small { display: block; margin: 7px 0 0; font-size: 13px; }
    :root[data-template="nova"] .catalog-layout { grid-template-columns: 1fr; }
    :root[data-template="nova"] .sidebar { display: none; }
    :root[data-template="nova"] .sidebar.is-open { display: block; }
    :root[data-template="nova"] .catalog-content { display: flex; min-width: 0; flex-direction: column; }
    :root[data-template="nova"] .catalog-toolbar { order: -2; }
    :root[data-template="nova"] .quick-filter-links { order: -1; }
    :root[data-template="nova"] .quick-filter-links { width: 100%; min-width: 0; max-width: 100%; align-self: stretch; grid-auto-columns: minmax(154px, 1fr); grid-template-rows: 96px; gap: 14px; margin-bottom: 24px; padding: 2px; touch-action: pan-x; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
    :root[data-template="nova"] .quick-filter-links a { min-width: 154px; padding: 13px; gap: 10px; border-radius: 9px; font-size: 12px; }
    :root[data-template="nova"] .quick-filter-links__icon { flex-basis: 36px; width: 36px; height: 36px; border-radius: 8px; }
    :root[data-template="nova"] .quick-filter-links__icon img { padding: 3px; transform: scale(1.04); }
    :root[data-template="nova"] .quick-filter-links__glyph { transform: scale(.85); }
    :root[data-template="nova"] .catalog-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; margin-bottom: 14px; gap: 10px; }
    :root[data-template="nova"] .catalog-toolbar .sort-control { min-width: 0; grid-column: 1; grid-row: 1; }
    :root[data-template="nova"] .catalog-toolbar .sort-control select { width: 100%; min-width: 0; }
    :root[data-template="nova"] .catalog-toolbar__actions { display: contents; }
    :root[data-template="nova"] .catalog-view-switch { display: flex !important; grid-column: 2; grid-row: 1; }
    :root[data-template="nova"] .catalog-toolbar .filter-toggle { width: 100%; grid-column: 1 / -1; grid-row: 2; justify-content: center; }
    :root[data-template="nova"] .product-page-head { padding-top: 15px; }
    :root[data-template="nova"] .product-page-head h1 { font-size: 30px; }
    :root[data-template="nova"] .product-page-head__meta { gap: 12px; font-size: 12px; }
    :root[data-template="nova"] .product-page-head__sku { width: 100%; margin-left: 0; }
    :root[data-template="nova"] .product-detail--nova { grid-template-columns: 1fr; gap: 14px; padding: 10px 0 34px; }
    :root[data-template="nova"] .product-detail--nova > .gallery { grid-column: auto; grid-row: auto; }
    :root[data-template="nova"] .product-detail--nova > .product-info { display: flex; }
    :root[data-template="nova"] .product-detail--nova .gallery { gap: 10px; }
    :root[data-template="nova"] .product-detail--nova .gallery__main { min-height: 240px; }
    :root[data-template="nova"] .product-detail--nova .gallery__thumbs { gap: 8px; }
    :root[data-template="nova"] .product-spec-preview,
    :root[data-template="nova"] .product-info__price,
    :root[data-template="nova"] .price-vat-note,
    :root[data-template="nova"] .stock,
    :root[data-template="nova"] .product-action-card,
    :root[data-template="nova"] .product-perks { width: 100%; grid-column: auto; grid-row: auto; }
    :root[data-template="nova"] .product-info__price { order: 1; margin-top: 0; }
    :root[data-template="nova"] .price-vat-note { order: 2; }
    :root[data-template="nova"] .stock { order: 3; }
    :root[data-template="nova"] .product-action-card { order: 4; }
    :root[data-template="nova"] .product-perks { order: 5; }
    :root[data-template="nova"] .product-spec-preview { order: 6; }
    :root[data-template="nova"] .product-detail--nova > .product-info { gap: 12px; }
    :root[data-template="nova"] .product-info__price { padding: 18px 18px 0; }
    :root[data-template="nova"] .price-vat-note { margin: -6px 0 8px; padding: 0 18px; }
    :root[data-template="nova"] .stock { padding: 7px 18px; }
    :root[data-template="nova"] .product-info__summary { margin: 4px 18px 8px; }
    :root[data-template="nova"] .product-action-card { padding: 0 18px 10px; }
    :root[data-template="nova"] .product-action-card .buy-row { margin: 10px 0; gap: 8px; }
    :root[data-template="nova"] .product-perks { padding: 0 18px 12px; }
    :root[data-template="nova"] .product-perk { padding: 8px 0; }
    :root[data-template="nova"] .tabs { margin-bottom: 36px; border-radius: 12px; }
    :root[data-template="nova"] .tabs__nav { padding: 0 18px; gap: 26px; overflow-x: auto; overflow-y: hidden; }
    :root[data-template="nova"] .tabs__button { padding: 13px 0; white-space: nowrap; }
    :root[data-template="nova"] .tabs__panel { padding: 22px 18px 24px; }
    :root[data-template="nova"] .mobile-bottom-nav { position: fixed; z-index: 90; right: 0; bottom: 0; left: 0; display: grid; min-height: 64px; grid-template-columns: repeat(4, 1fr); padding: 7px 8px max(7px, env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .96); border-top: 1px solid #e7eae7; box-shadow: 0 -6px 20px rgba(20, 28, 22, .08); backdrop-filter: blur(14px); }
    :root[data-template="nova"] .mobile-bottom-nav a { position: relative; display: grid; place-items: center; gap: 3px; color: #6e757b; font-size: 20px; line-height: 1; }
    :root[data-template="nova"] .mobile-bottom-nav img { width: 20px; height: 20px; opacity: .72; }
    :root[data-template="nova"] .mobile-bottom-nav small { font-size: 10px; font-weight: 600; }
    :root[data-template="nova"] .mobile-bottom-nav b { position: absolute; top: -1px; right: calc(50% - 20px); display: grid; min-width: 15px; height: 15px; padding: 0 3px; place-items: center; color: #fff; background: var(--color-primary); border-radius: 50%; font-size: 9px; }
    :root[data-template="nova"] .messenger-widget { display: none; }
    :root[data-template="nova"] .scroll-top { bottom: calc(78px + env(safe-area-inset-bottom)); left: 12px; }
    :root[data-template="nova"] .support-chat { display: none; }

    :root[data-template="nova"] body.nova-mobile-menu-active { overflow: hidden; }
    :root[data-template="nova"] .nova-mobile-menu { position: absolute; z-index: 125; top: 58px; right: 0; left: 0; display: none; max-height: calc(100dvh - 58px); overflow-y: auto; color: #3f4448; background: #fff; border-top: 1px solid #e6e8e6; box-shadow: 0 18px 36px rgba(18, 24, 20, .14); }
    :root[data-template="nova"] .nova-mobile-menu.is-open { display: block; }
    :root[data-template="nova"] .nova-mobile-menu__location { display: flex; min-height: 62px; padding: 11px 28px; align-items: center; justify-content: space-between; gap: 16px; background: #f4f5f4; border-bottom: 1px solid #eceeec; }
    :root[data-template="nova"] .nova-mobile-menu__location-copy { display: flex; min-width: 0; align-items: center; gap: 12px; font-size: 16px; }
    :root[data-template="nova"] .nova-mobile-menu__location-copy svg { flex: 0 0 24px; width: 24px; height: 24px; fill: none; stroke: #50565a; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    :root[data-template="nova"] .nova-mobile-menu__location-copy strong { font-weight: 500; }
    :root[data-template="nova"] .nova-mobile-menu__location button { padding: 0; color: var(--color-primary); background: transparent; border: 0; font-size: 14px; font-weight: 600; white-space: nowrap; }
    :root[data-template="nova"] .nova-mobile-menu__catalog { padding: 24px 28px 20px; background: #fff; border-bottom: 1px solid #e7e9e7; }
    :root[data-template="nova"] .nova-mobile-menu__catalog h2 { margin: 0 0 17px; color: #202428; font-size: 25px !important; font-weight: 500; letter-spacing: -.04em; }
    :root[data-template="nova"] .nova-mobile-menu__categories { border-top: 1px solid #e5e7e5; }
    :root[data-template="nova"] .nova-mobile-menu__categories a { display: flex; min-height: 54px; padding: 10px 0; align-items: center; justify-content: space-between; gap: 20px; color: #454a4e; border-bottom: 1px solid #e5e7e5; font-size: 16px; font-weight: 450; text-decoration: none; }
    :root[data-template="nova"] .nova-mobile-menu__categories a i,
    :root[data-template="nova"] .nova-mobile-menu__action i,
    :root[data-template="nova"] .nova-mobile-menu__more-links i { color: #9ba0a2; font-size: 27px; font-style: normal; font-weight: 300; line-height: 1; }
    :root[data-template="nova"] .nova-mobile-menu__all { display: block; padding-top: 17px; color: var(--color-primary); font-size: 14px; text-align: center; text-decoration: none; }
    :root[data-template="nova"] .nova-mobile-menu__action { display: flex; min-height: 64px; padding: 14px 28px; align-items: center; gap: 12px; color: #ed6868; border-bottom: 1px solid #e7e9e7; font-size: 17px; text-decoration: none; }
    :root[data-template="nova"] .nova-mobile-menu__action > span { display: grid; width: 26px; height: 26px; place-items: center; color: #ed6868; background: #fff0f0; border-radius: 7px; font-size: 18px; }
    :root[data-template="nova"] .nova-mobile-menu__action strong { font-weight: 500; }
    :root[data-template="nova"] .nova-mobile-menu__action i { margin-left: auto; }
    :root[data-template="nova"] .nova-mobile-menu__quick-links { padding: 12px 28px 10px; border-bottom: 1px solid #e7e9e7; }
    :root[data-template="nova"] .nova-mobile-menu__quick-links a { display: flex; min-height: 54px; padding: 10px 0; align-items: center; gap: 14px; color: #464b4f; font-size: 16px; text-decoration: none; }
    :root[data-template="nova"] .nova-mobile-menu__quick-links img { width: 25px; height: 25px; object-fit: contain; opacity: .82; }
    :root[data-template="nova"] .nova-mobile-menu__quick-links b { display: grid; min-width: 19px; height: 19px; margin-left: auto; padding: 0 5px; place-items: center; color: #fff; background: var(--color-primary); border-radius: 50%; font-size: 10px; font-weight: 700; }
    :root[data-template="nova"] .nova-mobile-menu__more-links { padding: 10px 28px 24px; }
    :root[data-template="nova"] .nova-mobile-menu__more-links a { display: flex; min-height: 46px; padding: 10px 0; align-items: center; justify-content: space-between; color: #60666a; border-bottom: 1px solid #eef0ee; font-size: 14px; text-decoration: none; }
}

/* Mobile header: keep the five controls on a stable nova-like grid.
   The logo stays centered while menu, search, phone and cart keep equal
   touch targets and do not jump when the sticky header changes state. */
@media (max-width: 700px) {
    :root[data-template="nova"] .header-main {
        display: grid !important;
        grid-template-columns: 48px 48px minmax(0, 1fr) 48px 48px !important;
        width: min(100% - 28px, 1440px) !important;
        min-height: 72px !important;
        padding: 0 !important;
        align-items: center !important;
        justify-items: center !important;
        justify-content: initial !important;
        gap: 0 !important;
    }
    :root[data-template="nova"] .header-main > .logo {
        grid-column: 3 !important;
        grid-row: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 54px !important;
        margin: 0 !important;
        overflow: visible !important;
        justify-self: center !important;
        align-items: center !important;
        justify-content: center !important;
    }
    :root[data-template="nova"] .header-main > .logo .logo__image {
        width: min(100%, 150px) !important;
        max-width: 150px !important;
        height: 54px !important;
        object-fit: contain !important;
    }
    :root[data-template="nova"] .header-main > .logo .logo__mark {
        width: 52px !important;
        height: 52px !important;
        max-width: 52px !important;
        object-fit: contain !important;
    }
    :root[data-template="nova"] .header-main > .header-actions {
        display: contents !important;
    }
    :root[data-template="nova"] .header-actions .nav-toggle {
        position: static !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        justify-self: center !important;
    }
    :root[data-template="nova"] .header-actions .search-trigger {
        position: static !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        justify-self: center !important;
    }
    :root[data-template="nova"] .header-actions .icon-button--basket {
        position: static !important;
        grid-column: 5 !important;
        grid-row: 1 !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        justify-self: center !important;
    }
    :root[data-template="nova"] .header-main > .header-sticky-phone {
        position: static !important;
        grid-column: 4 !important;
        grid-row: 1 !important;
        width: 48px !important;
        min-width: 48px !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        justify-self: center !important;
    }
    :root[data-template="nova"] .header-sticky-phone__icon {
        display: block !important;
        width: 30px !important;
        height: 30px !important;
    }
    :root[data-template="nova"] .header-actions .nav-toggle > .tabler-icon,
    :root[data-template="nova"] .header-actions .icon-button--basket > .tabler-icon,
    :root[data-template="nova"] .header-actions .search-trigger > svg {
        display: block !important;
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
    }
    :root[data-template="nova"] .header-actions .icon-button--basket .cart-count {
        top: 0 !important;
        right: -2px !important;
        min-width: 24px !important;
        height: 24px !important;
        line-height: 24px !important;
    }
}

@media (max-width: 420px) {
    :root[data-template="nova"] .header-main {
        grid-template-columns: 42px 42px minmax(0, 1fr) 42px 42px !important;
        min-height: 64px !important;
    }
    :root[data-template="nova"] .header-main > .logo,
    :root[data-template="nova"] .header-main > .logo .logo__image,
    :root[data-template="nova"] .header-main > .logo .logo__mark {
        width: 44px !important;
        height: 44px !important;
        max-width: 44px !important;
    }
    :root[data-template="nova"] .header-actions .nav-toggle,
    :root[data-template="nova"] .header-actions .search-trigger,
    :root[data-template="nova"] .header-actions .icon-button--basket,
    :root[data-template="nova"] .header-main > .header-sticky-phone {
        width: 42px !important;
        min-width: 42px !important;
        height: 44px !important;
    }
    :root[data-template="nova"] .header-actions .nav-toggle > .tabler-icon,
    :root[data-template="nova"] .header-actions .icon-button--basket > .tabler-icon,
    :root[data-template="nova"] .header-actions .search-trigger > svg {
        width: 29px !important;
        height: 29px !important;
    }
    :root[data-template="nova"] .header-sticky-phone__icon {
        width: 28px !important;
        height: 28px !important;
    }
}




/* Mobile hero sliders: fade the incoming banner in without keeping the
   outgoing banner visible. The desktop cross-fade is intentionally retained,
   but on a narrow screen two full banners become unreadable when overlapped. */
@media (max-width: 700px) {
    :root[data-template="nova"] .slider__viewport > .slide:not(.is-active),
    :root[data-template="nova"] .hero-side-promo:not(.is-active) {
        visibility: hidden !important;
        opacity: 0 !important;
        transform: translateX(2%) !important;
        transition: none !important;
        pointer-events: none !important;
    }
    :root[data-template="nova"] .slider__viewport > .slide.is-active,
    :root[data-template="nova"] .hero-side-promo.is-active {
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        transition: opacity .35s ease, transform .35s ease !important;
    }
}

/* The full specification list must reflow as two flexible columns on narrow
   screens. A table's intrinsic min-content width otherwise keeps the value
   column outside the 390px product panel. */
@media (max-width: 700px) {
    :root[data-template="nova"] body.page-product,
    :root[data-template="nova"] body.page-product .main-content,
    :root[data-template="nova"] body.page-product .tabs,
    :root[data-template="nova"] body.page-product .tabs__panel,
    :root[data-template="nova"] body.page-product .spec-groups,
    :root[data-template="nova"] body.page-product .spec-group {
        min-width: 0 !important;
        max-width: 100% !important;
    }
    :root[data-template="nova"] body.page-product .tabs {
        overflow-x: hidden !important;
    }
    :root[data-template="nova"] body.page-product .spec-table {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed !important;
    }
    :root[data-template="nova"] body.page-product .spec-table tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    :root[data-template="nova"] body.page-product .spec-table tr {
        display: grid !important;
        grid-template-columns: minmax(0, 62%) minmax(72px, 38%) !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    :root[data-template="nova"] body.page-product .spec-table td,
    :root[data-template="nova"] body.page-product .spec-table td:first-child,
    :root[data-template="nova"] body.page-product .spec-table td:last-child {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-wrap: anywhere !important;
        white-space: normal !important;
    }
    :root[data-template="nova"] body.page-product .spec-table td:first-child {
        padding-left: 0 !important;
        overflow: visible !important;
    }
    :root[data-template="nova"] body.page-product .spec-table td:last-child {
        padding-right: 0 !important;
        text-align: right !important;
        overflow: visible !important;
    }
}

@media (max-width: 520px) {
    :root[data-template="nova"] .breadcrumbs { display: none; }
    :root[data-template="nova"] .hero-layout { grid-template-columns: 1fr; gap: 24px; }
    :root[data-template="nova"] .slider { min-height: 176px; }
    :root[data-template="nova"] .slide { grid-template-columns: 1fr; min-height: 176px; padding: 18px 18px 88px; }
    :root[data-template="nova"] .slide h1,
    :root[data-template="nova"] .slide h2 { max-width: 190px; margin: 0; font-size: 20px !important; line-height: 1.14; letter-spacing: -.035em; }
    :root[data-template="nova"] .slide__art { position: absolute; right: 0; bottom: 0; width: 66%; height: 176px; opacity: .72; }
    :root[data-template="nova"] .slide__product { max-height: 162px; }
    :root[data-template="nova"] .hero-service-stats { right: 10px; bottom: 10px; left: 10px; }
    :root[data-template="nova"] .hero-service-stats > div { padding: 7px; }
    :root[data-template="nova"] .hero-service-stats i { width: 18px; height: 18px; margin-bottom: 4px; font-size: 9px; }
    :root[data-template="nova"] .hero-service-stats strong { font-size: 14px; }
    :root[data-template="nova"] .hero-service-stats span { margin-top: 3px; font-size: 7px; }
    :root[data-template="nova"] .slider__dots { bottom: -20px; }
    :root[data-template="nova"] .slider__dot { width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 50%; }
    :root[data-template="nova"] .slider__dot::before { width: 5px; height: 5px; }
    :root[data-template="nova"] .slider__dot.is-active::before { width: 18px; height: 2px; }
    :root[data-template="nova"] .hero-side-promos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    :root[data-template="nova"] .hero-side-promos { min-height: 210px; }
    :root[data-template="nova"] .hero-side-promo,
    :root[data-template="nova"] .hero-side-promo--secondary { display: flex; min-height: 210px; padding: 16px 14px; }
    :root[data-template="nova"] .hero-side-promo span { display: none; }
    :root[data-template="nova"] .hero-side-promo h2 { max-width: 135px; margin: 0; font-size: 15px !important; line-height: 1.12; letter-spacing: -.025em; }
    :root[data-template="nova"] .hero-side-promo img { right: -8%; bottom: -2%; width: 112%; max-height: 70%; }
    :root[data-template="nova"] .hero-side-promo:only-child { grid-column: 1 / -1; align-items: flex-start; }
    :root[data-template="nova"] .hero-side-promo:only-child > div { max-width: 45%; }
    :root[data-template="nova"] .hero-side-promo:only-child h2 { max-width: 170px; font-size: 21px !important; }
    :root[data-template="nova"] .hero-side-promo:only-child img { right: 2%; width: 58%; max-height: 84%; transform: rotate(-3deg); }
    :root[data-template="nova"] .home-block-stack > [data-home-public-block="categories"] { padding: 34px 0 32px; }
    :root[data-template="nova"] [data-home-public-block="categories"] .section-heading { display: flex; margin-bottom: 18px; }
    :root[data-template="nova"] [data-home-public-block="categories"] .section-heading .eyebrow,
    :root[data-template="nova"] [data-home-public-block="categories"] .section-link { display: none; }
    :root[data-template="nova"] [data-home-public-block="categories"] .section-heading h2 { font-size: 26px !important; font-weight: 520; line-height: 1.15; letter-spacing: -.04em; }
    :root[data-template="nova"] .category-grid { grid-auto-columns: minmax(170px, 48%); grid-auto-flow: column; grid-template-columns: none; overflow-x: auto; gap: 12px; padding: 2px 2px 7px; scrollbar-width: none; scroll-snap-type: x mandatory; }
    :root[data-template="nova"] .category-grid::-webkit-scrollbar { display: none; }
    :root[data-template="nova"] .category-card { min-height: 142px; padding: 15px; scroll-snap-align: start; }
    :root[data-template="nova"] .category-card__body strong { font-size: 16px; }
    :root[data-template="nova"] .category-card__body small { margin-top: auto; font-size: 14px; }
    :root[data-template="nova"] .category-card__image { width: 58%; height: calc(100% + 10px); }
    :root[data-template="nova"] .category-card__icon { width: 58%; min-height: 102px; height: calc(100% + 10px); margin-bottom: -10px; }
}

@media (max-width: 420px) {
    :root[data-template="nova"] .container { width: min(100% - 32px, 1440px); }
    :root[data-template="nova"] .logo__image { max-width: 145px; height: 38px; }
    :root[data-template="nova"] .hero-service-stats strong { font-size: 13px; }
    :root[data-template="nova"] .trust-strip { grid-template-columns: 1fr; }
    :root[data-template="nova"] .category-grid { grid-template-columns: none; }
}

@media (max-width: 360px) {
    :root[data-template="nova"] .logo__image { max-width: 92px; height: 34px; }
}

/* Product detail: purchase panel, copyable SKU and print action. */
:root[data-template="nova"] .product-page-head__action > .tabler-icon { width: 19px; height: 19px; object-fit: contain; }
:root[data-template="nova"] .product-page-head__action .product-share-icon { width: 19px; height: 19px; flex: 0 0 19px; opacity: .78; }
:root[data-template="nova"] .product-page-head__sku.product-sku-copy {
    display: inline-flex;
    min-height: 34px;
    padding: 7px 10px;
    margin-left: auto;
    align-items: center;
    gap: 5px;
    color: #6d757b;
    background: #f7f9f7;
    border: 1px solid #e0e7e1;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
    transition: color .16s ease, border-color .16s ease, background .16s ease;
}
:root[data-template="nova"] .product-page-head__sku.product-sku-copy:hover,
:root[data-template="nova"] .product-purchase-card__sku:hover { color: var(--color-primary); background: #f1f8f1; border-color: color-mix(in srgb, var(--color-primary) 45%, #e0e7e1); }
:root[data-template="nova"] .product-page-head__sku.product-sku-copy strong,
:root[data-template="nova"] .product-purchase-card__sku strong { color: #343a3e; font-weight: 700; }
:root[data-template="nova"] .product-sku-copy__icon { color: currentColor; font-size: 15px; line-height: 1; }

:root[data-template="nova"] .product-purchase-card {
    grid-column: 3;
    grid-row: 1 / span 8;
    align-self: start;
    display: grid;
    overflow: visible;
    background: #fff;
    border: 1px solid #e1e8e2;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(31, 47, 35, .08);
}
:root[data-template="nova"] .product-purchase-card__head {
    display: flex;
    min-height: 60px;
    padding: 16px 25px 10px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: #889096;
    border-bottom: 1px solid #edf0ed;
    font-size: 11px;
    font-weight: 600;
}
:root[data-template="nova"] .product-purchase-label {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 3px;
    color: #343a3e;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}
:root[data-template="nova"] .product-purchase-label__tooltip.spec-tooltip {
    flex: 0 0 20px;
    margin-left: 2px;
}
:root[data-template="nova"] .product-purchase-label__tooltip .spec-tooltip__bubble {
    top: calc(100% + 9px);
    right: auto;
    bottom: auto;
    left: 0;
    z-index: 40;
}
:root[data-template="nova"] .product-purchase-card__head:has(.product-purchase-label__tooltip:hover),
:root[data-template="nova"] .product-purchase-card__head:has(.product-purchase-label__tooltip:focus-visible) {
    overflow: visible;
}
:root[data-template="nova"] .product-purchase-card__sku.product-sku-copy {
    min-height: 32px;
    padding: 6px 9px;
    margin-left: auto;
    color: #7c858b;
    background: #fbfcfb;
    border: 1px solid #e1e7e2;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 500;
}
:root[data-template="nova"] .product-purchase-card .product-info__price,
:root[data-template="nova"] .product-purchase-card .price-vat-note,
:root[data-template="nova"] .product-purchase-card .stock,
:root[data-template="nova"] .product-purchase-card .product-action-card,
:root[data-template="nova"] .product-purchase-card .product-perks { grid-column: 1; grid-row: auto; }
:root[data-template="nova"] .product-purchase-card .product-info__price { margin: 0; padding: 24px 25px 0; background: transparent; }
:root[data-template="nova"] .product-purchase-card .price-vat-note { padding: 7px 25px 0; background: transparent; }
:root[data-template="nova"] .product-purchase-card .stock { padding: 16px 25px 12px; background: transparent; }
:root[data-template="nova"] .product-purchase-card .product-info__summary { display: none; }
:root[data-template="nova"] .product-purchase-card .product-action-card { padding: 4px 25px 18px; background: transparent; }
:root[data-template="nova"] .product-purchase-card .product-perks { padding: 0 25px 20px; background: transparent; }

/* Product detail typography: keep the product page readable on desktop and mobile. */
:root[data-template="nova"] body.page-product .breadcrumbs,
:root[data-template="nova"] body.page-product .product-page-head__meta,
:root[data-template="nova"] body.page-product .product-code,
:root[data-template="nova"] body.page-product .product-purchase-card__head,
:root[data-template="nova"] body.page-product .product-purchase-card__sku,
:root[data-template="nova"] body.page-product .product-perk,
:root[data-template="nova"] body.page-product .product-perk .muted,
:root[data-template="nova"] body.page-product .product-bundle-card__old-price,
:root[data-template="nova"] body.page-product .product-bundle-card__discount,
:root[data-template="nova"] body.page-product .feedback-login p { font-size: 14px; }
:root[data-template="nova"] body.page-product .product-description,
:root[data-template="nova"] body.page-product .product-description p,
:root[data-template="nova"] body.page-product .tabs__button { font-size: 16px; }
:root[data-template="nova"] body.page-product .product-action-card .btn--buy-cart,
:root[data-template="nova"] body.page-product .product-action-card .btn--buy-now,
:root[data-template="nova"] body.page-product .product-bundle-card__button,
:root[data-template="nova"] body.page-product .cart-drawer__full,
:root[data-template="nova"] body.page-product .btn--quick-order-submit { font-size: 16px; }
:root[data-template="nova"] body.page-product .product-bundle-card__items { align-items: center; }
:root[data-template="nova"] body.page-product .product-bundle-card__product {
    display: flex;
    min-height: 160px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
}
:root[data-template="nova"] body.page-product .product-bundle-card__product a {
    flex: 0 0 auto;
    width: 90px;
    height: 90px;
}
:root[data-template="nova"] body.page-product .product-bundle-card__product strong {
    display: block;
    max-width: 100%;
    text-align: center;
    font-size: 14px;
}
:root[data-template="nova"] body.page-product .product-bundle-card__plus { align-self: center; }

@media (max-width: 1180px) {
    :root[data-template="nova"] .product-purchase-card { grid-column: 2; grid-row: 1 / span 8; }
}

@media (max-width: 860px) {
    :root[data-template="nova"] .product-purchase-card {
        width: 100%;
        grid-column: auto;
        grid-row: auto;
        order: 4;
    }
    :root[data-template="nova"] .product-purchase-card__head { padding: 14px 18px 10px; }
    :root[data-template="nova"] .product-purchase-card .product-info__price { padding: 18px 18px 0; }
    :root[data-template="nova"] .product-purchase-card .price-vat-note { padding: 0 18px; }
    :root[data-template="nova"] .product-purchase-card .stock { padding: 7px 18px; }
    :root[data-template="nova"] .product-purchase-card .product-action-card { padding: 0 18px 10px; }
    :root[data-template="nova"] .product-purchase-card .product-perks { padding: 0 18px 12px; }
}

@media print {
    @page { margin: 14mm; }
    body.page-product { color: #202428; background: #fff; }
    body.page-product .demo-mode-banner,
    body.page-product .topbar,
    body.page-product .site-header,
    body.page-product .breadcrumbs,
    body.page-product .product-page-head__meta,
    body.page-product .gallery__thumbs,
    body.page-product .product-action-card,
    body.page-product .product-list-actions,
    body.page-product .messenger-widget,
    body.page-product .support-chat,
    body.page-product .scroll-top,
    body.page-product .mobile-bottom-nav,
    body.page-product .site-footer,
    body.page-product .product-relations,
    body.page-product .product-feedback,
    body.page-product .gallery-lightbox { display: none !important; }
    body.page-product .main-content { min-height: 0; }
    body.page-product .product-page-head { padding: 0 0 12px; }
    body.page-product .product-page-head h1 { margin: 0; color: #111827; font-size: 26px; }
    body.page-product .product-detail--nova { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(260px, .92fr); gap: 24px; padding: 0 0 24px; }
    body.page-product .product-detail--nova > .gallery { grid-column: 1; grid-row: 1 / span 2; }
    body.page-product .product-detail--nova > .gallery .gallery__main { min-height: 420px; border: 1px solid #e5e7eb; border-radius: 12px; }
    body.page-product .product-detail--nova > .product-info { display: contents; }
    body.page-product .product-detail--nova .product-spec-preview { display: block; grid-column: 2; grid-row: 1; }
    body.page-product .product-detail--nova .product-purchase-card { grid-column: 2; grid-row: 2; box-shadow: none; }
    body.page-product .product-detail--nova .product-purchase-card__head { padding-right: 18px; padding-left: 18px; }
    body.page-product .product-detail--nova .product-purchase-card .product-info__price { padding-right: 18px; padding-left: 18px; }
    body.page-product .product-detail--nova .product-purchase-card .price-vat-note,
    body.page-product .product-detail--nova .product-purchase-card .stock,
    body.page-product .product-detail--nova .product-purchase-card .product-perks { padding-right: 18px; padding-left: 18px; }
    /* В печать попадает только карточка товара: без вкладок, описания и блоков ниже. */
    body.page-product .tabs { display: none !important; }
}

/* Final contrast pass after all responsive theme rules. */
:root[data-template="nova"] .badge--sale {
    color: #fff !important;
    background: #a9363f !important;
    border-color: #a9363f !important;
}
:root[data-template="nova"] .price__old {
    color: #5f686f !important;
}
:root[data-template="nova"] .section-link,
:root[data-template="nova"] .catalog-menu__head a {
    color: var(--nova-accent-dark) !important;
}
:root[data-template="nova"] .home-about,
:root[data-template="nova"] .home-about__contact,
:root[data-template="nova"] .home-about__contact a,
:root[data-template="nova"] .home-about__contact strong {
    color: #fff !important;
}
:root[data-template="nova"] .home-about .eyebrow,
:root[data-template="nova"] .home-about__content > p:not(.eyebrow) {
    color: #f1f5f2 !important;
}
:root[data-template="nova"] .home-about__contact .object-status.is-open {
    color: var(--nova-accent-light) !important;
}
:root[data-template="nova"] .site-footer {
    color: #d0d5d1 !important;
}
:root[data-template="nova"] .site-footer a,
:root[data-template="nova"] .site-footer .logo__text {
    color: #fff !important;
}

/* Final storefront controls pass: keep the light theme neutral and consistent
   after all component and responsive rules have been loaded. */
:root[data-template="nova"] .product-tool-button,
:root[data-template="nova"] .product-tool-button:hover,
:root[data-template="nova"] .product-tool-button:focus-visible,
:root[data-template="nova"] .product-tool-button.is-active,
:root[data-template="nova"] .product-tool-button--icon:hover,
:root[data-template="nova"] .product-tool-button--icon.is-active {
    color: #687178 !important;
}
:root[data-template="nova"] .product-tool-button--icon:hover,
:root[data-template="nova"] .product-tool-button--icon.is-active {
    background: #fff !important;
    border-color: #e4e7e4 !important;
}
:root[data-template="nova"] .home-product-tabs__nav button:hover,
:root[data-template="nova"] .home-product-tabs__nav button:focus-visible {
    color: var(--color-text);
    background: transparent !important;
    box-shadow: none !important;
}
:root[data-template="nova"] .home-product-tabs__nav button.is-active:hover,
:root[data-template="nova"] .home-product-tabs__nav button.is-active:focus-visible {
    color: #fff !important;
    background: var(--color-primary) !important;
}
:root[data-template="nova"] .breadcrumbs {
    font-size: 14px !important;
}
:root[data-template="nova"] .brand-detail-page .breadcrumbs {
    justify-content: flex-start !important;
    text-align: left !important;
}
:root[data-template="nova"] .product-card__title,
:root[data-template="nova"] .price__vat {
    font-weight: 450 !important;
}
:root[data-template="nova"] .badge,
:root[data-template="nova"] .badge--hit,
:root[data-template="nova"] .badge--new,
:root[data-template="nova"] .badge--sale {
    font-size: 11px !important;
}
:root[data-template="nova"] .product-card .badges .badge {
    font-weight: 400 !important;
}

/* Mobile search controls stay centered in both the header trigger and the
   expanded search field. */
@media (max-width: 700px) {
    :root[data-template="nova"] .header-actions .search-trigger {
        display: grid !important;
        width: 48px !important;
        height: 48px !important;
        padding: 0 !important;
        place-items: center !important;
        line-height: 0 !important;
    }
    :root[data-template="nova"] .header-actions .search-trigger > svg {
        display: block;
        width: 26px;
        height: 26px;
        margin: 0;
    }
    :root[data-template="nova"] .header-main .search.is-open {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }
    :root[data-template="nova"] .header-main .search button[type="submit"] {
        position: static !important;
        inset: auto !important;
        display: grid !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        flex: 0 0 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        place-items: center !important;
        align-self: center !important;
        transform: none !important;
    }
    :root[data-template="nova"] .header-main .search button[type="submit"] > svg {
        display: block;
        width: 22px !important;
        height: 22px !important;
        margin: 0;
    }
}

/* Final mobile header alignment: five equal control columns, with the
   storefront logo locked to the visual center like nova. */
@media (max-width: 700px) {
    :root[data-template="nova"] .header-main {
        display: grid !important;
        grid-template-columns: 48px 48px minmax(0, 1fr) 48px 48px !important;
        width: min(100% - 28px, 1440px) !important;
        min-height: 72px !important;
        padding: 0 !important;
        align-items: center !important;
        justify-items: center !important;
        justify-content: initial !important;
        gap: 0 !important;
    }
    :root[data-template="nova"] .header-main > .logo {
        grid-column: 3 !important;
        grid-row: 1 !important;
        width: 48px !important;
        height: 48px !important;
        margin: 0 !important;
        justify-self: center !important;
        align-items: center !important;
        justify-content: center !important;
    }
    :root[data-template="nova"] .header-main > .logo .logo__image,
    :root[data-template="nova"] .header-main > .logo .logo__mark {
        width: 48px !important;
        height: 48px !important;
        max-width: 48px !important;
        object-fit: contain !important;
    }
    :root[data-template="nova"] .header-main > .header-actions {
        display: contents !important;
    }
    :root[data-template="nova"] .header-actions .nav-toggle,
    :root[data-template="nova"] .header-actions .search-trigger,
    :root[data-template="nova"] .header-actions .icon-button--basket,
    :root[data-template="nova"] .header-main > .header-sticky-phone {
        position: static !important;
        grid-row: 1 !important;
        width: 48px !important;
        min-width: 48px !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        justify-self: center !important;
    }
    :root[data-template="nova"] .header-actions .nav-toggle { grid-column: 1 !important; }
    :root[data-template="nova"] .header-actions .search-trigger { grid-column: 2 !important; line-height: 0 !important; }
    :root[data-template="nova"] .header-main > .header-sticky-phone { grid-column: 4 !important; }
    :root[data-template="nova"] .header-actions .icon-button--basket { grid-column: 5 !important; }
    :root[data-template="nova"] .header-actions .nav-toggle > .tabler-icon,
    :root[data-template="nova"] .header-actions .icon-button--basket > .tabler-icon,
    :root[data-template="nova"] .header-actions .search-trigger > svg {
        display: block !important;
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
    }
    :root[data-template="nova"] .header-sticky-phone__icon {
        display: block !important;
        width: 30px !important;
        height: 30px !important;
    }
    :root[data-template="nova"] .header-actions .icon-button--basket .cart-count {
        top: 0 !important;
        right: -2px !important;
        min-width: 24px !important;
        height: 24px !important;
        line-height: 24px !important;
    }
}

@media (max-width: 420px) {
    :root[data-template="nova"] .header-main {
        grid-template-columns: 42px 42px minmax(0, 1fr) 42px 42px !important;
        min-height: 64px !important;
    }
    :root[data-template="nova"] .header-main > .logo {
        width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }
    :root[data-template="nova"] .header-main > .logo .logo__image {
        width: min(100%, 150px) !important;
        max-width: 150px !important;
        height: 52px !important;
        object-fit: contain !important;
    }
    :root[data-template="nova"] .header-main > .logo .logo__mark {
        width: 48px !important;
        height: 48px !important;
        max-width: 48px !important;
    }
    :root[data-template="nova"] .header-actions .nav-toggle,
    :root[data-template="nova"] .header-actions .search-trigger,
    :root[data-template="nova"] .header-actions .icon-button--basket,
    :root[data-template="nova"] .header-main > .header-sticky-phone {
        width: 42px !important;
        min-width: 42px !important;
        height: 44px !important;
    }
    :root[data-template="nova"] .header-actions .nav-toggle > .tabler-icon,
    :root[data-template="nova"] .header-actions .icon-button--basket > .tabler-icon,
    :root[data-template="nova"] .header-actions .search-trigger > svg {
        width: 29px !important;
        height: 29px !important;
    }
    :root[data-template="nova"] .header-sticky-phone__icon {
        width: 28px !important;
        height: 28px !important;
    }
}
