:root {
  --th-red: #eb0d0d;
  --th-red-dark: #cc0b0b;
  --th-red-text: #cc0b0b;
  --th-orange: #f28c18;
  --th-orange-text: #ad5700;
  --th-success-text: #237d46;
  --th-ink: #11181c;
  --th-ink-soft: #242b2f;
  --th-copy: #646d72;
  --th-copy-on-dark: #b9c0c4;
  --th-line: #e4e7e8;
  --th-soft: #f7f8f8;
}

html,
body {
  margin: 0;
  padding: 0;
  background: #fff;
  color: var(--th-ink);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body { min-width: 320px; }
a { color: var(--th-ink); text-decoration: none; }
a:hover { color: var(--th-red); }
button,
input,
select { font: inherit; }
button,
a { -webkit-tap-highlight-color: transparent; }
::selection { background: var(--th-red); color: #fff; }
[hidden] { display: none !important; }
.th-page { min-width: 0; overflow-x: clip; }
.th-shell { width: min(100%, 1288px); margin: 0 auto; padding-right: 24px; padding-left: 24px; }

.th-utility { background: var(--th-ink); color: #b9c0c4; border-bottom: 1px solid var(--th-ink-soft); font-size: 12.5px; letter-spacing: .02em; }
.th-utility__inner { min-height: 38px; display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.th-utility__professional { display: flex; align-items: center; gap: 10px; color: #e4e7e8; font-weight: 600; }
.th-utility__badge { padding: 2px 6px; color: #fff; background: var(--th-ink-soft); border: 1px solid #3a4247; border-radius: 4px; font-size: 10px; font-weight: 700; letter-spacing: .06em; }
.th-utility__shipping { margin: 0 auto; }
.th-utility__support { color: #e4e7e8; font-weight: 600; }
.th-utility__support strong { color: var(--th-orange); }

.th-header { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--th-line); }
.th-header__inner { height: 76px; display: flex; align-items: center; gap: 20px; }
.th-logo { display: flex; align-items: center; flex: none; }
.th-logo img { display: block; width: auto; height: 64px; }
.th-nav { display: flex; align-items: center; align-self: stretch; margin-left: auto; }
.th-nav__item { position: relative; display: flex; align-items: stretch; }
.th-nav__link { display: flex; align-items: center; height: 76px; padding: 0 9px; color: var(--th-ink-soft); border-bottom: 2px solid transparent; font-size: 13px; font-weight: 500; white-space: nowrap; }
.th-nav__item:hover > .th-nav__link,
.th-nav__item:focus-within > .th-nav__link,
.th-nav__item.is-open > .th-nav__link,
.th-nav__item.is-current > .th-nav__link { color: var(--th-red); border-bottom-color: var(--th-red); }
.th-mega { position: absolute; top: 76px; left: 0; z-index: 60; display: none; width: max-content; max-width: 560px; max-height: calc(100vh - 96px); padding: 26px 30px 24px; overflow-y: auto; background: #fff; border: 1px solid var(--th-line); border-top: 3px solid var(--th-red); border-radius: 0 0 12px 12px; box-shadow: 0 18px 40px rgb(17 24 28 / 14%); }
.th-nav__item:nth-last-child(-n+3) .th-mega { right: 0; left: auto; }
.th-nav__item:hover .th-mega,
.th-nav__item:focus-within .th-mega,
.th-nav__item.is-open .th-mega { display: block; animation: th-sub-in .18s ease both; }
.th-mega__columns { display: flex; gap: 40px; }
.th-mega__column { min-width: 150px; }
.th-mega__title { margin-bottom: 13px; color: var(--th-copy); font-family: Oxanium, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.th-mega__links { display: flex; flex-direction: column; gap: 9px; }
.th-mega__links a { color: var(--th-ink-soft); font-size: 13px; white-space: nowrap; }
.th-mega__cta { display: block; margin-top: 20px; padding-top: 16px; color: var(--th-red); border-top: 1px solid #f0f1f2; font-family: Oxanium, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em; }

.th-header__actions { display: flex; align-items: center; gap: 12px; margin-left: auto; flex: none; }
.th-login,
.th-account__toggle { display: flex; align-items: center; gap: 7px; padding: 10px 12px; color: var(--th-ink-soft); background: none; border: 0; border-radius: 8px; font-size: 13.5px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.th-login:hover,
.th-account__toggle:hover { color: var(--th-ink); background: #f4f5f6; }
.th-user-icon { position: relative; display: inline-block; width: 20px; height: 20px; flex: 0 0 20px; color: currentcolor; }
.th-user-icon::before { position: absolute; top: 1px; left: 6px; width: 8px; height: 8px; border: 2px solid currentcolor; border-radius: 50%; content: ""; }
.th-user-icon::after { position: absolute; bottom: 1px; left: 2px; width: 16px; height: 8px; border: 2px solid currentcolor; border-bottom: 0; border-radius: 10px 10px 0 0; content: ""; }
.th-signup { padding: 11px 22px; color: #fff; background: var(--th-red); border-radius: 8px; font-size: 13.5px; font-weight: 700; letter-spacing: .02em; }
.th-signup:hover { color: #fff; background: var(--th-red-dark); }
.th-account,
.th-cart { position: relative; display: flex; }
.th-account__menu { position: absolute; top: 48px; right: 0; z-index: 70; width: 230px; padding: 12px; background: #fff; border: 1px solid var(--th-line); border-radius: 12px; box-shadow: 0 18px 40px rgb(17 24 28 / 16%); }
.th-account__menu a { display: block; padding: 10px 12px; border-radius: 7px; font-size: 13px; }
.th-account__menu a:hover { background: #f4f5f6; }
.th-cart__toggle { position: relative; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: #fff; border: 1px solid var(--th-line); border-radius: 8px; cursor: pointer; }
.th-cart__toggle:hover { border-color: var(--th-red); }
.th-cart__count { position: absolute; top: -7px; right: -7px; display: flex; align-items: center; justify-content: center; min-width: 19px; height: 19px; padding: 0 5px; color: #fff; background: var(--th-red); border-radius: 10px; font-size: 11px; font-weight: 700; }
.th-cart__panel { position: absolute; top: 52px; right: 0; z-index: 70; width: 390px; max-width: 88vw; padding: 20px; text-align: left; background: #fff; border: 1px solid var(--th-line); border-radius: 12px; box-shadow: 0 18px 40px rgb(17 24 28 / 16%); }
.th-cart__heading { margin: 0 0 6px; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.th-cart__empty { margin: 8px 0 0; color: var(--th-copy); font-size: 13.5px; }
.th-cart-item { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid #f0f1f2; }
.th-cart-item__image { width: 48px; height: 48px; flex: none; object-fit: contain; background: var(--th-soft); border: 1px solid var(--th-line); border-radius: 8px; }
.th-cart-item__body { min-width: 0; flex: 1; }
.th-cart-item__name { color: var(--th-ink); font-size: 13px; font-weight: 600; line-height: 1.35; }
.th-cart-item__meta { margin-top: 3px; color: var(--th-copy); font-size: 12px; }
.th-cart-item__remove { margin-top: 5px; padding: 0; color: var(--th-red); background: none; border: 0; font-size: 12px; font-weight: 600; cursor: pointer; }
.th-cart-item__total { flex: none; color: var(--th-ink); font-size: 13.5px; font-weight: 700; }
.th-cart__summary { display: flex; flex-direction: column; gap: 8px; padding-top: 14px; }
.th-cart__line { display: flex; justify-content: space-between; color: var(--th-copy); font-size: 13px; }
.th-cart__line--discount { color: var(--th-red); font-weight: 600; }
.th-cart__line--total { padding-top: 10px; color: var(--th-ink); border-top: 1px solid var(--th-line); font-size: 15px; font-weight: 800; }
.th-cart__line--total span:last-child { font-family: Oxanium, sans-serif; }
.th-cart__checkout { display: block; margin-top: 12px; padding: 12px 18px; color: #fff; text-align: center; background: var(--th-red); border-radius: 8px; font-family: Oxanium, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .06em; }
.th-cart__checkout:hover { color: #fff; background: var(--th-red-dark); }

.th-burger { display: none; flex: none; flex-direction: column; gap: 5px; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: none; border: 0; cursor: pointer; }
.th-burger span { display: block; width: 22px; height: 2.5px; background: var(--th-ink); border-radius: 2px; }
.th-burger span:last-child { background: var(--th-red); }
.th-mobile-menu { position: fixed; inset: 0; z-index: 100; display: flex; flex-direction: column; background: #fff; animation: th-menu-in .25s ease both; }
.th-mobile-menu__header { display: flex; align-items: center; justify-content: space-between; padding: 10px 20px; border-bottom: 1px solid var(--th-line); }
.th-mobile-menu__header img { display: block; width: auto; height: 56px; }
.th-mobile-menu__close { width: 44px; height: 44px; color: var(--th-ink); background: #fff; border: 1px solid var(--th-line); border-radius: 8px; font-size: 18px; cursor: pointer; }
.th-mobile-menu__body { padding: 8px 20px 32px; overflow-y: auto; }
.th-mobile-menu__item { border-bottom: 1px solid #f0f1f2; }
.th-mobile-menu__toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 4px; color: var(--th-ink); text-align: left; text-transform: uppercase; background: none; border: 0; font-family: Oxanium, sans-serif; font-size: 16px; font-weight: 700; letter-spacing: .03em; cursor: pointer; }
.th-mobile-menu__toggle span:last-child { color: var(--th-red); font-size: 20px; }
.th-mobile-menu__links { display: flex; flex-direction: column; padding: 0 4px 14px; animation: th-sub-in .22s ease both; }
.th-mobile-menu__links a { padding: 11px 12px; color: #4a5257; border-left: 2px solid var(--th-line); font-size: 14.5px; }
.th-mobile-menu__links .th-mobile-menu__cta { padding-top: 13px; color: var(--th-red); border-left: 0; font-family: Oxanium, sans-serif; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; }
.th-mobile-menu__actions { display: flex; gap: 12px; padding-top: 24px; }
.th-mobile-menu__actions a { flex: 1; padding: 14px 0; text-align: center; border: 1.5px solid var(--th-ink); border-radius: 8px; font-family: Oxanium, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .06em; }
.th-mobile-menu__actions a:last-child { color: #fff; background: var(--th-red); border-color: var(--th-red); }

.th-search { padding: 20px 16px 0; background: #fff; }
.th-search__console { max-width: 1240px; margin: 0 auto; padding: 22px 24px 26px; background: var(--th-ink); background-image: repeating-linear-gradient(115deg, rgb(255 255 255 / 2.5%) 0, rgb(255 255 255 / 2.5%) 2px, transparent 2px, transparent 26px); border-radius: 14px; }
.th-search__tabs { display: flex; gap: 10px; margin-bottom: 18px; flex-wrap: wrap; }
.th-search__tab { display: flex; align-items: center; gap: 9px; padding: 12px 20px; color: var(--th-copy-on-dark); background: transparent; border: 1px solid transparent; border-bottom: 3px solid transparent; border-radius: 8px; font-family: Oxanium, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .08em; cursor: pointer; }
.th-search__tab::before { width: 9px; height: 9px; border: 2px solid var(--th-copy-on-dark); border-radius: 50%; content: ""; }
.th-search__tab.is-active { color: #fff; background: var(--th-ink-soft); border-color: #3a4247; border-bottom-color: var(--th-red); }
.th-search__tab.is-active::before { border-color: var(--th-red); }
.th-search__body { display: flex; gap: 20px; align-items: flex-start; flex-wrap: wrap; }
.th-search__form { display: flex; gap: 12px; align-items: stretch; min-width: 280px; flex: 1; }
.th-search__producer { min-width: 200px; height: 52px; padding: 0 14px; color: #e4e7e8; background: var(--th-ink-soft); border: 1px solid #3a4247; border-radius: 8px; font-size: 14.5px; cursor: pointer; }
.th-search__producer:focus { border-color: var(--th-red); outline: 0; }
.th-search__input-wrap { position: relative; min-width: 0; flex: 1; }
.th-search__input { width: 100%; height: 52px; padding: 0 64px 0 16px; color: var(--th-ink); background: #fff; border: 1px solid #3a4247; border-radius: 8px; font-size: 15px; }
.th-search__input:focus { border-color: var(--th-red); outline: 2px solid rgb(242 13 13 / 25%); }
.th-search__submit { position: absolute; z-index: 2; top: 5px; right: 5px; display: grid; width: 42px; height: 42px; padding: 0; place-items: center; color: #fff; background: var(--th-red); border: 0; border-radius: 6px; cursor: pointer; }
.th-search__submit svg { width: 21px; height: 21px; fill: none; stroke: currentcolor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.th-search__submit:hover { background: var(--th-red-dark); }
.th-search__help { padding-top: 5px; flex: none; line-height: 1.5; }
.th-search__help strong { display: block; color: var(--th-orange); font-size: 14px; }
.th-search__help span { display: block; color: #e4e7e8; font-size: 13.5px; }
.th-suggestions { position: absolute; top: 58px; right: 0; left: 0; z-index: 40; max-height: 420px; overflow-y: auto; background: #fff; border: 1px solid var(--th-line); border-radius: 10px; box-shadow: 0 12px 32px rgb(17 24 28 / 18%); }
.th-suggestion { display: flex; gap: 12px; align-items: flex-start; width: 100%; padding: 11px 14px; color: var(--th-ink); text-align: left; background: #fff; border: 0; border-bottom: 1px solid #f0f1f2; cursor: pointer; }
.th-suggestion:last-child { border-bottom: 0; }
.th-suggestion:hover,
.th-suggestion.is-active { background: #fdecec; }
.th-suggestion__image { flex: none; width: 52px; height: 52px; object-fit: contain; background: #fff; border: 1px solid #eceeef; border-radius: 6px; }
.th-suggestion__drawing-icon { display: flex; align-items: center; justify-content: center; flex: none; width: 52px; height: 52px; color: #fff; background: var(--th-red); border-radius: 6px; font-family: Oxanium, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.th-suggestion__content { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.th-suggestion__name { color: var(--th-ink); font-size: 14px; font-weight: 500; line-height: 1.35; }
.th-suggestion__name strong { color: var(--th-red); font-weight: 700; }
.th-suggestion__meta { display: flex; gap: 5px 12px; margin-top: 4px; color: var(--th-copy); font-size: 12px; flex-wrap: wrap; }
.th-suggestion__brand { color: var(--th-orange-text); font-weight: 600; }
.th-suggestion__reference { color: var(--th-copy); }
.th-suggestions__message { padding: 16px; color: var(--th-copy); font-size: 13.5px; }

.th-hero { position: relative; background: #fff url("/assets/termohero-v2/images/hero-tecnico.webp") no-repeat right center; background-size: cover; }
.th-hero::before { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(255 255 255 / 97%) 0%, rgb(255 255 255 / 92%) 38%, rgb(255 255 255 / 35%) 62%, rgb(255 255 255 / 0%) 85%); content: ""; }
.th-hero__inner { position: relative; display: grid; grid-template-columns: 1fr 1.15fr; gap: 48px; align-items: center; padding-top: 96px; padding-bottom: 110px; }
.th-hero h1 { margin: 0 0 24px; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: clamp(30px, 3.8vw, 48px); font-weight: 800; letter-spacing: .01em; line-height: 1.1; text-transform: uppercase; text-wrap: pretty; }
.th-hero h1 span { color: var(--th-red); }
.th-hero__lead { max-width: 46ch; margin: 0 0 12px; color: var(--th-copy); font-size: 16.5px; line-height: 1.65; }
.th-hero__b2b { margin: 0 0 36px; color: var(--th-ink); font-size: 15px; font-weight: 700; }
.th-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; }
.th-button { display: inline-block; padding: 16px 28px; border: 1.5px solid var(--th-ink); border-radius: 8px; font-family: Oxanium, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .08em; }
.th-button--primary { color: #fff; background: var(--th-red); border-color: var(--th-red); }
.th-button--primary:hover { color: #fff; background: var(--th-red-dark); border-color: var(--th-red-dark); }
.th-button--outline:hover { color: var(--th-red-text); border-color: var(--th-red); }
.th-hero__art { position: relative; min-height: 340px; }
.th-hero__slash { position: absolute; top: 24px; right: -10px; width: 150px; height: 8px; background: var(--th-red); opacity: .85; transform: skewX(-30deg); }
.th-hero__slash:last-child { top: 40px; right: 20px; width: 90px; height: 6px; opacity: .45; }

.th-categories { padding-top: 24px; padding-bottom: 110px; background: #fff; }
.th-section-title { margin: 0 auto 56px; color: var(--th-ink); text-align: center; text-transform: uppercase; font-family: Oxanium, sans-serif; font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; letter-spacing: .04em; }
.th-section-title span { box-shadow: inset 0 -6px 0 rgb(242 13 13 / 35%); }
.th-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.th-category-card { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--th-line); border-radius: 10px; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.th-category-card:hover { color: var(--th-ink); border-color: var(--th-red); box-shadow: 0 10px 24px rgb(17 24 28 / 10%); transform: translateY(-4px); }
.th-category-card__image { display: block; padding: 14px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--th-soft); }
.th-category-card__image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.th-category-card__label { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 16px 16px; border-top: 1px solid #f0f1f2; }
.th-category-card__label strong { color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 12.5px; font-weight: 700; letter-spacing: .05em; line-height: 1.3; text-transform: uppercase; }
.th-category-card__label span { color: var(--th-red); font-size: 16px; font-weight: 700; }

.th-experience { padding-top: 96px; padding-bottom: 110px; background: #fff; border-top: 1px solid var(--th-line); }
.th-experience__intro { margin-bottom: 64px; text-align: center; }
.th-experience__badge { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin: 0 auto 20px; color: var(--th-red-text); border: 2px solid var(--th-red); border-radius: 50%; font-family: Oxanium, sans-serif; font-size: 16px; font-weight: 800; }
.th-experience h2,
.th-institutional h2 { margin: 0 0 14px; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; letter-spacing: .04em; line-height: 1.25; text-transform: uppercase; text-wrap: pretty; }
.th-experience__intro p,
.th-institutional__intro > p { margin: 0; color: var(--th-copy); font-size: 15px; }
.th-benefits { display: grid; grid-template-columns: repeat(4, 1fr); padding: 48px 24px; background: #f2f1ef; border-radius: 14px; }
.th-benefit { padding: 0 32px; border-left: 1px solid #dddbd7; }
.th-benefit:first-child { border-left: 0; }
.th-benefit__image { display: flex; align-items: center; justify-content: center; height: 170px; margin-bottom: 26px; }
.th-benefit__image img { max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.th-benefit h3 { margin: 0 0 10px; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 14.5px; font-weight: 700; letter-spacing: .05em; line-height: 1.4; }
.th-benefit p { margin: 0; color: var(--th-copy); font-size: 14px; line-height: 1.6; }

.th-dual { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; padding-bottom: 110px; background: #fff; }
.th-path { position: relative; overflow: hidden; border-radius: 12px; }
.th-path::before { position: absolute; inset: 0; content: ""; }
.th-path--pro { background: var(--th-ink) url("/assets/termohero-v2/images/tecnico-magazzino.webp") no-repeat right center; background-size: cover; }
.th-path--pro::before { background: linear-gradient(90deg, rgb(17 24 28 / 97%) 0%, rgb(17 24 28 / 90%) 45%, rgb(17 24 28 / 45%) 72%, rgb(17 24 28 / 5%) 100%); }
.th-path--private { background: #fff url("/assets/termohero-v2/images/cliente-privato.webp") no-repeat 80% center; background-size: cover; border: 1px solid var(--th-line); }
.th-path--private::before { background: linear-gradient(90deg, rgb(255 255 255 / 97%) 0%, rgb(255 255 255 / 90%) 45%, rgb(255 255 255 / 40%) 72%, rgb(255 255 255 / 0%) 100%); }
.th-path__content { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; max-width: 62%; min-height: 280px; padding: 44px 40px; }
.th-path h2 { margin: 0; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: clamp(19px, 1.9vw, 24px); font-weight: 800; letter-spacing: .03em; line-height: 1.25; text-transform: uppercase; text-wrap: pretty; }
.th-path--pro h2 { color: #fff; }
.th-path p { margin: 0; color: #4a5257; font-size: 14px; line-height: 1.65; }
.th-path--pro p { color: #d5dadd; }
.th-path .th-button { margin-top: auto; padding: 14px 20px; font-size: 13px; white-space: nowrap; }

.th-institutional { padding-top: 96px; padding-bottom: 100px; background: #fff; border-top: 1px solid var(--th-line); }
.th-institutional__intro { margin-bottom: 64px; text-align: center; }
.th-institutional__intro > p { max-width: 64ch; margin-right: auto; margin-left: auto; line-height: 1.65; }
.th-institutional__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.th-institutional__image { height: 190px; margin-bottom: 22px; overflow: hidden; background: var(--th-soft); border-radius: 10px; }
.th-institutional__image img { width: 100%; height: 100%; object-fit: cover; }
.th-institutional h3 { margin: 0 0 10px; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 15px; font-weight: 700; letter-spacing: .05em; }
.th-institutional article p { margin: 0; color: var(--th-copy); font-size: 14px; line-height: 1.65; }

.th-cta { padding: 0 24px 96px; background: #fff; }
.th-cta__inner { display: flex; align-items: center; gap: 28px; max-width: 1240px; margin: 0 auto; padding: 40px 44px; background: var(--th-ink); background-image: repeating-linear-gradient(115deg, rgb(255 255 255 / 3%) 0, rgb(255 255 255 / 3%) 2px, transparent 2px, transparent 26px); border-radius: 14px; flex-wrap: wrap; }
.th-cta__icon { display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; flex: none; border: 2px solid var(--th-red); border-radius: 50%; }
.th-cta__icon span { position: relative; display: block; width: 18px; height: 18px; border: 2px solid var(--th-red); border-radius: 50%; }
.th-cta__icon span::before { position: absolute; top: 2px; left: 7px; width: 2px; height: 7px; background: var(--th-red); content: ""; }
.th-cta h2 { min-width: 240px; margin: 0; color: #fff; text-transform: uppercase; flex: 1; font-family: Oxanium, sans-serif; font-size: clamp(18px, 2vw, 24px); font-weight: 800; letter-spacing: .04em; line-height: 1.3; text-wrap: pretty; }
.th-cta__actions { display: flex; flex: none; flex-direction: column; gap: 12px; }
.th-cta__actions .th-button { padding: 14px 30px; text-align: center; font-size: 13px; }
.th-cta__actions .th-button--outline { color: #fff; border-color: var(--th-line); }

.th-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; white-space: nowrap; border: 0; clip: rect(0 0 0 0); clip-path: inset(50%); }

.th-catalog-hero { background: var(--th-soft); border-bottom: 1px solid var(--th-line); }
.th-catalog-hero__inner { padding-top: 28px; padding-bottom: 32px; }
.th-catalog-breadcrumb { display: flex; gap: 8px; align-items: center; margin-bottom: 14px; color: var(--th-copy); font-size: 12.5px; flex-wrap: wrap; }
.th-catalog-breadcrumb a { color: var(--th-copy); }
.th-catalog-breadcrumb a:hover { color: var(--th-red-text); }
.th-catalog-breadcrumb strong { color: var(--th-ink); font-weight: 600; }
.th-catalog-hero__heading { display: flex; gap: 18px; align-items: baseline; flex-wrap: wrap; }
.th-catalog-hero h1 { margin: 0; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: clamp(24px, 3vw, 34px); font-weight: 800; letter-spacing: .03em; line-height: 1.2; text-transform: uppercase; text-wrap: pretty; }
.th-catalog-hero__heading > span { color: var(--th-copy); font-size: 14px; }
.th-catalog-hero__intro { max-width: 78ch; margin-top: 14px; color: var(--th-copy); font-size: 14.5px; line-height: 1.65; }
.th-catalog-hero__intro > :first-child { margin-top: 0; }
.th-catalog-hero__intro > :last-child { margin-bottom: 0; }
.th-catalog-hero__intro p { margin: 0; }
.th-catalog-subcategories { padding-top: 20px; margin-top: 22px; border-top: 1px solid var(--th-line); }
.th-catalog-subcategories h2 { margin: 0 0 13px; color: var(--th-ink-soft); font-family: Oxanium, sans-serif; font-size: 15px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.th-catalog-subcategories__list { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.th-catalog-subcategories__list a { display: inline-flex; gap: 8px; align-items: center; padding: 9px 13px; color: #fff; background: var(--th-red); border-radius: 8px; font-size: 13px; font-weight: 600; transition: background .15s ease, transform .15s ease; }
.th-catalog-subcategories__list a:hover { color: #fff; background: var(--th-ink); transform: translateY(-1px); }
.th-catalog-subcategories__list small { min-width: 20px; padding: 2px 5px; color: var(--th-ink-soft); text-align: center; background: rgb(255 255 255 / 80%); border-radius: 10px; font-size: 10.5px; font-weight: 700; }

.th-catalog-layout { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: 40px; align-items: start; padding-top: 48px; padding-bottom: 96px; }
.th-catalog-sidebar { display: flex; min-width: 0; flex-direction: column; gap: 28px; }
.th-catalog-panel { overflow: hidden; background: #fff; border: 1px solid var(--th-line); border-radius: 10px; }
.th-catalog-panel__title { margin: 0; padding: 16px 18px; color: var(--th-ink); background: var(--th-soft); border-bottom: 1px solid var(--th-line); font-family: Oxanium, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.th-active-filters { padding: 18px; background: #fff; border: 1px solid #314153; border-top: 3px solid var(--th-red); border-radius: 10px; }
.th-active-filters__heading { display: flex; gap: 10px; align-items: baseline; justify-content: space-between; margin-bottom: 14px; }
.th-active-filters h2 { margin: 0; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 14px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.th-active-filters__heading > a { color: var(--th-copy); font-size: 11.5px; font-weight: 600; }
.th-active-filters__heading > a:hover { color: var(--th-red-text); }
.th-active-filters__chips { display: flex; gap: 8px; flex-wrap: wrap; }
.th-active-filter { display: inline-flex; gap: 7px; align-items: center; max-width: 100%; padding: 8px 11px 8px 13px; color: #fff; background: #314153; border-radius: 20px; font-size: 12.5px; font-weight: 600; }
.th-active-filter:hover { color: #fff; background: var(--th-red); }
.th-active-filter span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.th-active-filter strong { font-size: 17px; line-height: .8; }
.th-category-tree { display: flex; flex-direction: column; }
.th-category-tree__main { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 18px 12px 15px; color: var(--th-ink-soft); border-left: 3px solid transparent; font-size: 13.5px; }
.th-category-tree__main:hover { color: var(--th-red-text); }
.th-category-tree__branch.is-active > .th-category-tree__main { color: var(--th-red-text); background: rgb(253 236 236 / 45%); border-left-color: var(--th-red); font-weight: 700; }
.th-category-tree__main span:last-child { color: var(--th-red-text); font-size: 14px; }
.th-category-tree__children { display: flex; flex-direction: column; padding: 4px 0 8px; background: rgb(253 236 236 / 20%); }
.th-category-tree__child-row { display: flex; align-items: center; min-height: 38px; padding-right: 15px; border-left: 3px solid transparent; }
.th-category-tree__child.is-active > .th-category-tree__child-row { background: rgb(253 236 236 / 65%); border-left-color: var(--th-red); }
.th-category-tree__toggle,
.th-category-tree__toggle-spacer { width: 28px; height: 32px; margin-left: 7px; flex: none; }
.th-category-tree__toggle { display: flex; align-items: center; justify-content: center; padding: 0; color: var(--th-copy); background: transparent; border: 0; border-radius: 5px; cursor: pointer; }
.th-category-tree__toggle:hover { color: var(--th-red-text); background: #fff; }
.th-category-tree__toggle span { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); transition: transform .16s ease; }
.th-category-tree__toggle[aria-expanded="true"] span { transform: rotate(45deg); }
.th-category-tree__child-link { min-width: 0; padding: 9px 2px; color: #4a5257; flex: 1; font-size: 13px; line-height: 1.25; }
.th-category-tree__child-link:hover,
.th-category-tree__child.is-active > .th-category-tree__child-row .th-category-tree__child-link { color: var(--th-red-text); }
.th-category-tree__child.is-active > .th-category-tree__child-row .th-category-tree__child-link { font-weight: 700; }
.th-category-tree__count { margin-left: 7px; color: var(--th-copy); font-size: 11.5px; }
.th-category-tree__grandchildren { display: flex; padding: 3px 12px 9px 45px; flex-direction: column; gap: 2px; animation: th-sub-in .16s ease both; }
.th-category-tree__grandchildren a { display: flex; gap: 7px; align-items: center; padding: 7px 8px; color: var(--th-copy); border-left: 2px solid var(--th-line); font-size: 12px; line-height: 1.3; }
.th-category-tree__grandchildren a:hover,
.th-category-tree__grandchildren a.is-active { color: var(--th-red-text); border-left-color: var(--th-red); }
.th-category-tree__grandchildren a.is-active { font-weight: 700; }
.th-category-tree__grandchildren a span { min-width: 0; flex: 1; }
.th-category-tree__grandchildren a small { color: var(--th-copy); font-size: 10.5px; font-weight: 400; }

.th-filter-group { padding: 18px; margin: 0; border: 0; border-bottom: 1px solid #f0f1f2; }
.th-filter-group:last-of-type { border-bottom: 0; }
.th-filter-group legend { width: 100%; padding: 0; margin-bottom: 8px; color: var(--th-copy); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.th-filter-options { display: flex; flex-direction: column; gap: 4px; }
.th-filter-options--scroll { max-height: 344px; padding-right: 4px; overflow-y: auto; scrollbar-color: #c6cbce transparent; scrollbar-width: thin; }
.th-filter-option { display: flex; gap: 10px; align-items: center; min-height: 28px; padding: 6px 0; color: var(--th-ink-soft); font-size: 13.5px; cursor: pointer; }
.th-filter-option:hover { color: var(--th-red-text); }
.th-filter-option input { width: 16px; height: 16px; flex: none; margin: 0; accent-color: var(--th-red); cursor: pointer; }
.th-filter-option span { min-width: 0; flex: 1; }
.th-filter-option small { color: var(--th-copy); font-size: 12px; }
.th-filter-reset-wrap { padding: 0 18px 18px; }
.th-filter-reset { display: block; width: 100%; padding: 10px; color: var(--th-copy); text-align: center; border: 1px solid var(--th-line); border-radius: 8px; font-size: 12.5px; font-weight: 600; }
.th-filter-reset:hover { color: var(--th-red-text); border-color: var(--th-red); }

.th-catalog-results { min-width: 0; }
.th-catalog-toolbar { display: flex; gap: 16px; align-items: center; min-height: 40px; margin-bottom: 24px; color: var(--th-copy); font-size: 13.5px; flex-wrap: wrap; }
.th-catalog-toolbar label { margin-left: auto; }
.th-catalog-toolbar select { height: 40px; padding: 0 38px 0 12px; color: var(--th-ink-soft); background: #fff; border: 1px solid #757b80; border-radius: 8px; font-size: 13px; cursor: pointer; }
.th-catalog-toolbar select:focus { border-color: var(--th-red); outline: 2px solid rgb(242 13 13 / 15%); }
.th-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.th-product-card { display: flex; overflow: hidden; flex-direction: column; background: #fff; border: 1px solid var(--th-line); border-radius: 10px; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.th-product-card:hover { border-color: var(--th-red); box-shadow: 0 10px 24px rgb(17 24 28 / 10%); transform: translateY(-3px); }
.th-product-card__image { display: flex; align-items: center; justify-content: center; overflow: hidden; aspect-ratio: 1 / 1; background: repeating-linear-gradient(115deg, #f7f8f8 0, #f7f8f8 14px, #f2f3f4 14px, #f2f3f4 28px); }
.th-product-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.th-product-card__image img.is-placeholder { padding: 38px; object-fit: contain; background: #fff; }
.th-product-card__body { display: flex; padding: 16px 18px 18px; flex: 1; flex-direction: column; gap: 10px; }
.th-product-card__meta { display: flex; gap: 8px; align-items: center; color: var(--th-copy); font-size: 11.5px; flex-wrap: wrap; }
.th-product-card__meta > span:last-child { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; }
.th-product-card__maker { color: var(--th-copy); font-family: Inter, sans-serif !important; font-weight: 600; }
.th-product-card h2 { margin: 0; color: var(--th-ink); font-size: 14.5px; font-weight: 600; line-height: 1.4; text-wrap: pretty; }
.th-product-card h2 a { color: inherit; }
.th-product-card h2 a:hover { color: var(--th-red-text); }
.th-product-card__badges { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.th-product-card__type { padding: 3px 8px; border: 1px solid currentColor; border-radius: 5px; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.th-product-card__type.is-original { color: #16647a; }
.th-product-card__type.is-compatible { color: var(--th-orange-text); }
.th-product-card__availability { display: flex; gap: 6px; align-items: center; font-size: 12px; font-weight: 600; }
.th-product-card__availability > span { display: inline-block; width: 7px; height: 7px; background: currentColor; border-radius: 50%; }
.th-product-card__availability.is-available { color: #26853e; }
.th-product-card__availability.is-order { color: var(--th-orange-text); }
.th-product-card__availability.is-unavailable { color: #9a4545; }
.th-product-card__availability.is-discontinued { color: var(--th-red); }
.th-product-card__footer { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding-top: 6px; margin-top: auto; }
.th-product-card__price { min-width: 0; }
.th-product-card__price strong { display: block; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 19px; font-weight: 800; }
.th-product-card__price > a { display: block; color: var(--th-red-text); font-size: 12px; font-weight: 700; }
.th-product-card__price span { display: block; color: var(--th-copy); font-size: 11px; }
.th-product-card__button { padding: 11px 14px; flex: none; color: #fff; background: var(--th-red); border-radius: 8px; font-family: Oxanium, sans-serif; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; white-space: nowrap; }
.th-product-card__button:hover { color: #fff; background: var(--th-red-dark); }
.th-catalog-empty { padding: 48px; color: var(--th-copy); text-align: center; border: 1px dashed var(--th-line); border-radius: 10px; font-size: 14px; }
.th-catalog-empty a { color: var(--th-red-text); font-weight: 600; }

.th-catalog-pagination { display: flex; gap: 8px; align-items: center; justify-content: center; margin-top: 56px; flex-wrap: wrap; }
.th-catalog-pagination > a,
.th-catalog-pagination > span:not(.th-catalog-pagination__gap) { display: flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 8px; color: var(--th-ink-soft); background: #fff; border: 1px solid #757b80; border-radius: 8px; font-family: Oxanium, sans-serif; font-size: 14px; font-weight: 700; }
.th-catalog-pagination > a:hover { color: var(--th-red-text); border-color: var(--th-red); }
.th-catalog-pagination > .is-current { color: #fff !important; background: var(--th-red) !important; border-color: var(--th-red) !important; }
.th-catalog-pagination > .is-disabled { color: #c5c9cb !important; background: #f8f9f9 !important; border-color: var(--th-line) !important; }
.th-catalog-pagination__gap { width: 32px; color: var(--th-copy); text-align: center; font-size: 14px; }
.th-catalog-pagination__status { margin: 14px 0 0; color: var(--th-copy); text-align: center; font-size: 12.5px; }
.th-catalog-seo { max-width: 78ch; padding-top: 56px; margin-top: 72px; color: #4a5257; border-top: 1px solid var(--th-line); font-size: 14.5px; line-height: 1.7; }
.th-catalog-seo h2,
.th-catalog-seo h3 { margin: 40px 0 14px; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 20px; font-weight: 800; letter-spacing: .03em; line-height: 1.35; text-transform: uppercase; text-wrap: pretty; }
.th-catalog-seo > h2:first-child,
.th-catalog-seo > h3:first-child { margin-top: 0; }
.th-catalog-seo p { margin: 0 0 14px; }
.th-catalog-seo ul,
.th-catalog-seo ol { padding-left: 22px; margin: 0 0 40px; line-height: 1.9; }
.th-catalog-seo a { color: var(--th-red-text); text-decoration: underline; }
.th-catalog-not-found { padding-top: 80px; padding-bottom: 100px; text-align: center; }
.th-catalog-not-found h2 { margin: 0 0 12px; font-family: Oxanium, sans-serif; text-transform: uppercase; }
.th-catalog-not-found p { margin: 0 0 28px; color: var(--th-copy); }

.th-product-heading { padding-top: 28px; }
.th-product-breadcrumb { display: flex; gap: 8px; align-items: center; margin-bottom: 16px; color: var(--th-copy); font-size: 12.5px; flex-wrap: wrap; }
.th-product-breadcrumb a { color: var(--th-copy); }
.th-product-breadcrumb a:hover { color: var(--th-red-text); }
.th-product-breadcrumb span[aria-current="page"] { max-width: 42ch; overflow: hidden; color: var(--th-ink); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.th-product-heading h1 { margin: 0 0 32px; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: clamp(21px, 2.6vw, 30px); font-weight: 800; letter-spacing: .02em; line-height: 1.2; text-transform: uppercase; text-wrap: balance; }
.th-product-detail { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 36px; align-items: start; padding-bottom: 72px; }
.th-product-detail__photo { position: relative; overflow: hidden; aspect-ratio: 1 / 1; background: repeating-linear-gradient(115deg, #f7f8f8 0, #f7f8f8 14px, #f2f3f4 14px, #f2f3f4 28px); border: 1px solid var(--th-line); border-radius: 10px; }
.th-product-detail__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.th-product-detail__photo img.is-placeholder { padding: 48px; object-fit: contain; background: #fff; }
.th-product-detail__photo-button { position: relative; display: block; width: 100%; height: 100%; padding: 0; background: transparent; border: 0; cursor: zoom-in; }
.th-product-detail__photo-button::after { position: absolute; background: rgb(17 24 28 / 0%); content: ""; inset: 0; transition: background-color .18s ease; }
.th-product-detail__photo-button:hover::after,
.th-product-detail__photo-button:focus-visible::after { background: rgb(17 24 28 / 12%); }
.th-product-detail__photo-button:focus-visible { outline: 3px solid var(--th-red); outline-offset: -3px; }
.th-product-detail__zoom-icon { position: absolute; z-index: 1; top: 50%; left: 50%; display: grid; width: 58px; height: 58px; color: #fff; background: rgb(17 24 28 / 82%); border-radius: 50%; opacity: 0; pointer-events: none; transform: translate(-50%, -45%) scale(.88); transition: opacity .18s ease, transform .18s ease; place-items: center; }
.th-product-detail__zoom-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; }
.th-product-detail__photo-button:hover .th-product-detail__zoom-icon,
.th-product-detail__photo-button:focus-visible .th-product-detail__zoom-icon { opacity: 1; transform: translate(-50%, -50%) scale(1); }
body.has-product-image-modal { overflow: hidden; }
.th-product-image-modal { --th-product-modal-gutter: 48px; position: fixed; z-index: 1400; display: grid; padding: 24px; background: rgb(8 12 15 / 92%); inset: 0; place-items: center; }
.th-product-image-modal[hidden] { display: none; }
.th-product-image-modal__dialog { position: relative; display: grid; width: min(calc(100vw - var(--th-product-modal-gutter)), 1280px); height: min(calc(100vh - var(--th-product-modal-gutter)), 1280px); height: min(calc(100dvh - var(--th-product-modal-gutter)), 1280px); outline: none; place-items: center; }
.th-product-image-modal__dialog > img { display: block; width: auto; height: auto; max-width: min(calc(100vw - var(--th-product-modal-gutter)), 1280px); max-height: min(calc(100vh - var(--th-product-modal-gutter)), 1280px); max-height: min(calc(100dvh - var(--th-product-modal-gutter)), 1280px); filter: drop-shadow(0 18px 35px rgb(0 0 0 / 45%)); object-fit: contain; }
.th-product-image-modal__close { position: fixed; z-index: 2; top: 18px; right: 22px; display: grid; width: 46px; height: 46px; padding: 0 0 3px; color: #fff; background: rgb(17 24 28 / 88%); border: 1px solid rgb(255 255 255 / 55%); border-radius: 50%; font-size: 32px; line-height: 1; cursor: pointer; place-items: center; }
.th-product-image-modal__close:hover,
.th-product-image-modal__close:focus-visible { color: var(--th-ink); background: #fff; outline: 3px solid var(--th-red); }
.th-product-detail__content { min-width: 0; }
.th-product-detail__meta { display: flex; gap: 14px; align-items: center; margin-bottom: 18px; flex-wrap: wrap; }
.th-product-detail__type { padding: 4px 10px; border: 1px solid currentColor; border-radius: 5px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.th-product-detail__type.is-original { color: var(--th-red); }
.th-product-detail__type.is-compatible { color: var(--th-orange-text); }
.th-product-detail__code { color: var(--th-copy); font-size: 13.5px; }
.th-product-detail__code strong { color: var(--th-ink); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 600; overflow-wrap: anywhere; }
.th-product-detail__availability { display: flex; gap: 6px; align-items: center; font-size: 13px; font-weight: 600; }
.th-product-detail__availability > span { display: inline-block; width: 7px; height: 7px; flex: none; background: currentColor; border-radius: 50%; }
.th-product-detail__availability.is-available { color: var(--th-success-text); }
.th-product-detail__availability.is-order { color: var(--th-orange-text); }
.th-product-detail__availability.is-unavailable { color: #9a4545; }
.th-product-detail__availability.is-discontinued { color: var(--th-red); }
.th-product-detail__list-price { display: flex; gap: 14px; align-items: baseline; padding: 22px 0; border-top: 1px solid var(--th-line); flex-wrap: wrap; }
.th-product-detail__list-price span { color: var(--th-copy); font-size: 14px; }
.th-product-detail__list-price del { color: var(--th-copy); font-size: 17px; }
.th-product-detail__list-price strong { padding: 4px 10px; color: #fff; background: var(--th-red); border-radius: 6px; font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.th-product-detail__net-price { display: flex; gap: 14px; align-items: baseline; padding: 0 0 26px; border-bottom: 1px solid var(--th-line); flex-wrap: wrap; }
.th-product-detail__net-price > span { color: var(--th-ink); font-size: 14px; font-weight: 600; }
.th-product-detail__net-price > strong { color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 34px; font-weight: 800; }
.th-product-detail__net-price small { color: var(--th-copy); font-size: 12.5px; }
.th-product-detail__net-price em { padding: 4px 9px; color: #267342; background: #e7f5ed; border-radius: 5px; font-size: 11px; font-style: normal; font-weight: 700; }
.th-product-detail__login-price { padding: 24px; border-top: 1px solid var(--th-line); border-bottom: 1px solid var(--th-line); }
.th-product-detail__login-price > strong { font-family: Oxanium, sans-serif; font-size: 18px; text-transform: uppercase; }
.th-product-detail__login-price p { margin: 7px 0 16px; color: var(--th-copy); font-size: 13.5px; }
.th-product-detail__login-price div { display: flex; gap: 10px; flex-wrap: wrap; }
.th-product-detail__login-price a { padding: 10px 16px; color: #fff; background: var(--th-red); border-radius: 8px; font-family: Oxanium, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .05em; }
.th-product-detail__login-price a:last-child { color: var(--th-ink); background: #fff; border: 1px solid var(--th-ink); }
.th-product-alternatives { padding: 20px 0; border-bottom: 1px solid var(--th-line); }
.th-product-alternatives h2 { margin: 0 0 12px; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 17px; font-weight: 700; line-height: 1.3; }
.th-product-alternatives__list { display: grid; gap: 8px; justify-items: start; }
.th-product-alternatives__item { display: grid; width: fit-content; max-width: 100%; padding: 12px 14px; background: var(--th-soft); border: 1px solid var(--th-line); border-radius: 8px; grid-template-columns: minmax(260px, auto) auto; gap: 28px; align-items: center; }
.th-product-alternatives__item > a { display: grid; min-width: 0; color: var(--th-red); line-height: 1.35; }
.th-product-alternatives__item > a:hover { color: var(--th-red-dark); }
.th-product-alternatives__item > a strong { font-size: 14px; overflow-wrap: anywhere; }
.th-product-alternatives__item > a span { margin-top: 3px; color: var(--th-copy); font-size: 12.5px; }
.th-product-alternatives__price { display: grid; flex: none; text-align: right; }
.th-product-alternatives__price strong { color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 18px; }
.th-product-alternatives__price small { color: var(--th-copy); font-size: 11px; }
.th-product-purchase { display: flex; gap: 18px; align-items: flex-end; padding: 26px 0; flex-wrap: wrap; }
.th-product-purchase label,
.th-product-purchase__delivery { display: flex; gap: 8px; flex-direction: column; color: var(--th-copy); font-size: 12.5px; font-weight: 600; }
.th-product-purchase select { min-width: 110px; height: 50px; padding: 0 14px; color: var(--th-ink); background: #fff; border: 1px solid #757b80; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; }
.th-product-purchase select:focus { border-color: var(--th-red); outline: 2px solid rgb(242 13 13 / 18%); }
.th-product-purchase__delivery strong { display: flex; gap: 9px; align-items: center; min-height: 50px; padding: 0 16px; color: var(--th-ink); background: var(--th-soft); border: 1px solid var(--th-line); border-radius: 8px; font-size: 14.5px; }
.th-product-purchase__delivery i { display: inline-block; width: 8px; height: 8px; flex: none; background: var(--th-red); transform: skewX(-18deg); }
.th-product-purchase__button { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 34px; color: #fff; background: var(--th-red); border: 0; border-radius: 8px; font-family: Oxanium, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .07em; cursor: pointer; }
.th-product-purchase__button:hover { color: #fff; background: var(--th-red-dark); }
.th-product-purchase__button:disabled { color: #fff; background: #9aa1a5; cursor: not-allowed; }
.th-product-purchase__button.is-added { background: var(--th-success-text); }
.th-product-purchase__status { margin: -10px 0 0; color: var(--th-success-text); font-size: 13.5px; font-weight: 600; }
.th-product-purchase__status.is-error { color: var(--th-red); }
.th-product-detail__assistance { max-width: 66ch; padding-left: 14px; margin: 18px 0 0; color: var(--th-copy); border-left: 3px solid var(--th-red); font-size: 13px; line-height: 1.65; }
.th-product-detail__assistance strong { color: var(--th-ink); }
.th-product-detail__assistance a { color: var(--th-orange-text); font-weight: 600; }
.th-product-models { padding: 24px 16px 88px; }
.th-product-models__inner { max-width: 1240px; padding: 40px 40px 44px; margin: 0 auto; background: #f4f5f5; border: 1px solid var(--th-line); border-radius: 14px; }
.th-product-models__header { display: flex; gap: 24px; align-items: flex-end; justify-content: space-between; margin-bottom: 28px; flex-wrap: wrap; }
.th-product-models__slashes { display: flex; gap: 5px; margin-bottom: 14px; }
.th-product-models__slashes span { width: 28px; height: 5px; background: var(--th-red); transform: skewX(-30deg); }
.th-product-models__slashes span:nth-child(2) { width: 14px; opacity: .55; }
.th-product-models__slashes span:nth-child(3) { width: 7px; opacity: .25; }
.th-product-models h2 { margin: 0 0 8px; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: clamp(18px, 2vw, 24px); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.th-product-models__header p { max-width: 60ch; margin: 0; color: var(--th-copy); font-size: 14px; line-height: 1.6; }
.th-product-models__header input { width: 280px; max-width: 100%; height: 48px; padding: 0 16px; color: var(--th-ink); background: #fff; border: 1px solid #757b80; border-radius: 8px; font-size: 14px; }
.th-product-models__header input:focus { border-color: var(--th-red); outline: 2px solid rgb(242 13 13 / 25%); }
.th-product-models__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.th-product-model { display: flex; gap: 8px; flex-direction: column; padding: 16px 18px 14px; color: inherit; background: #fff; border: 1px solid var(--th-line); border-radius: 10px; transition: transform .15s ease, border-color .15s ease; }
a.th-product-model:hover { color: inherit; border-color: var(--th-red); transform: translateY(-3px); }
.th-product-model > strong { color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .03em; line-height: 1.35; text-transform: uppercase; }
.th-product-model > small { color: var(--th-copy); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.th-product-model > span { display: flex; gap: 8px; align-items: center; padding-top: 8px; margin-top: auto; color: var(--th-orange-text); border-top: 1px solid #f0f1f2; font-size: 12px; font-weight: 700; letter-spacing: .05em; }
.th-product-model > span.is-unavailable { color: var(--th-copy); }
.th-product-models__empty { margin: 8px 0 0; color: var(--th-copy); font-size: 13.5px; }
.th-product-models__empty a { color: var(--th-orange-text); font-weight: 600; }
.th-product-not-found { padding-top: 88px; padding-bottom: 110px; text-align: center; }
.th-product-not-found h1 { margin: 0 0 12px; font-family: Oxanium, sans-serif; text-transform: uppercase; }
.th-product-not-found p { margin: 0 0 28px; color: var(--th-copy); }
.th-product-not-found__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.th-producer-hero { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 34px; align-items: center; }
.th-producer-hero__logo { display: flex; align-items: center; justify-content: center; min-height: 150px; padding: 22px; background: #fff; border: 1px solid var(--th-line); border-radius: 12px; }
.th-producer-hero__logo img { max-width: 100%; max-height: 120px; object-fit: contain; }
.th-producer-category-filter { display: flex; max-height: 460px; overflow-y: auto; flex-direction: column; }
.th-producer-category-filter a { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding: 10px 8px; color: var(--th-copy); border-bottom: 1px solid #f0f1f2; font-size: 13px; }
.th-producer-category-filter a:hover,
.th-producer-category-filter a.is-active { color: var(--th-red-text); background: #fff4f4; }
.th-producer-category-filter a.is-active { font-weight: 700; }
.th-producer-category-filter small { color: var(--th-copy); }
.th-producers-directory { padding-bottom: 100px; }
.th-producers-search { display: block; max-width: 520px; margin-top: 26px; }
.th-producers-search input { width: 100%; height: 50px; padding: 0 16px; color: var(--th-ink); background: #fff; border: 1px solid #aeb4b7; border-radius: 8px; font-size: 14px; }
.th-producers-search input:focus { border-color: var(--th-red); outline: 2px solid rgb(242 13 13 / 16%); }
.th-producers-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; padding-top: 46px; }
.th-producer-card { display: flex; min-width: 0; overflow: hidden; flex-direction: column; color: var(--th-ink); background: #fff; border: 1px solid var(--th-line); border-radius: 12px; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.th-producer-card:hover { color: var(--th-ink); border-color: var(--th-red); box-shadow: 0 10px 24px rgb(17 24 28 / 10%); transform: translateY(-4px); }
.th-producer-card__logo { display: flex; align-items: center; justify-content: center; min-width: 0; padding: clamp(18px, 2.2vw, 30px); aspect-ratio: 1.35 / 1; overflow: hidden; background: var(--th-soft); }
.th-producer-card__logo img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.th-producer-card__logo img.is-placeholder { padding: 24px; mix-blend-mode: normal; transform: none; }
.th-producer-card__body { display: flex; gap: 5px; padding: 18px; flex-direction: column; border-top: 1px solid var(--th-line); }
.th-producer-card__body strong { font-family: Oxanium, sans-serif; font-size: 16px; font-weight: 800; text-transform: uppercase; }
.th-producer-card__body small { color: var(--th-copy); font-size: 12px; }
.th-producer-card__body em { margin-top: 8px; color: var(--th-red-text); font-family: Oxanium, sans-serif; font-size: 11px; font-style: normal; font-weight: 700; letter-spacing: .07em; }
.th-producers-empty { padding-top: 48px; color: var(--th-copy); text-align: center; }
.th-search-results { padding-top: 48px; padding-bottom: 100px; }

/* Pagine storiche migrate sullo shell V2 condiviso. */
.th-legacy-page { color: var(--th-copy); font-size: 15px; line-height: 1.65; }
.th-legacy-page > .container-fluid { width: min(100%, 1288px); min-height: 320px; padding: 0 24px 84px; margin: 0 auto; }
.th-legacy-page .th-search { padding-right: 0; padding-left: 0; margin-bottom: 26px; }
.th-legacy-page .breadcrumb { display: flex; gap: 8px; padding: 22px 0 8px; margin: 0; color: var(--th-copy); list-style: none; background: transparent; border: 0; border-radius: 0; font-size: 12.5px; flex-wrap: wrap; }
.th-legacy-page .breadcrumb > li + li::before { padding: 0 8px 0 0; color: #a0a6a9; content: "/"; }
.th-legacy-page .breadcrumb a { color: var(--th-copy); }
.th-legacy-page h1,
.th-legacy-page .h1,
.th-legacy-page h2,
.th-legacy-page h3,
.th-legacy-page h4 { color: var(--th-ink); font-family: Oxanium, sans-serif; font-weight: 800; line-height: 1.25; }
.th-legacy-page h1,
.th-legacy-page .h1 { margin: 24px 0 30px; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: clamp(25px, 3vw, 38px); font-weight: 800; letter-spacing: .02em; line-height: 1.25; text-transform: uppercase; }
.th-legacy-page h2 { margin: 36px 0 16px; font-size: clamp(20px, 2.2vw, 27px); }
.th-legacy-page h3 { margin: 28px 0 14px; font-size: 19px; }
.th-legacy-page p { margin: 0 0 17px; }
.th-legacy-page .pagina-testuale { font-size: 15px; line-height: 1.8; }
.th-legacy-page .pagina-testuale > img,
.th-legacy-page .pagina-testuale > div > img { display: block; max-width: 100%; height: auto; margin: 20px 0 32px; border-radius: 12px; }
.th-legacy-page ul:not(.breadcrumb) { padding-left: 22px; }
.th-legacy-page .reg-form .form-fields-list { padding-left: 0; list-style: none; }
.th-legacy-page .reg-form .form-fields-list li { list-style: none; }
.th-legacy-page .card,
.th-legacy-page .card-body,
.th-legacy-page .anteprima-piccola,
.th-legacy-page .radio-pagamento { padding: 24px; background: #fff; border: 1px solid var(--th-line); border-radius: 12px; box-shadow: 0 8px 22px rgb(17 24 28 / 5%); }
.th-legacy-page .radio-pagamento .company-type-list { display: grid; gap: 14px; padding: 0; margin: 0; list-style: none; }
.th-legacy-page .radio-pagamento .company-type-list > li { padding: 0; margin: 0; }
.th-legacy-page .radio-pagamento .company-type-list .container-radio { display: block; width: fit-content; min-height: 22px; padding-left: 30px; margin: 0; line-height: 22px; }
.th-legacy-page .radio-pagamento .company-type-list .checkmark-radio { top: 1px; }
.th-legacy-page .radio-pagamento .company-type-list .container-radio > span:last-child { display: inline-block; margin-left: 8px; }
.th-legacy-page .row { margin-right: -12px; margin-left: -12px; }
.th-legacy-page [class*="col-"] { padding-right: 12px; padding-left: 12px; }
.th-legacy-page .form-control { width: 100%; min-height: 48px; padding: 10px 14px; color: var(--th-ink); background: #fff; border: 1px solid #aeb4b7; border-radius: 8px; box-shadow: none; font-size: 14px; }
.th-legacy-page textarea.form-control { min-height: 120px; resize: vertical; }
.th-legacy-page .form-control:focus { border-color: var(--th-red); outline: 2px solid rgb(242 13 13 / 16%); box-shadow: none; }
.th-legacy-page label { color: var(--th-ink-soft); font-size: 13.5px; font-weight: 600; }
.th-legacy-page .btn { padding: 12px 18px; color: #fff; background: var(--th-red); border: 1px solid var(--th-red); border-radius: 8px; font-family: Oxanium, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.th-legacy-page .btn:hover,
.th-legacy-page .btn:focus { color: #fff; background: var(--th-red-dark); border-color: var(--th-red-dark); }
.th-legacy-page .btn-primary { color: var(--th-ink); background: #fff; border-color: var(--th-ink); }
.th-legacy-page .btn-primary:hover { color: #fff; background: var(--th-ink); border-color: var(--th-ink); }
.th-legacy-page .btn:disabled { background: #9da4a8; border-color: #9da4a8; opacity: .7; }
.th-legacy-page .login-form__submit { display: block; margin-top: 18px; }
.th-legacy-page .login-form__recovery { margin-top: 12px; margin-bottom: 15px; }
.th-legacy-page .alert { padding: 14px 16px; margin: 16px 0; border: 1px solid; border-radius: 8px; }
.th-legacy-page .alert-danger { color: #851919; background: #fff0f0; border-color: #e7b8b8; }
.th-legacy-page .alert-success { color: #23663c; background: #edf8f1; border-color: #b8dec6; }
.th-legacy-page .table { width: 100%; margin: 20px 0; color: var(--th-ink-soft); background: #fff; border-collapse: collapse; }
.th-legacy-page .table th { color: var(--th-ink); background: var(--th-soft); font-family: Oxanium, sans-serif; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.th-legacy-page .table th,
.th-legacy-page .table td { padding: 14px; border: 1px solid var(--th-line); vertical-align: middle; }
.th-legacy-page .anteprime-piccole-container { display: grid; gap: 16px; }
.th-legacy-page .anteprima-piccola { display: flex; gap: 18px; align-items: flex-start; }
.th-legacy-page .anteprima-piccola > img { width: 120px; height: 120px; flex: none; object-fit: contain; background: var(--th-soft); border-radius: 8px; }
.th-legacy-page .anteprima-piccola-testo { min-width: 0; flex: 1; }
.th-legacy-page .anteprima-piccola-testo > p { color: var(--th-ink); font-weight: 700; }
.th-legacy-page .badge { display: inline-block; padding: 4px 8px; border: 1px solid currentColor; border-radius: 5px; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.th-legacy-page .badge-primary { color: var(--th-red); }
.th-legacy-page .badge-info { color: var(--th-orange-text); }

/* Area personale: elenco e riepilogo ordini. */
.th-order-heading { color: var(--th-copy); font-size: 16px; line-height: 1.55; }
.th-order-heading > hr { margin: 28px 0 22px; border-top-color: var(--th-line); }
.th-legacy-page .badge-success { color: #23663c; background: #edf8f1; border-color: #b8dec6; }
.th-order-products { display: grid; gap: 14px; padding: 0 !important; margin: 10px 0 24px; list-style: none; }
.th-order-product { display: grid; min-width: 0; padding: 16px; background: #fff; border: 1px solid var(--th-line); border-radius: 10px; grid-template-columns: 132px minmax(0, 1fr); gap: 18px; }
.th-order-product__image { display: flex; width: 132px; height: 132px; align-items: center; justify-content: center; align-self: start; padding: 6px; background: var(--th-soft); border-radius: 8px; }
.th-order-product__image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.th-order-product__body { min-width: 0; }
.th-order-product__title { display: inline-block; margin-bottom: 8px; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 16px; font-weight: 700; line-height: 1.35; }
.th-order-product__title:hover { color: var(--th-red); text-decoration: none; }
.th-order-product__buy { margin-top: 10px; }
.th-order-summary { max-width: 620px; padding: 18px 20px; margin: 0 0 4px auto; background: var(--th-soft); border: 1px solid var(--th-line); border-radius: 10px; }
.th-order-summary > div { display: grid; padding: 7px 0; margin: 0; border-bottom: 1px solid #e1e4e6; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; }
.th-order-summary > div:last-child { border-bottom: 0; }
.th-order-summary dt,
.th-order-summary dd { margin: 0; }
.th-order-summary dt { color: var(--th-copy); font-weight: 500; }
.th-order-summary dd { color: var(--th-ink); font-weight: 700; text-align: right; }
.th-order-summary dt small { color: var(--th-copy); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; }
.th-order-summary__discount dd { color: #23663c; }
.th-order-summary > .th-order-summary__total { padding: 12px 0; font-size: 17px; border-bottom: 0; }
.th-order-summary__total dt,
.th-order-summary__total dd { color: var(--th-red); font-family: Oxanium, sans-serif; font-weight: 800; }
.th-order-summary > .th-order-summary__payment { padding-top: 12px; border-top: 2px solid #d7dbdd; }

/* Carrello */
.th-cart-page-list { display: grid; gap: 22px; margin-bottom: 44px; }
.th-cart-page-item { display: grid; min-width: 0; padding: 24px; background: #fff; border: 1px solid var(--th-line); border-radius: 12px; box-shadow: 0 8px 22px rgb(17 24 28 / 5%); grid-template-columns: 190px minmax(0, 1fr); gap: 26px; }
.th-cart-page-item.has-stock-warning { border-color: #e7b8b8; }
.th-cart-page-item__image { display: flex; align-items: center; justify-content: center; align-self: stretch; min-height: 190px; padding: 10px; background: var(--th-soft); border-radius: 9px; }
.th-cart-page-item__image img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: contain; }
.th-cart-page-item__body { min-width: 0; }
.th-cart-page-item__heading { display: flex; justify-content: space-between; gap: 22px; }
.th-cart-page-item__title { display: inline-block; margin-bottom: 13px; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: clamp(17px, 2vw, 22px); font-weight: 800; line-height: 1.25; }
.th-cart-page-item__title:hover { color: var(--th-red); text-decoration: none; }
.th-cart-page-item__identity { display: flex; align-items: center; gap: 12px; color: var(--th-copy); flex-wrap: wrap; }
.th-cart-page-item .badge { padding: 6px 10px; color: #fff; border: 0; border-radius: 5px; letter-spacing: .025em; }
.th-cart-page-item .badge-primary { color: #fff; background: var(--th-red); }
.th-cart-page-item .badge-info { color: #fff; background: var(--th-ink); }
.th-cart-page-item__price { min-width: 135px; text-align: right; }
.th-cart-page-item__price span,
.th-cart-page-item__price small { display: block; color: var(--th-copy); font-size: 11px; }
.th-cart-page-item__price strong { display: block; color: var(--th-red); font-family: Oxanium, sans-serif; font-size: 21px; }
.th-cart-page-item__details { display: grid; margin-top: 22px; background: var(--th-soft); border: 1px solid var(--th-line); border-radius: 9px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.th-cart-page-item__details > div,
.th-cart-page-item__details > label { min-width: 0; padding: 15px 17px; margin: 0; border-right: 1px solid var(--th-line); }
.th-cart-page-item__details > :last-child { border-right: 0; }
.th-cart-page-item__details span { display: block; margin-bottom: 4px; color: var(--th-copy); font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.th-cart-page-item__details strong { display: block; color: var(--th-ink); font-size: 16px; }
.th-cart-page-item__details strong.is-warning { color: var(--th-red); }
.th-cart-page-item__details .form-control { max-width: 150px; min-height: 42px; padding: 7px 10px; }
.th-cart-page-item__warning { padding: 10px 12px; margin: 12px 0 0 !important; color: #851919; background: #fff0f0; border-radius: 7px; font-size: 12.5px; }
.th-cart-page-item__remove { display: inline-block; margin-top: 16px; color: var(--th-red); font-size: 12px; font-weight: 800; letter-spacing: .035em; text-decoration: underline; text-transform: uppercase; }
.th-cart-page-item__remove:hover { color: var(--th-ink); }
.th-cart-page-empty { padding: 24px; margin-bottom: 40px; color: var(--th-copy); background: var(--th-soft); border: 1px solid var(--th-line); border-radius: 10px; }

/* Conferma aggiunta al carrello */
body.has-cart-added-modal { overflow: hidden; }
.th-cart-added-modal { position: fixed; z-index: 1200; display: grid; padding: 24px; background: rgb(17 24 28 / 68%); inset: 0; place-items: center; }
.th-cart-added-modal[hidden] { display: none; }
.th-cart-added-modal__dialog { position: relative; width: min(680px, 100%); padding: 36px; background: #fff; border-radius: 14px; box-shadow: 0 24px 70px rgb(0 0 0 / 28%); }
.th-cart-added-modal__dialog:focus { outline: none; }
.th-cart-added-modal__close { position: absolute; top: 13px; right: 15px; width: 38px; height: 38px; padding: 0; color: var(--th-copy); background: transparent; border: 0; border-radius: 50%; font-size: 29px; line-height: 1; cursor: pointer; }
.th-cart-added-modal__close:hover,
.th-cart-added-modal__close:focus { color: #fff; background: var(--th-ink); outline: none; }
.th-cart-added-modal__check { display: grid; width: 44px; height: 44px; margin-bottom: 14px; color: #fff; background: #23834b; border-radius: 50%; font-size: 23px; font-weight: 800; place-items: center; }
.th-cart-added-modal__eyebrow { margin: 0 0 4px !important; color: var(--th-red) !important; font-family: Oxanium, sans-serif; font-size: 12px !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.th-cart-added-modal h2 { max-width: 560px; margin: 0 45px 22px 0; color: var(--th-ink); font-size: clamp(22px, 3vw, 30px); }
.th-cart-added-modal__product { display: grid; padding: 16px; background: var(--th-soft); border: 1px solid var(--th-line); border-radius: 10px; grid-template-columns: 108px minmax(0, 1fr) auto; gap: 18px; align-items: center; }
.th-cart-added-modal__product > img { width: 108px; height: 108px; padding: 5px; background: #fff; border-radius: 8px; object-fit: contain; }
.th-cart-added-modal__product-info { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.th-cart-added-modal__product-info .th-product-detail__type { margin-bottom: 8px; }
.th-cart-added-modal__product-info > strong { color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 17px; line-height: 1.25; }
.th-cart-added-modal__product-info > small { margin-top: 6px; color: var(--th-copy); }
.th-cart-added-modal__summary { min-width: 142px; margin: 0; }
.th-cart-added-modal__summary > div { display: flex; padding: 8px 0; border-bottom: 1px solid var(--th-line); justify-content: space-between; gap: 15px; }
.th-cart-added-modal__summary > div:last-child { border-bottom: 0; }
.th-cart-added-modal__summary dt { color: var(--th-copy); font-size: 11px; font-weight: 600; }
.th-cart-added-modal__summary dd { margin: 0; color: var(--th-ink); font-weight: 800; }
.th-cart-added-modal__actions { display: grid; margin-top: 24px; grid-template-columns: 1fr 1fr; gap: 12px; }
.th-cart-added-modal__actions .th-button { width: 100%; min-height: 52px; cursor: pointer; }
.th-legacy-page .menu-sidebar { padding: 18px 20px; background: var(--th-soft); border: 1px solid var(--th-line); border-radius: 10px; list-style: none; }
.th-legacy-page .menu-sidebar li { margin: 8px 0; }
.th-legacy-page .menu-sidebar a { color: var(--th-copy); }
.th-legacy-page .menu-sidebar a:hover,
.th-legacy-page .menu-sidebar .active-lista-contenuto { color: var(--th-red); font-weight: 700; }
.th-legacy-page .pagination { display: flex; gap: 6px; padding: 0; margin: 32px 0; list-style: none; flex-wrap: wrap; }
.th-legacy-page .page-link { display: flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 10px; background: #fff; border: 1px solid var(--th-line); border-radius: 7px; }
.th-legacy-page .page-item.active .page-link { color: #fff; background: var(--th-red); border-color: var(--th-red); }
.th-legacy-page .page-item.disabled { opacity: .45; }
.th-legacy-page .primary-color { color: var(--th-ink) !important; }
.th-legacy-page .secondary-color { color: var(--th-red) !important; }
.th-legacy-page .bold { font-weight: 700; }
.th-legacy-page .small { font-size: 12.5px; }
.th-legacy-page .large { font-size: 17px; }
.th-legacy-page .text-right { text-align: right; }
.th-legacy-page hr { margin: 28px 0; border: 0; border-top: 1px solid var(--th-line); }
.th-legacy-page input[type="checkbox"],
.th-legacy-page input[type="radio"] { accent-color: var(--th-red); }
.th-legacy-page .reg-form { max-width: 980px; margin: 0 auto; }

/* Checkout e metodi di pagamento. */
.th-checkout-address { margin-bottom: 28px; }
.th-checkout-address .form-control { margin-top: 7px; }
.th-checkout-address__action { margin-top: 14px; }
.th-checkout-billing { padding: 20px 0 24px; margin-bottom: 18px !important; border-top: 1px solid var(--th-line); border-bottom: 1px solid var(--th-line); }
.th-checkout-actions { display: flex; margin-top: 15px; gap: 10px; align-items: stretch; flex-wrap: wrap; }
.th-checkout-actions .btn { margin: 0; }
.th-payment-fieldset { padding: 0; margin: 0 0 18px; border: 0; }
.th-payment-fieldset legend { width: 100%; padding: 0; margin: 0 0 12px; border: 0; }
.th-payment-options { display: grid; gap: 10px; }
.th-payment-option { position: relative; display: grid; min-height: 76px; padding: 15px 18px; margin: 0; cursor: pointer; background: #fff; border: 1px solid var(--th-line); border-radius: 10px; grid-template-columns: 22px minmax(0, 1fr) 18px; gap: 14px; align-items: center; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.th-payment-option:hover { border-color: var(--th-ink); box-shadow: 0 7px 18px rgb(17 24 28 / 8%); transform: translateY(-1px); }
.th-payment-option.is-selected { background: #fff8f8; border-color: var(--th-red); box-shadow: 0 0 0 2px rgb(242 13 13 / 10%); }
.th-payment-option > input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.th-payment-option__selector { display: block; width: 20px; height: 20px; border: 2px solid #98a0a4; border-radius: 50%; box-shadow: inset 0 0 0 4px #fff; }
.th-payment-option.is-selected .th-payment-option__selector { background: var(--th-red); border-color: var(--th-red); }
.th-payment-option__copy { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.th-payment-option__copy strong { color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 15px; font-weight: 800; line-height: 1.25; }
.th-payment-option__copy small { color: var(--th-copy); font-size: 12px; font-weight: 500; line-height: 1.4; }
.th-payment-option__arrow { color: #a2a8ab; font-size: 28px; font-weight: 400; line-height: 1; text-align: right; }
.th-payment-option.is-selected .th-payment-option__arrow { color: var(--th-red); transform: rotate(90deg); }
.th-payment-detail { padding: 20px; margin: 0 0 24px; background: var(--th-soft); border: 1px solid var(--th-line); border-radius: 10px; }
.th-payment-detail--card { margin: 0; }
.th-payment-detail[hidden] { display: none !important; }
.th-payment-detail__heading { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 15px; align-items: flex-start; }
.th-payment-detail__heading > div { display: flex; flex-direction: column; gap: 3px; }
.th-payment-detail__heading strong { color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 15px; font-weight: 800; }
.th-payment-detail__heading small { color: var(--th-copy); font-size: 12px; }
.th-payment-secure { padding: 5px 8px; color: #23663c; background: #edf8f1; border: 1px solid #b8dec6; border-radius: 6px; font-size: 10px; font-weight: 700; white-space: nowrap; text-transform: uppercase; }
.th-nexi-message { padding: 11px 13px; margin-bottom: 14px; color: #35546b; background: #edf6fb; border: 1px solid #bdd7e5; border-radius: 7px; font-size: 12.5px; }
.th-nexi-message.is-error { color: #851919; background: #fff0f0; border-color: #e7b8b8; }
.th-nexi-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 15px; }
.th-nexi-fields--split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.th-nexi-fields[hidden] { display: none !important; }
.th-nexi-field { min-width: 0; padding: 9px; background: #fff; border: 1px solid var(--th-line); border-radius: 8px; }
.th-nexi-field--cardholder-name,
.th-nexi-field--cardholder-surname,
.th-nexi-field--cardholder-email,
.th-nexi-field--privacy-conditions,
.th-nexi-field--card,
.th-nexi-field--action { grid-column: 1 / -1; }
.th-nexi-field--card { min-height: 0; padding: 0; overflow: hidden; }
.th-nexi-field--card iframe { min-height: 52px; }
.th-nexi-field.is-valid { border-color: #72b78a; }
.th-nexi-field.is-invalid { border-color: var(--th-red); }
.th-nexi-field__label { display: block; padding: 0 3px 6px; color: var(--th-ink-soft); font-size: 11px; font-weight: 700; }
.th-nexi-field iframe { display: block; width: 100%; height: 52px; border: 0; }
.th-nexi-fields--split .th-nexi-field { padding: 10px 12px 7px; }
.th-nexi-fields--split .th-nexi-field--card-number { grid-column: 1 / -1; }
.th-nexi-fields--split .th-nexi-field__label { padding: 0 0 5px; }
.th-nexi-fields--split .th-nexi-snippet { min-width: 0; overflow: hidden; }
.th-nexi-fields--split .th-nexi-snippet iframe { min-height: 40px; }
.th-nexi-field--action iframe { height: 60px; }
.th-nexi-demo-badge { grid-column: 1 / -1; padding: 9px 12px; color: #754b00; background: #fff4d7; border: 1px solid #edc768; border-radius: 7px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .025em; }
.th-nexi-demo-field--full { grid-column: 1 / -1; }
.th-nexi-demo-field input { width: 100%; height: 46px; margin: 0; border-radius: 6px; }
.th-nexi-privacy { display: flex; gap: 9px; margin: 4px 0 13px; align-items: flex-start; }
.th-nexi-privacy input { width: 17px; height: 17px; margin-top: 2px; flex: none; }
.th-nexi-privacy a { color: var(--th-red); text-decoration: underline; }
.th-bank-details { display: grid; gap: 0; margin: 0; background: #fff; border: 1px solid var(--th-line); border-radius: 8px; }
.th-bank-details > div { display: grid; padding: 10px 13px; border-bottom: 1px solid var(--th-line); grid-template-columns: 118px minmax(0, 1fr); gap: 12px; }
.th-bank-details > div:last-child { border-bottom: 0; }
.th-bank-details dt { color: var(--th-copy); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.th-bank-details dd { min-width: 0; margin: 0; color: var(--th-ink); font-weight: 700; overflow-wrap: anywhere; }

/* Pagine informative e di servizio. */
.th-service-page { background: #fff; }
.th-service-hero { padding: 42px 0 46px; background: var(--th-soft); border-bottom: 1px solid var(--th-line); }
.th-service-breadcrumb { display: flex; gap: 8px; align-items: center; margin-bottom: 23px; color: var(--th-copy); font-size: 12.5px; flex-wrap: wrap; }
.th-service-breadcrumb a { color: var(--th-copy); }
.th-service-breadcrumb a:hover { color: var(--th-red); }
.th-service-breadcrumb strong { color: var(--th-ink); font-weight: 600; }
.th-service-eyebrow { display: inline-block; margin-bottom: 9px; color: var(--th-red); font-family: Oxanium, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.th-service-hero h1 { max-width: 1000px; margin: 0; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: clamp(29px, 4vw, 46px); font-weight: 800; letter-spacing: .025em; line-height: 1.12; text-transform: uppercase; text-wrap: pretty; }
.th-service-hero p { max-width: 820px; margin: 17px 0 0; color: var(--th-copy); font-size: 16px; line-height: 1.7; }
.th-service-layout { display: grid; padding-top: 54px; padding-bottom: 88px; grid-template-columns: 270px minmax(0, 1fr); gap: 58px; align-items: start; }
.th-service-sidebar { position: sticky; top: 112px; display: grid; gap: 18px; }
.th-service-sidebar__card { overflow: hidden; background: #fff; border: 1px solid var(--th-line); border-radius: 10px; }
.th-service-sidebar__card > span { display: block; padding: 16px 18px; color: #fff; background: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.th-service-sidebar__card nav { display: flex; flex-direction: column; }
.th-service-sidebar__card a { display: flex; justify-content: space-between; gap: 12px; padding: 12px 17px; color: var(--th-ink-soft); border-bottom: 1px solid var(--th-line); font-size: 12.5px; font-weight: 600; line-height: 1.35; }
.th-service-sidebar__card a:last-child { border-bottom: 0; }
.th-service-sidebar__card a span { color: #a5abad; }
.th-service-sidebar__card a:hover,
.th-service-sidebar__card a.is-active { color: #fff; background: var(--th-red); }
.th-service-sidebar__card a:hover span,
.th-service-sidebar__card a.is-active span { color: #fff; }
.th-service-sidebar__help { padding: 20px; color: #fff; background: var(--th-ink); border-radius: 10px; }
.th-service-sidebar__help strong { font-family: Oxanium, sans-serif; font-size: 14px; font-weight: 800; }
.th-service-sidebar__help p { margin: 8px 0 14px; color: #c7cccf; font-size: 12.5px; line-height: 1.55; }
.th-service-sidebar__help a { display: inline-block; color: var(--th-orange); font-size: 12.5px; font-weight: 800; }
.th-service-content { min-width: 0; color: var(--th-copy); font-size: 15px; line-height: 1.75; }
.th-service-content > :first-child { margin-top: 0; }
.th-service-content h2 { margin: 46px 0 14px; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: clamp(21px, 2.6vw, 29px); font-weight: 800; letter-spacing: .025em; line-height: 1.25; text-transform: uppercase; text-wrap: pretty; }
.th-service-content h3 { margin: 30px 0 11px; color: var(--th-ink-soft); font-family: Oxanium, sans-serif; font-size: 17px; font-weight: 800; line-height: 1.35; }
.th-service-content p { margin: 0 0 17px; color: var(--th-copy); }
.th-service-content strong { color: var(--th-ink); }
.th-service-content a { color: var(--th-red); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.th-service-content ul,
.th-service-content ol { display: grid; gap: 9px; padding: 0; margin: 18px 0 24px; list-style: none; }
.th-service-content li { position: relative; padding-left: 27px; color: var(--th-copy); }
.th-service-content ul > li::before { position: absolute; top: .7em; left: 4px; width: 7px; height: 7px; background: var(--th-red); border-radius: 2px; content: ""; transform: rotate(45deg); }
.th-service-content ol { counter-reset: th-service-counter; }
.th-service-content ol > li { min-height: 29px; padding-left: 42px; counter-increment: th-service-counter; }
.th-service-content ol > li::before { position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 29px; height: 29px; color: #fff; background: var(--th-red); border-radius: 7px; content: counter(th-service-counter); font-family: Oxanium, sans-serif; font-size: 12px; font-weight: 800; }
.th-service-lead { padding: 24px 26px; margin-bottom: 32px; color: var(--th-ink-soft); background: var(--th-soft); border-left: 4px solid var(--th-red); border-radius: 0 10px 10px 0; font-size: 16px; line-height: 1.7; }
.th-service-lead p:last-child { margin-bottom: 0; }
.th-service-grid { display: grid; margin: 26px 0 34px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.th-service-card { padding: 24px; background: #fff; border: 1px solid var(--th-line); border-radius: 10px; box-shadow: 0 10px 24px rgb(17 24 28 / 5%); }
.th-service-card__icon { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 17px; color: #fff; background: var(--th-red); border-radius: 9px; font-family: Oxanium, sans-serif; font-size: 19px; font-weight: 800; }
.th-service-card h2,
.th-service-card h3 { margin-top: 0; }
.th-service-card h3 { margin-bottom: 8px; font-size: 16px; }
.th-service-card p:last-child,
.th-service-card ul:last-child { margin-bottom: 0; }
.th-service-highlight { padding: 26px; margin: 30px 0; color: #fff; background: var(--th-ink); background-image: repeating-linear-gradient(115deg, rgb(255 255 255 / 3%) 0, rgb(255 255 255 / 3%) 2px, transparent 2px, transparent 26px); border-radius: 10px; }
.th-service-highlight h2,
.th-service-highlight h3,
.th-service-highlight strong { color: #fff; }
.th-service-highlight h2,
.th-service-highlight h3 { margin-top: 0; }
.th-service-highlight p { color: #d6dadc; }
.th-service-highlight p:last-child { margin-bottom: 0; }
.th-service-highlight a { color: var(--th-orange); }
.th-service-contact-grid { display: grid; margin: 28px 0 34px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.th-service-contact { display: flex; min-height: 170px; padding: 22px; flex-direction: column; background: var(--th-soft); border: 1px solid var(--th-line); border-radius: 10px; }
.th-service-contact span { margin-bottom: 17px; color: var(--th-red); font-family: Oxanium, sans-serif; font-size: 25px; font-weight: 800; }
.th-service-contact strong { margin-bottom: 7px; font-family: Oxanium, sans-serif; font-size: 14px; text-transform: uppercase; }
.th-service-contact p { margin: 0; font-size: 13.5px; line-height: 1.6; }
.th-service-contact a { margin-top: auto; padding-top: 13px; overflow-wrap: anywhere; }
.th-service-company { padding: 25px; margin: 30px 0; background: #fff8f8; border: 1px solid #ffd0d0; border-radius: 10px; }
.th-service-company p:last-child { margin-bottom: 0; }
.th-service-note { padding: 17px 20px; margin: 24px 0; color: #5d4307; background: #fff8e7; border: 1px solid #edd39a; border-radius: 9px; }
.th-service-note p:last-child { margin-bottom: 0; }
.th-service-steps { display: grid; margin: 28px 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.th-service-step { padding: 22px; background: var(--th-soft); border-top: 3px solid var(--th-red); border-radius: 0 0 9px 9px; }
.th-service-step > span { display: block; margin-bottom: 12px; color: var(--th-red); font-family: Oxanium, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .09em; }
.th-service-step strong { display: block; margin-bottom: 8px; }
.th-service-step p { margin: 0; font-size: 13px; line-height: 1.6; }
.th-service-legal section { padding-top: 30px; margin-top: 30px; border-top: 1px solid var(--th-line); }
.th-service-legal section:first-child { padding-top: 0; margin-top: 0; border-top: 0; }
.th-service-legal section h2 { margin-top: 0; }
.th-service-cta { padding: 0 0 88px; }
.th-service-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 34px 38px; color: #fff; background: var(--th-ink); border-radius: 12px; }
.th-service-cta__inner > div > span { color: var(--th-orange); font-family: Oxanium, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.th-service-cta__inner h2 { margin: 7px 0 5px; color: #fff; font-family: Oxanium, sans-serif; font-size: 22px; font-weight: 800; text-transform: uppercase; }
.th-service-cta__inner p { margin: 0; color: #cfd4d6; font-size: 13.5px; }
.th-service-cta__inner .th-button { flex: none; }

@media (max-width: 700px) {
  .th-legacy-page > .container-fluid { padding-right: 18px; padding-bottom: 60px; padding-left: 18px; }
  .th-legacy-page .row { margin-right: -8px; margin-left: -8px; }
  .th-legacy-page [class*="col-"] { padding-right: 8px; padding-left: 8px; }
  .th-legacy-page .anteprima-piccola { flex-direction: column; }
  .th-legacy-page .anteprima-piccola > img { width: 100%; height: auto; aspect-ratio: 1 / 1; }
  .th-order-product { grid-template-columns: 92px minmax(0, 1fr); gap: 12px; padding: 12px; }
  .th-order-product__image { width: 92px; height: 92px; padding: 4px; }
  .th-order-product__title { font-size: 14px; }
  .th-order-product__buy { width: 100%; text-align: center; }
  .th-order-summary { padding: 14px; }
  .th-order-summary > div { gap: 12px; }
  .th-legacy-page .table { display: block; overflow-x: auto; }
  .th-payment-option { min-height: 70px; padding: 13px 14px; grid-template-columns: 20px minmax(0, 1fr) 14px; gap: 10px; }
  .th-payment-detail { padding: 16px; }
  .th-payment-detail__heading { flex-direction: column; gap: 8px; }
  .th-checkout-actions { flex-direction: column; }
  .th-checkout-actions .btn { width: 100%; }
  .th-nexi-fields { grid-template-columns: 1fr; }
  .th-nexi-field { grid-column: 1 !important; }
  .th-nexi-fields--split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .th-nexi-fields--split .th-nexi-field--card-number { grid-column: 1 / -1 !important; }
  .th-nexi-fields--split .th-nexi-field--card-expiry { grid-column: 1 !important; }
  .th-nexi-fields--split .th-nexi-field--card-cvv { grid-column: 2 !important; }
  .th-bank-details > div { grid-template-columns: 1fr; gap: 2px; }
  .th-cart-page-item { padding: 16px; grid-template-columns: 1fr; gap: 16px; }
  .th-cart-page-item__image { min-height: 0; }
  .th-cart-page-item__heading { flex-direction: column; }
  .th-cart-page-item__price { text-align: left; }
  .th-cart-page-item__details { grid-template-columns: 1fr; }
  .th-cart-page-item__details > div,
  .th-cart-page-item__details > label { border-right: 0; border-bottom: 1px solid var(--th-line); }
  .th-cart-page-item__details > :last-child { border-bottom: 0; }
  .th-cart-added-modal { padding: 14px; }
  .th-cart-added-modal__dialog { max-height: calc(100vh - 28px); padding: 25px 18px 18px; overflow-y: auto; }
  .th-cart-added-modal__product { grid-template-columns: 82px minmax(0, 1fr); }
  .th-cart-added-modal__product > img { width: 82px; height: 82px; }
  .th-cart-added-modal__summary { grid-column: 1 / -1; }
  .th-cart-added-modal__actions { grid-template-columns: 1fr; }
}

.th-footer { color: #fff; background: var(--th-ink); }
.th-footer__main { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 40px; padding-top: 72px; padding-bottom: 56px; }
.th-footer__logo { display: inline-block; padding: 6px 12px; margin-bottom: 18px; background: #fff; border-radius: 8px; }
.th-footer__logo img { display: block; width: auto; height: 54px; }
.th-footer p { color: #fff; }
.th-footer__about { margin: 0 0 16px; font-size: 13.5px; line-height: 1.65; }
.th-footer__contacts { margin: 0 0 16px; font-size: 12.5px; line-height: 1.9; }
.th-footer__contacts a { color: #e4e7e8; }
.th-footer__tip { max-width: 40ch; padding-left: 12px; margin: 0; border-left: 3px solid var(--th-red); font-size: 12.5px; line-height: 1.6; }
.th-footer h3 { margin: 0 0 16px; color: #fff; font-family: Oxanium, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .1em; }
.th-footer__links { display: flex; flex-direction: column; gap: 10px; }
.th-footer__links a { color: #fff; font-size: 13.5px; }
.th-footer__payments { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; border-top: 1px solid var(--th-ink-soft); flex-wrap: wrap; }
.th-footer__payment-list { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.th-footer__payment-list > span { color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.th-footer__payment-list img { display: block; width: auto; height: 26px; max-width: 58px; }
.th-footer__delivery { display: flex; align-items: center; gap: 10px; color: #fff; font-size: 12px; }
.th-footer__delivery span { display: flex; align-items: center; padding: 4px 8px; background: #fff; border-radius: 6px; }
.th-footer__delivery img { display: block; width: auto; height: 18px; }
.th-footer__legal { padding: 18px 0 26px; color: #fff; text-align: center; border-top: 1px solid var(--th-ink-soft); font-size: 12px; }
.th-cookie-preferences-link { padding: 0; color: #fff; background: transparent; border: 0; text-decoration: underline; cursor: pointer; }
.th-cookie-preferences-link:hover,
.th-cookie-preferences-link:focus { color: var(--th-orange); outline: none; }

/* Preferenze cookie: GTM non viene caricato prima dell'accettazione. */
.th-cookie-consent { position: fixed; right: 0; bottom: 0; left: 0; z-index: 2000; padding: 18px 24px; color: var(--th-ink); background: #fff; border-top: 4px solid var(--th-red); box-shadow: 0 -16px 48px rgb(17 24 28 / 20%); }
.th-cookie-consent__inner { position: relative; display: grid; width: min(100%, 1240px); margin: 0 auto; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: center; }
.th-cookie-consent__copy { max-width: 850px; }
.th-cookie-consent__eyebrow { margin: 0 0 3px; color: var(--th-red); font-family: Oxanium, sans-serif; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.th-cookie-consent h2 { margin: 0 40px 7px 0; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: clamp(18px, 2vw, 23px); font-weight: 800; line-height: 1.25; }
.th-cookie-consent h2:focus { outline: none; }
.th-cookie-consent__copy > p:not(.th-cookie-consent__eyebrow) { margin: 0; color: var(--th-copy); font-size: 12.5px; line-height: 1.55; }
.th-cookie-consent__status { margin-top: 6px !important; font-size: 11.5px !important; }
.th-cookie-consent__status strong { color: var(--th-ink); }
.th-cookie-consent__status a { color: var(--th-red); font-weight: 700; text-decoration: underline; }
.th-cookie-consent__actions { display: grid; min-width: 500px; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.th-cookie-consent__button { min-height: 48px; padding: 11px 16px; color: #fff; border: 0; border-radius: 8px; font-family: Oxanium, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; cursor: pointer; }
.th-cookie-consent__button--necessary { background: var(--th-ink-soft); }
.th-cookie-consent__button--customize { color: var(--th-ink); background: #fff; border: 1px solid #c8ced1; }
.th-cookie-consent__button--analytics { background: var(--th-red); }
.th-cookie-consent__button--necessary:hover,
.th-cookie-consent__button--necessary:focus { background: #3a4449; outline: 3px solid rgb(36 43 47 / 18%); }
.th-cookie-consent__button--analytics:hover,
.th-cookie-consent__button--analytics:focus { background: var(--th-red-dark); outline: 3px solid rgb(242 13 13 / 18%); }
.th-cookie-consent__button--customize:hover,
.th-cookie-consent__button--customize:focus { background: #f3f5f6; outline: 3px solid rgb(36 43 47 / 12%); }
.th-cookie-consent__button[aria-pressed="true"] { box-shadow: inset 0 0 0 3px #fff, 0 0 0 2px currentcolor; }
.th-cookie-consent__details { display: grid; margin-top: 14px; padding: 12px; gap: 10px; background: #f6f7f7; border: 1px solid #dfe3e5; border-radius: 8px; }
.th-cookie-consent__details[hidden] { display: none; }
.th-cookie-consent__category { display: flex; gap: 18px; align-items: center; justify-content: space-between; }
.th-cookie-consent__category strong { display: block; color: var(--th-ink); font-size: 12.5px; }
.th-cookie-consent__category span { display: block; margin-top: 2px; color: var(--th-copy); font-size: 11.5px; line-height: 1.4; }
.th-cookie-consent__switch { display: flex; min-width: 112px; gap: 7px; align-items: center; color: var(--th-ink); font-family: Oxanium, sans-serif; font-size: 10.5px; font-weight: 800; text-transform: uppercase; cursor: pointer; }
.th-cookie-consent__switch input { width: 18px; height: 18px; margin: 0; accent-color: var(--th-red); }
.th-cookie-consent__switch--locked { cursor: default; opacity: .72; }
.th-cookie-consent__button--save { width: fit-content; min-height: 40px; padding: 9px 14px; color: #fff; background: var(--th-ink-soft); }
.th-cookie-consent__button--save:hover,
.th-cookie-consent__button--save:focus { background: #3a4449; outline: 3px solid rgb(36 43 47 / 18%); }
.th-cookie-consent__close { position: absolute; top: -4px; right: 0; z-index: 1; width: 34px; height: 34px; padding: 0; color: var(--th-copy); background: transparent; border: 0; border-radius: 50%; font-size: 28px; line-height: 1; cursor: pointer; }
.th-cookie-consent__close:hover,
.th-cookie-consent__close:focus { color: #fff; background: var(--th-ink-soft); outline: none; }


@keyframes th-menu-in { from { opacity: 0; transform: translateX(-28px); } to { opacity: 1; transform: translateX(0); } }
@keyframes th-sub-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1180px) {
  .th-nav__link { padding-right: 6px; padding-left: 6px; font-size: 12px; }
  .th-header__inner { gap: 12px; }
  .th-header__actions { gap: 7px; }
}

@media (min-width: 1168px) {
  .th-category-grid { grid-template-columns: repeat(7, 1fr); }
}

@media (max-width: 1080px) {
  .th-nav { display: none; }
  .th-burger { display: flex; }
  .th-header__actions { margin-left: auto; }
}

@media (max-width: 960px) {
  .th-utility__shipping { display: none; }
  .th-hero__inner { grid-template-columns: 1fr; }
  .th-hero__art { display: none; }
  .th-category-grid { grid-template-columns: repeat(3, 1fr); }
  .th-benefits { grid-template-columns: repeat(2, 1fr); gap: 40px 0; }
  .th-benefit:nth-child(odd) { border-left: 0; }
  .th-dual { grid-template-columns: 1fr; }
  .th-institutional__grid { grid-template-columns: 1fr; }
  .th-footer__main { grid-template-columns: 1fr 1fr; }
  .th-cta__inner { align-items: flex-start; flex-direction: column; }
  .th-catalog-layout { grid-template-columns: 1fr; }
  .th-catalog-sidebar { display: grid; grid-template-columns: 1fr 1fr; }
  .th-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .th-product-detail { grid-template-columns: 1fr; }
  .th-product-detail__photo { width: min(100%, 420px); }
  .th-producers-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .th-service-layout { grid-template-columns: 1fr; gap: 30px; }
  .th-service-sidebar { position: static; }
  .th-service-sidebar__card nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .th-service-sidebar__card a:nth-last-child(2) { border-bottom: 0; }
  .th-service-sidebar__help { display: none; }
  .th-cookie-consent__inner { grid-template-columns: 1fr; gap: 14px; }
  .th-cookie-consent__copy { padding-right: 28px; }
  .th-cookie-consent__actions { min-width: 0; }
}

@media (max-width: 700px) {
  .th-shell { padding-right: 18px; padding-left: 18px; }
  .th-utility__inner { justify-content: center; padding-top: 7px; padding-bottom: 7px; text-align: center; }
  .th-utility__support { display: none; }
  .th-header__inner { height: 66px; }
  .th-logo img { height: 54px; }
  .th-cookie-consent { max-height: 90vh; padding: 16px 18px calc(16px + env(safe-area-inset-bottom)); overflow-y: auto; }
  .th-cookie-consent__copy { padding-right: 14px; }
  .th-cookie-consent__actions { grid-template-columns: 1fr; }
  .th-cookie-consent__category { align-items: flex-start; }
  .th-login { width: auto; min-width: 44px; height: 44px; padding: 0 7px; justify-content: center; gap: 5px; font-family: Oxanium, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .025em; text-transform: uppercase; }
  .th-account__toggle { width: 44px; height: 44px; padding: 0; justify-content: center; font-size: 0; }
  .th-signup { display: none; }
  .th-search { padding: 8px 12px 0; }
  .th-search__console { padding: 12px; border-radius: 10px; }
  .th-search__tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; margin-bottom: 10px; }
  .th-search__tab { min-width: 0; padding: 9px 5px; justify-content: center; gap: 5px; font-size: 11px; letter-spacing: .035em; white-space: nowrap; }
  .th-search__tab::before { width: 7px; height: 7px; flex: 0 0 7px; }
  .th-search__body { gap: 8px; }
  .th-search__form { gap: 8px; flex-direction: column; }
  .th-search__form > * { width: 100%; }
  .th-search__producer,
  .th-search__input { height: 44px; }
  .th-search__producer { min-width: 0; padding-right: 10px; padding-left: 10px; font-size: 13px; }
  .th-search__input { padding-right: 54px; padding-left: 12px; font-size: 14px; }
  .th-search__submit { top: 4px; right: 4px; width: 36px; height: 36px; }
  .th-search__submit svg { width: 19px; height: 19px; }
  .th-suggestions { top: 50px; }
  .th-search__help { display: flex; width: 100%; padding-top: 0; align-items: baseline; justify-content: center; gap: 6px; white-space: nowrap; }
  .th-search__help strong,
  .th-search__help span { display: inline; font-size: 12px; }
  .th-hero { background-position: 68% center; }
  .th-hero__inner { padding-top: 72px; padding-bottom: 76px; }
  .th-hero__actions a { width: 100%; text-align: center; }
  .th-categories { padding-bottom: 76px; }
  .th-category-grid { gap: 14px; }
  .th-category-grid { grid-template-columns: repeat(2, 1fr); }
  .th-category-card__label { padding: 12px; }
  .th-experience { padding-top: 72px; padding-bottom: 76px; }
  .th-benefits { grid-template-columns: 1fr; padding: 36px 20px; }
  .th-benefit { padding: 0 12px; border-left: 0; }
  .th-dual { padding-bottom: 76px; }
  .th-path__content { max-width: 78%; padding: 34px 28px; }
  .th-institutional { padding-top: 72px; padding-bottom: 76px; }
  .th-cta { padding: 0 18px 72px; }
  .th-cta__inner { padding: 32px 26px; }
  .th-cta__actions { width: 100%; }
  .th-catalog-hero__inner { padding-top: 24px; padding-bottom: 28px; }
  .th-catalog-layout { gap: 32px; padding-top: 32px; padding-bottom: 72px; }
  .th-catalog-sidebar { grid-template-columns: 1fr; gap: 20px; }
  .th-product-grid { grid-template-columns: 1fr; gap: 18px; }
  .th-product-card__footer { align-items: flex-end; }
  .th-catalog-toolbar label,
  .th-catalog-toolbar select { width: 100%; margin-left: 0; }
  .th-catalog-pagination { gap: 6px; margin-top: 42px; }
  .th-catalog-pagination > a,
  .th-catalog-pagination > span:not(.th-catalog-pagination__gap) { min-width: 38px; height: 38px; }
  .th-catalog-pagination__gap { width: 20px; }
  .th-catalog-seo { padding-top: 44px; margin-top: 56px; }
  .th-product-heading { padding-top: 24px; }
  .th-product-heading h1 { margin-bottom: 24px; }
  .th-product-detail { gap: 28px; padding-bottom: 48px; }
  .th-product-detail__photo { width: 100%; }
  .th-product-image-modal { --th-product-modal-gutter: 24px; padding: 12px; }
  .th-product-image-modal__close { top: 10px; right: 10px; }
  .th-product-detail__net-price > strong { font-size: 29px; }
  .th-product-alternatives__item { display: flex; width: 100%; align-items: flex-start; flex-direction: column; gap: 8px; }
  .th-product-alternatives__price { text-align: left; }
  .th-product-purchase { align-items: stretch; flex-direction: column; }
  .th-product-purchase label,
  .th-product-purchase__delivery,
  .th-product-purchase__button { width: 100%; }
  .th-product-purchase select { width: 100%; }
  .th-product-models { padding: 10px 12px 64px; }
  .th-product-models__inner { padding: 30px 20px 32px; }
  .th-product-models__header input { width: 100%; }
  .th-product-models__grid { grid-template-columns: 1fr; }
  .th-producer-hero { grid-template-columns: 1fr; }
  .th-producer-hero__logo { width: min(100%, 280px); }
  .th-producers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .th-producer-card__body { padding: 14px; }
  .th-producer-card__body strong { font-size: 13px; }
  .th-service-hero { padding: 28px 0 32px; }
  .th-service-layout { padding-top: 34px; padding-bottom: 64px; }
  .th-service-sidebar__card nav { grid-template-columns: 1fr; }
  .th-service-sidebar__card a:nth-last-child(2) { border-bottom: 1px solid var(--th-line); }
  .th-service-grid,
  .th-service-contact-grid,
  .th-service-steps { grid-template-columns: 1fr; }
  .th-service-card,
  .th-service-highlight,
  .th-service-company { padding: 20px; }
  .th-service-content h2 { margin-top: 36px; }
  .th-service-cta { padding-bottom: 64px; }
  .th-service-cta__inner { align-items: flex-start; padding: 28px 24px; flex-direction: column; }
  .th-service-cta__inner .th-button { width: 100%; text-align: center; }
  .th-footer__main { grid-template-columns: 1fr; padding-top: 56px; }
  .th-footer__payments { align-items: flex-start; flex-direction: column; }
}

@media (hover: none) {
  .th-product-detail__zoom-icon { top: auto; bottom: 12px; left: auto; right: 12px; width: 46px; height: 46px; opacity: 1; transform: none; }
}

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