/* =========================================================
   THERMO-SAFE — FINAL POLISH v1.7.0
   CLEAN BUILD
   - nie nadpisuje kart produktów ani kategorii globalnie
   - homepage: hero, zastosowania, popularne, kalkulator, 2x2 why
   - mobile: chowa wyszukiwarkę w headerze
   ========================================================= */

:root {
  --tsfp-ink: #18291d;
  --tsfp-text: #59665d;
  --tsfp-green: #2f7139;
  --tsfp-green-dark: #285f31;
  --tsfp-cream: #f6f1e7;
  --tsfp-soft: #edf5ea;
  --tsfp-line: #dbe6d8;
  --tsfp-white: #fff;
}

/* ---------- MOBILE HEADER ---------- */
@media (max-width: 767px) {
  #header #search_widget,
  #header .search-widget,
  #header [data-search-controller-url] {
    display: none !important;
  }
  #header .header-top,
  #header .header-nav {
    margin-bottom: 0 !important;
  }
}

/* =========================================================
   HOMEPAGE
   ========================================================= */

/* ---------- HERO ---------- */
body#index .tsh__hero {
  overflow: hidden !important;
  border-radius: 24px !important;
  isolation: isolate !important;
}
body#index .tsh__copy,
body#index .tsh__hero-media {
  overflow: hidden !important;
}

@media (min-width: 768px) {
  body#index .tsh__copy {
    border-radius: 24px 0 0 24px !important;
  }
  body#index .tsh__hero-media {
    position: relative !important;
    border-radius: 0 24px 24px 0 !important;
  }
  body#index .tsh__hero-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, rgba(0,0,0,.25) 5%, #000 18%, #000 100%) !important;
    mask-image: linear-gradient(90deg, transparent 0, rgba(0,0,0,.25) 5%, #000 18%, #000 100%) !important;
  }
}

@media (max-width: 767px) {
  body#index .tsh__hero {
    border-radius: 18px !important;
    min-height: 0 !important;
  }
  body#index .tsh__copy {
    order: 1 !important;
    padding: 18px 16px 16px !important;
    border-radius: 18px 18px 0 0 !important;
  }
  body#index .tsh__eyebrow {
    margin-bottom: 8px !important;
    font-size: 10.5px !important;
  }
  body#index .tsh__title {
    margin-bottom: 10px !important;
    font-size: clamp(26px, 7.6vw, 32px) !important;
    line-height: 1.05 !important;
  }
  body#index .tsh__lead {
    margin-bottom: 14px !important;
    font-size: 14.5px !important;
    line-height: 1.42 !important;
  }
  body#index .tsh__actions {
    gap: 8px !important;
    margin-bottom: 14px !important;
  }
  body#index .tsh__btn {
    min-height: 44px !important;
    padding: 11px 14px !important;
    font-size: 14px !important;
  }
  body#index .tsh__benefits {
    gap: 5px !important;
  }
  body#index .tsh__benefits > div {
    font-size: 12.5px !important;
    line-height: 1.25 !important;
  }
  body#index .tsh__hero-media {
    order: 2 !important;
    position: relative !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 8.6 !important;
    border-radius: 0 0 18px 18px !important;
    background: var(--tsfp-cream) !important;
  }
  body#index .tsh__hero-media img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center 50% !important;
    -webkit-mask-image: linear-gradient(180deg, transparent 0, rgba(0,0,0,.30) 5%, #000 18%, #000 100%) !important;
    mask-image: linear-gradient(180deg, transparent 0, rgba(0,0,0,.30) 5%, #000 18%, #000 100%) !important;
  }
}

/* ---------- CZEGO POTRZEBUJESZ ---------- */
body#index .tsfp-needs-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
}
body#index .tsfp-needs-card {
  min-width: 0 !important;
}
body#index .tsfp-needs-all {
  display: flex !important;
  min-height: 100% !important;
  padding: 18px !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 8px !important;
  border: 1px solid #cfe0ca !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #eef6eb 0%, #e5f0e1 100%) !important;
  color: var(--tsfp-green-dark) !important;
  text-decoration: none !important;
}
body#index .tsfp-needs-all-kicker {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  opacity: .78 !important;
}
body#index .tsfp-needs-all strong {
  font-size: 18px !important;
  line-height: 1.15 !important;
}
body#index .tsfp-needs-all-arrow {
  font-size: 24px !important;
  line-height: 1 !important;
}

@media (max-width: 1199px) {
  body#index .tsfp-needs-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body#index .tsfp-needs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  body#index .tsfp-needs-all {
    min-height: 142px !important;
    padding: 15px !important;
    justify-content: center !important;
  }
  body#index .tsfp-needs-all strong {
    font-size: 16px !important;
  }
}

/* ---------- POPULARNE PRODUKTY ---------- */
body#index .tsfp-featured-products {
  overflow: hidden !important;
}

@media (min-width: 768px) {
  body#index .tsfp-product-card {
    padding: 8px 9px !important;
  }
  body#index .tsfp-product-media,
  body#index .tsfp-product-card img {
    max-height: 170px !important;
  }
  body#index .tsfp-product-card img {
    width: 100% !important;
    height: 170px !important;
    object-fit: contain !important;
    object-position: center !important;
  }
  body#index .tsfp-product-card h3,
  body#index .tsfp-product-card [class*="title"] {
    margin: 5px 0 6px !important;
    font-size: 15px !important;
    line-height: 1.13 !important;
  }
  body#index .tsfp-product-card p,
  body#index .tsfp-product-card li {
    margin-bottom: 3px !important;
    font-size: 13px !important;
    line-height: 1.22 !important;
  }
  body#index .tsfp-product-card [class*="price"] {
    margin: 6px 0 !important;
  }
  body#index .tsfp-product-card .btn,
  body#index .tsfp-product-card button {
    min-height: 38px !important;
    padding: 6px 8px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 767px) {
  body#index .tsfp-featured-products h2 {
    font-size: 28px !important;
    line-height: 1.05 !important;
    letter-spacing: -.025em !important;
  }
  body#index .tsfp-featured-products > p,
  body#index .tsfp-featured-products header p {
    font-size: 14px !important;
    line-height: 1.32 !important;
  }
  body#index .tsfp-product-card {
    box-sizing: border-box !important;
    flex: 0 0 min(62vw, 258px) !important;
    width: min(62vw, 258px) !important;
    min-width: min(62vw, 258px) !important;
    max-width: 258px !important;
    padding: 8px !important;
  }
  body#index .tsfp-product-media {
    height: 178px !important;
    min-height: 178px !important;
    overflow: hidden !important;
  }
  body#index .tsfp-product-card img {
    display: block !important;
    width: 100% !important;
    height: 178px !important;
    max-height: 178px !important;
    object-fit: contain !important;
    object-position: center !important;
  }
  body#index .tsfp-product-card h3,
  body#index .tsfp-product-card [class*="title"] {
    margin: 5px 0 !important;
    font-size: 14px !important;
    line-height: 1.12 !important;
  }
  body#index .tsfp-product-card p,
  body#index .tsfp-product-card li {
    margin-bottom: 2px !important;
    font-size: 12px !important;
    line-height: 1.20 !important;
  }
  body#index .tsfp-product-card [class*="price"] {
    margin: 5px 0 !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }
  body#index .tsfp-product-card .btn,
  body#index .tsfp-product-card button {
    min-height: 38px !important;
    padding: 6px 8px !important;
    font-size: 13px !important;
  }
}

/* ---------- KALKULATOR ---------- */
body#index .tsfp-calculator,
body#index .tsfp-calculator * {
  font-family: Manrope, Arial, sans-serif !important;
}
body#index .tsfp-calculator-title {
  line-height: 1.09 !important;
  letter-spacing: -.025em !important;
}
body#index .tsfp-field {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 5px !important;
  float: none !important;
  clear: both !important;
}
body#index .tsfp-field-label {
  order: 1 !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
  color: var(--tsfp-text) !important;
  font-weight: 700 !important;
}
body#index .tsfp-field-control {
  order: 2 !important;
  width: 100% !important;
  margin: 0 !important;
}

@media (min-width: 768px) {
  body#index .tsfp-calculator {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }
  body#index .tsfp-calculator-title {
    line-height: 1.11 !important;
  }
}

@media (max-width: 767px) {
  body#index .tsfp-calculator {
    padding: 14px 12px 16px !important;
  }
  body#index .tsfp-calculator-title {
    margin: 0 0 8px !important;
    font-size: 28px !important;
    line-height: 1.08 !important;
  }
  body#index .tsfp-calculator p {
    font-size: 13.5px !important;
    line-height: 1.30 !important;
  }
  body#index .tsfp-calculator [class*="option"],
  body#index .tsfp-calculator [class*="choice"],
  body#index .tsfp-calculator [class*="tab"] {
    min-height: 52px !important;
    padding: 6px 4px !important;
  }
  body#index .tsfp-calculator input,
  body#index .tsfp-calculator select {
    min-height: 44px !important;
    height: 44px !important;
    padding: 7px 10px !important;
    font-size: 14px !important;
    text-align: left !important;
  }
  body#index .tsfp-calculator label,
  body#index .tsfp-field-label {
    margin-bottom: 0 !important;
    font-size: 13px !important;
    line-height: 1.16 !important;
    text-align: left !important;
  }
  body#index .tsfp-calculator button,
  body#index .tsfp-calculator .btn {
    min-height: 44px !important;
    font-size: 14px !important;
  }
}

/* ---------- DLACZEGO THERMO-SAFE ---------- */
@media (max-width: 767px) {
  body#index .tsfp-why-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 9px !important;
  }
  body#index .tsfp-why-card {
    min-width: 0 !important;
    height: 100% !important;
    padding: 13px 11px !important;
  }
  body#index .tsfp-why-card h3,
  body#index .tsfp-why-card strong {
    margin-bottom: 5px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
  }
  body#index .tsfp-why-card p {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.32 !important;
  }
  body#index .tsfp-why-card [class*="icon"] {
    width: 38px !important;
    height: 38px !important;
    margin-bottom: 8px !important;
  }
}

/* =========================================================
   v1.5.0 — TARGETED OVERRIDES
   1) POPULARNE: realnie mniejsze karty (zewnętrzny slot + wnętrze)
   ========================================================= */

/* ---------- POPULARNE: DESKTOP ---------- */
@media (min-width: 768px) {
  body#index .tsfp-product-slot {
    min-width: 0 !important;
  }
  body#index .tsfp-product-card {
    padding: 7px 8px 8px !important;
  }
  body#index .tsfp-product-media {
    height: 148px !important;
    min-height: 148px !important;
    max-height: 148px !important;
  }
  body#index .tsfp-product-card img {
    width: 100% !important;
    height: 148px !important;
    max-height: 148px !important;
    object-fit: contain !important;
    object-position: center !important;
  }
  body#index .tsfp-product-card h3,
  body#index .tsfp-product-card [class*="title"] {
    margin: 5px 0 !important;
    font-size: 14px !important;
    line-height: 1.12 !important;
  }
  body#index .tsfp-product-card p,
  body#index .tsfp-product-card li {
    margin-bottom: 2px !important;
    font-size: 12px !important;
    line-height: 1.18 !important;
  }
  body#index .tsfp-product-card [class*="price"] {
    margin: 5px 0 !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }
  body#index .tsfp-product-card .btn,
  body#index .tsfp-product-card button {
    min-height: 36px !important;
    padding: 5px 7px !important;
    font-size: 12.5px !important;
  }
}

/* ---------- POPULARNE: MOBILE ---------- */
@media (max-width: 767px) {
  body#index .tsfp-featured-products h2 {
    font-size: 26px !important;
    line-height: 1.04 !important;
  }
  body#index .tsfp-featured-products > p,
  body#index .tsfp-featured-products header p {
    font-size: 13.5px !important;
    line-height: 1.30 !important;
  }

  /* Najważniejsza poprawka: zmniejszamy SLOT slidera, nie tylko środek karty. */
  body#index .tsfp-product-slot {
    box-sizing: border-box !important;
    flex: 0 0 min(68vw, 266px) !important;
    width: min(68vw, 266px) !important;
    min-width: min(68vw, 266px) !important;
    max-width: 266px !important;
  }
  body#index .tsfp-product-card {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 7px !important;
  }
  body#index .tsfp-product-media {
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    overflow: hidden !important;
  }
  body#index .tsfp-product-card img {
    width: 100% !important;
    height: 150px !important;
    max-height: 150px !important;
    object-fit: contain !important;
    object-position: center !important;
  }
  body#index .tsfp-product-card h3,
  body#index .tsfp-product-card [class*="title"] {
    margin: 5px 0 !important;
    font-size: 13.5px !important;
    line-height: 1.12 !important;
  }
  body#index .tsfp-product-card p,
  body#index .tsfp-product-card li {
    margin-bottom: 2px !important;
    font-size: 11.5px !important;
    line-height: 1.18 !important;
  }
  body#index .tsfp-product-card [class*="price"] {
    margin: 5px 0 !important;
    font-size: 19px !important;
    line-height: 1 !important;
  }
  body#index .tsfp-product-card .btn,
  body#index .tsfp-product-card button {
    min-height: 36px !important;
    padding: 5px 7px !important;
    font-size: 12px !important;
  }
}

/* =========================================================
   APPLICATION HERO — SOURCE HTML, NO JS REBUILD
   The component is intentionally isolated under .ts-use-hero.
   ========================================================= */
body#cms .ts-use-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 46%) minmax(0, 54%) !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--tsfp-line) !important;
  border-radius: 24px !important;
  background: #fff !important;
}
body#cms .ts-use-hero__copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  padding: 30px 30px 28px !important;
  background: #fff !important;
}
body#cms .ts-use-hero__copy h1 {
  margin: 0 0 12px !important;
  max-width: none !important;
  font-size: clamp(34px, 3.2vw, 54px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  color: #111 !important;
}
body#cms .ts-use-hero__intro {
  margin: 0 0 15px !important;
  font-size: 18px !important;
  line-height: 1.42 !important;
  color: #4f5a53 !important;
}
body#cms .ts-use-hero__benefits {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 9px !important;
  margin: 0 0 16px !important;
}
body#cms .ts-use-hero__benefit {
  min-width: 0 !important;
  padding: 12px 10px !important;
  border-radius: 15px !important;
  background: var(--tsfp-soft) !important;
  color: var(--tsfp-ink) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1.12 !important;
}
body#cms .ts-use-hero__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 31px !important;
  height: 31px !important;
  margin-bottom: 7px !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-size: 14px !important;
}
body#cms .ts-use-hero__cta {
  align-self: flex-start !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 12px 22px !important;
  border-radius: 12px !important;
  background: var(--tsfp-green) !important;
  color: #fff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
body#cms .ts-use-hero__media {
  position: relative !important;
  overflow: hidden !important;
  min-width: 0 !important;
  min-height: 420px !important;
  background: #fff !important;
}
body#cms .ts-use-hero__media::before {
  content: '' !important;
  position: absolute !important;
  z-index: 2 !important;
  inset: 0 auto 0 0 !important;
  width: 24% !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.92) 15%, rgba(255,255,255,.58) 42%, rgba(255,255,255,.18) 72%, rgba(255,255,255,0) 100%) !important;
}
body#cms .ts-use-hero__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 420px !important;
  object-fit: cover !important;
  object-position: center !important;
}

@media (max-width: 767px) {
  body#cms .ts-use-hero {
    display: flex !important;
    flex-direction: column !important;
    border-radius: 20px !important;
  }
  body#cms .ts-use-hero__copy {
    order: 1 !important;
    padding: 18px 16px 14px !important;
  }
  body#cms .ts-use-hero__copy h1 {
    margin-bottom: 10px !important;
    font-size: clamp(28px, 8.1vw, 37px) !important;
    line-height: 1.03 !important;
  }
  body#cms .ts-use-hero__intro {
    margin-bottom: 12px !important;
    font-size: 14.5px !important;
    line-height: 1.34 !important;
  }
  body#cms .ts-use-hero__benefits {
    gap: 7px !important;
    margin-bottom: 12px !important;
  }
  body#cms .ts-use-hero__benefit {
    padding: 8px 7px !important;
    border-radius: 13px !important;
    font-size: 11px !important;
    line-height: 1.08 !important;
  }
  body#cms .ts-use-hero__icon {
    width: 27px !important;
    height: 27px !important;
    margin-bottom: 5px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
  }
  body#cms .ts-use-hero__cta {
    align-self: stretch !important;
    min-height: 44px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
  }
  body#cms .ts-use-hero__media {
    order: 2 !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
    margin: 0 14px 14px !important;
    border-radius: 15px !important;
  }
  body#cms .ts-use-hero__media::before {
    inset: 0 0 auto 0 !important;
    width: 100% !important;
    height: 24% !important;
    background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,.90) 16%, rgba(255,255,255,.50) 46%, rgba(255,255,255,.10) 78%, rgba(255,255,255,0) 100%) !important;
  }
  body#cms .ts-use-hero__media img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 15px !important;
    object-fit: cover !important;
  }
}

/* =========================================================
   v1.7.0 — APPLICATION LANDINGS: ONE SCOPED SYSTEM
   IMPORTANT: selector starts from #content.page-content.page-cms .ts-landing
   so it does not affect homepage/category/product pages.
   ========================================================= */
#content.page-content.page-cms .ts-landing {
  --tsl-ink: #15261b;
  --tsl-text: #59655d;
  --tsl-green: #2f7b3e;
  --tsl-green-dark: #286835;
  --tsl-soft: #edf6e9;
  --tsl-soft-2: #f5f9f2;
  --tsl-line: #d7e5d4;
  --tsl-white: #fff;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  color: var(--tsl-ink);
  font-family: inherit;
  text-align: left !important;
}
#content.page-content.page-cms .ts-landing,
#content.page-content.page-cms .ts-landing * { box-sizing: border-box; }
#content.page-content.page-cms .ts-landing p,
#content.page-content.page-cms .ts-landing li,
#content.page-content.page-cms .ts-landing small,
#content.page-content.page-cms .ts-landing td,
#content.page-content.page-cms .ts-landing th,
#content.page-content.page-cms .ts-landing a,
#content.page-content.page-cms .ts-landing span {
  text-align: left !important;
  word-spacing: normal !important;
  white-space: normal;
}
#content.page-content.page-cms .ts-landing img { max-width: 100%; }

/* ---------- HERO ---------- */
#content.page-content.page-cms .ts-landing .ts-hero { margin: 0 0 18px; }
#content.page-content.page-cms .ts-landing .ts-use-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 44%) minmax(0, 56%) !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--tsl-line) !important;
  border-radius: 26px !important;
  background: var(--tsl-white) !important;
}
#content.page-content.page-cms .ts-landing .ts-use-hero__copy {
  position: relative;
  z-index: 3;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 430px !important;
  padding: 38px 34px !important;
  background: #fff !important;
}
#content.page-content.page-cms .ts-landing .ts-use-hero__copy h1 {
  margin: 0 0 14px !important;
  color: #111 !important;
  font-size: clamp(38px, 3.15vw, 58px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  font-weight: 750 !important;
  text-align: left !important;
}
#content.page-content.page-cms .ts-landing .ts-use-hero__intro {
  margin: 0 0 17px !important;
  color: var(--tsl-text) !important;
  font-size: 17px !important;
  line-height: 1.46 !important;
}
#content.page-content.page-cms .ts-landing .ts-use-hero__benefits {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 9px !important;
  margin: 0 0 17px !important;
}
#content.page-content.page-cms .ts-landing .ts-use-hero__benefit {
  min-width: 0 !important;
  padding: 12px 10px !important;
  border-radius: 15px !important;
  background: var(--tsl-soft) !important;
  color: var(--tsl-ink) !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 750 !important;
}
#content.page-content.page-cms .ts-landing .ts-use-hero__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  margin: 0 0 7px !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-size: 15px !important;
}
#content.page-content.page-cms .ts-landing .ts-use-hero__cta,
#content.page-content.page-cms .ts-landing .ts-btn {
  text-decoration: none !important;
}
#content.page-content.page-cms .ts-landing .ts-use-hero__cta {
  align-self: flex-start !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  padding: 13px 22px !important;
  border-radius: 12px !important;
  background: var(--tsl-green) !important;
  color: #fff !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}
#content.page-content.page-cms .ts-landing .ts-use-hero__media {
  position: relative !important;
  min-width: 0 !important;
  min-height: 430px !important;
  overflow: hidden !important;
  background: #fff !important;
}
#content.page-content.page-cms .ts-landing .ts-use-hero__media::before {
  content: '' !important;
  position: absolute !important;
  z-index: 2 !important;
  inset: 0 auto 0 0 !important;
  width: 150px !important;
  pointer-events: none !important;
  background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 12%,rgba(255,255,255,.78) 34%,rgba(255,255,255,.42) 58%,rgba(255,255,255,.12) 82%,rgba(255,255,255,0) 100%) !important;
}
#content.page-content.page-cms .ts-landing .ts-use-hero__media img {
  display: block !important;
  width: 100% !important;
  height: 430px !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* ---------- GUIDE ---------- */
#content.page-content.page-cms .ts-landing .ts-guide {
  margin: 0 0 22px !important;
  border: 1px solid var(--tsl-line) !important;
  border-radius: 18px !important;
  background: linear-gradient(90deg,#f5faf2,#edf6e9) !important;
  overflow: hidden !important;
}
#content.page-content.page-cms .ts-landing .ts-guide-toggle {
  display: grid !important;
  grid-template-columns: 44px minmax(0,1fr) 30px !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 72px !important;
  padding: 10px 16px !important;
  cursor: pointer !important;
}
#content.page-content.page-cms .ts-landing .ts-guide-icon,
#content.page-content.page-cms .ts-landing .ts-info-icon,
#content.page-content.page-cms .ts-landing .ts-cta-icon,
#content.page-content.page-cms .ts-landing .ts-experience-dot {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: var(--tsl-green) !important;
}
#content.page-content.page-cms .ts-landing .ts-guide-icon { width:44px !important;height:44px !important;font-size:21px !important; }
#content.page-content.page-cms .ts-landing .ts-guide-summary { display:block !important; min-width:0 !important; }
#content.page-content.page-cms .ts-landing .ts-guide-summary strong { display:block !important; margin:0 0 2px !important; font-size:18px !important; line-height:1.15 !important; }
#content.page-content.page-cms .ts-landing .ts-guide-summary small { display:block !important; color:var(--tsl-text) !important; font-size:14px !important; line-height:1.35 !important; }
#content.page-content.page-cms .ts-landing .ts-guide-arrow { color:var(--tsl-green) !important;font-size:30px !important;line-height:1 !important;text-align:center !important; }
#content.page-content.page-cms .ts-landing .ts-guide-body { display:none; padding: 0 20px 18px 72px !important; color:var(--tsl-text) !important; }
#content.page-content.page-cms .ts-landing .ts-guide.is-open .ts-guide-body { display:block !important; }
#content.page-content.page-cms .ts-landing .ts-guide-steps { margin:0 0 10px 18px !important; padding:0 !important; }
#content.page-content.page-cms .ts-landing .ts-guide-steps li { margin:0 0 5px !important; font-size:14px !important; line-height:1.42 !important; }
#content.page-content.page-cms .ts-landing .ts-guide-note { margin:0 !important; font-size:14px !important; line-height:1.42 !important; }

/* ---------- SECTION HEADS ---------- */
#content.page-content.page-cms .ts-landing .ts-section,
#content.page-content.page-cms .ts-landing .ts-transport-section,
#content.page-content.page-cms .ts-landing .ts-faq-section { margin: 22px 0 !important; }
#content.page-content.page-cms .ts-landing .ts-section-head {
  display:flex !important; align-items:flex-end !important; justify-content:space-between !important; gap:16px !important; margin:22px 0 5px !important;
}
#content.page-content.page-cms .ts-landing .ts-section-title {
  margin:0 !important; color:#111 !important; font-size:30px !important; line-height:1.08 !important; letter-spacing:-.025em !important; font-weight:750 !important;
}
#content.page-content.page-cms .ts-landing .ts-section-link { color:var(--tsl-green) !important; font-weight:750 !important; text-decoration:none !important; white-space:nowrap !important; }
#content.page-content.page-cms .ts-landing .ts-section-intro,
#content.page-content.page-cms .ts-landing .ts-capacity-lead { margin:0 0 14px !important; color:var(--tsl-text) !important; font-size:15px !important; line-height:1.45 !important; }

/* ---------- PRODUCT GRID ---------- */
#content.page-content.page-cms .ts-landing .ts-product-grid {
  display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:14px !important; align-items:stretch !important;
}
#content.page-content.page-cms .ts-landing .ts-product-card {
  display:flex !important; flex-direction:column !important; min-width:0 !important; overflow:hidden !important; border:1px solid var(--tsl-line) !important; border-radius:18px !important; background:#fff !important;
}
#content.page-content.page-cms .ts-landing .ts-product-card.is-featured { border-color:#87b88c !important; background:#fbfefb !important; }
#content.page-content.page-cms .ts-landing .ts-product-image {
  display:flex !important; align-items:center !important; justify-content:center !important; height:230px !important; padding:14px !important; background:#fff !important; overflow:hidden !important;
}
#content.page-content.page-cms .ts-landing .ts-product-image img {
  display:block !important; width:100% !important; height:100% !important; object-fit:contain !important; object-position:center !important;
}
#content.page-content.page-cms .ts-landing .ts-product-body { display:flex !important; flex-direction:column !important; flex:1 !important; padding:14px !important; }
#content.page-content.page-cms .ts-landing .ts-product-title { margin:0 0 3px !important; font-size:25px !important; line-height:1.05 !important; font-weight:800 !important; color:#111 !important; }
#content.page-content.page-cms .ts-landing .ts-product-size { margin:0 0 6px !important; color:#2f3a33 !important; font-size:14px !important; line-height:1.3 !important; font-weight:700 !important; }
#content.page-content.page-cms .ts-landing .ts-product-copy { margin:0 0 14px !important; color:var(--tsl-text) !important; font-size:14px !important; line-height:1.35 !important; }
#content.page-content.page-cms .ts-landing .ts-product-btn {
  display:flex !important; align-items:center !important; justify-content:center !important; min-height:44px !important; margin-top:auto !important; padding:10px 12px !important; border-radius:11px !important; background:var(--tsl-green) !important; color:#fff !important; font-weight:800 !important; text-align:center !important;
}
#content.page-content.page-cms .ts-landing .ts-product-note { margin:9px 0 0 !important; color:var(--tsl-text) !important; font-size:13px !important; line-height:1.4 !important; }

/* ---------- INFO / TRANSPORT ---------- */
#content.page-content.page-cms .ts-landing .ts-transport-section {
  padding:20px !important; border:1px solid var(--tsl-line) !important; border-radius:20px !important; background:#fbfdfb !important;
}
#content.page-content.page-cms .ts-landing .ts-transport-section > .ts-section-title { margin-bottom:14px !important; }
#content.page-content.page-cms .ts-landing .ts-info-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
#content.page-content.page-cms .ts-landing .ts-info-card {
  display:grid !important; grid-template-columns:44px minmax(0,1fr) !important; gap:12px !important; align-items:start !important; min-width:0 !important; padding:14px !important; border:1px solid var(--tsl-line) !important; border-radius:16px !important; background:#fff !important;
}
#content.page-content.page-cms .ts-landing .ts-info-icon { width:44px !important; height:44px !important; background:var(--tsl-soft) !important; }
#content.page-content.page-cms .ts-landing .ts-info-card h3 { margin:0 0 3px !important; font-size:17px !important; line-height:1.15 !important; color:#111 !important; }
#content.page-content.page-cms .ts-landing .ts-info-card p { margin:0 !important; color:var(--tsl-text) !important; font-size:13px !important; line-height:1.4 !important; }

/* ---------- CAPACITY / STEPS ---------- */
#content.page-content.page-cms .ts-landing .ts-capacity-steps { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:12px !important; margin:0 0 16px !important; padding:0 !important; list-style:none !important; counter-reset:tsstep !important; }
#content.page-content.page-cms .ts-landing .ts-capacity-steps li { counter-increment:tsstep !important; padding:14px !important; border:1px solid var(--tsl-line) !important; border-radius:16px !important; background:#fff !important; }
#content.page-content.page-cms .ts-landing .ts-capacity-steps li::before { content:counter(tsstep) !important; display:flex !important; align-items:center !important; justify-content:center !important; width:32px !important;height:32px !important;margin-bottom:8px !important;border-radius:10px !important;background:var(--tsl-soft) !important;color:var(--tsl-green) !important;font-weight:800 !important; }
#content.page-content.page-cms .ts-landing .ts-capacity-steps strong { display:block !important; margin-bottom:4px !important; }
#content.page-content.page-cms .ts-landing .ts-capacity-steps span { display:block !important; color:var(--tsl-text) !important; font-size:13px !important; line-height:1.38 !important; }
#content.page-content.page-cms .ts-landing .ts-capacity-example { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; margin:0 0 10px !important; padding:14px !important; border:1px solid var(--tsl-line) !important; border-radius:16px !important; background:var(--tsl-soft-2) !important; }
#content.page-content.page-cms .ts-landing .ts-capacity-example-copy p { margin:5px 0 0 !important; color:var(--tsl-text) !important; font-size:13px !important; line-height:1.4 !important; }
#content.page-content.page-cms .ts-landing .ts-capacity-label { color:var(--tsl-green-dark) !important; font-weight:800 !important; }
#content.page-content.page-cms .ts-landing .ts-capacity-table-wrap { overflow-x:auto !important; }
#content.page-content.page-cms .ts-landing .ts-capacity-table { width:100% !important; border-collapse:collapse !important; background:#fff !important; }
#content.page-content.page-cms .ts-landing .ts-capacity-table th,
#content.page-content.page-cms .ts-landing .ts-capacity-table td { padding:8px 10px !important; border-bottom:1px solid var(--tsl-line) !important; font-size:12px !important; }
#content.page-content.page-cms .ts-landing .ts-capacity-note { color:var(--tsl-text) !important; font-size:13px !important; line-height:1.4 !important; }

/* ---------- CTA / EXPERIENCE ---------- */
#content.page-content.page-cms .ts-landing .ts-experience {
  display:grid !important; grid-template-columns:42px minmax(0,1fr) !important; gap:12px !important; align-items:center !important; margin:20px 0 !important; padding:14px 16px !important; border:1px solid var(--tsl-line) !important; border-radius:16px !important; background:var(--tsl-soft-2) !important; color:var(--tsl-text) !important; font-size:13px !important; line-height:1.42 !important;
}
#content.page-content.page-cms .ts-landing .ts-experience-dot { width:42px !important;height:42px !important;background:var(--tsl-soft) !important;font-weight:800 !important; }
#content.page-content.page-cms .ts-landing .ts-experience strong { color:#27352d !important; }
#content.page-content.page-cms .ts-landing .ts-cta {
  display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; gap:18px !important; align-items:center !important; margin:22px 0 !important; padding:16px 18px !important; border:1px solid #cfe2cb !important; border-radius:18px !important; background:linear-gradient(90deg,#edf7e9,#e8f3e4) !important;
}
#content.page-content.page-cms .ts-landing .ts-cta-head { display:grid !important; grid-template-columns:48px minmax(0,1fr) !important; gap:12px !important; align-items:center !important; }
#content.page-content.page-cms .ts-landing .ts-cta-icon { width:48px !important;height:48px !important;border:2px solid var(--tsl-green) !important;background:#fff !important;font-weight:800 !important; }
#content.page-content.page-cms .ts-landing .ts-cta h2 { margin:0 0 3px !important; font-size:22px !important; line-height:1.1 !important; color:#111 !important; }
#content.page-content.page-cms .ts-landing .ts-cta p { margin:0 !important; color:var(--tsl-text) !important; font-size:14px !important; line-height:1.38 !important; }
#content.page-content.page-cms .ts-landing .ts-cta-btn { display:flex !important;align-items:center !important;justify-content:center !important;min-width:280px !important;min-height:48px !important;padding:12px 18px !important;border-radius:11px !important;background:var(--tsl-green) !important;color:#fff !important;font-weight:800 !important;text-align:center !important; }

/* ---------- FAQ ---------- */
#content.page-content.page-cms .ts-landing .ts-faq { overflow:hidden !important; border:1px solid var(--tsl-line) !important; border-radius:18px !important; background:#fff !important; }
#content.page-content.page-cms .ts-landing .ts-faq-item + .ts-faq-item { border-top:1px solid var(--tsl-line) !important; }
#content.page-content.page-cms .ts-landing .ts-faq-question { display:flex !important;align-items:center !important;justify-content:space-between !important;gap:14px !important;min-height:58px !important;padding:14px 16px !important;color:#171d19 !important;font-size:14px !important;line-height:1.3 !important;font-weight:750 !important;cursor:pointer !important; }
#content.page-content.page-cms .ts-landing .ts-faq-answer { display:none; padding:0 16px 15px !important; color:var(--tsl-text) !important; }
#content.page-content.page-cms .ts-landing .ts-faq-item.is-open .ts-faq-answer { display:block !important; }
#content.page-content.page-cms .ts-landing .ts-faq-answer p { margin:0 !important; font-size:14px !important; line-height:1.45 !important; }

/* ---------- MOBILE ---------- */
@media (max-width:767px) {
  #content.page-content.page-cms .ts-landing { padding:0 8px !important; }
  #content.page-content.page-cms .ts-landing .ts-hero { margin-bottom:14px !important; }
  #content.page-content.page-cms .ts-landing .ts-use-hero { display:flex !important; flex-direction:column !important; border-radius:20px !important; }
  #content.page-content.page-cms .ts-landing .ts-use-hero__copy { order:1 !important; min-height:0 !important; padding:22px 18px 18px !important; }
  #content.page-content.page-cms .ts-landing .ts-use-hero__copy h1 { font-size:clamp(34px,9.4vw,48px) !important; line-height:1.01 !important; margin-bottom:12px !important; }
  #content.page-content.page-cms .ts-landing .ts-use-hero__intro { margin-bottom:14px !important; font-size:16px !important; line-height:1.42 !important; }
  #content.page-content.page-cms .ts-landing .ts-use-hero__benefits { gap:7px !important; margin-bottom:14px !important; }
  #content.page-content.page-cms .ts-landing .ts-use-hero__benefit { padding:10px 8px !important; font-size:12px !important; line-height:1.10 !important; }
  #content.page-content.page-cms .ts-landing .ts-use-hero__icon { width:30px !important;height:30px !important;margin-bottom:6px !important;font-size:14px !important; }
  #content.page-content.page-cms .ts-landing .ts-use-hero__cta { width:100% !important; min-height:48px !important; padding:12px 14px !important; font-size:15px !important; }
  #content.page-content.page-cms .ts-landing .ts-use-hero__media { order:2 !important; min-height:0 !important; aspect-ratio:16/9.2 !important; }
  #content.page-content.page-cms .ts-landing .ts-use-hero__media::before { inset:0 0 auto 0 !important; width:100% !important; height:58px !important; background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.88) 20%,rgba(255,255,255,.48) 53%,rgba(255,255,255,0) 100%) !important; }
  #content.page-content.page-cms .ts-landing .ts-use-hero__media img { width:100% !important; height:100% !important; min-height:0 !important; object-fit:cover !important; border-radius:0 0 18px 18px !important; }

  #content.page-content.page-cms .ts-landing .ts-guide { margin-bottom:18px !important; }
  #content.page-content.page-cms .ts-landing .ts-guide-toggle { grid-template-columns:46px minmax(0,1fr) 22px !important; gap:10px !important; padding:12px !important; }
  #content.page-content.page-cms .ts-landing .ts-guide-summary strong { font-size:17px !important; }
  #content.page-content.page-cms .ts-landing .ts-guide-summary small { font-size:13px !important; }
  #content.page-content.page-cms .ts-landing .ts-guide-body { padding:0 14px 14px !important; }

  #content.page-content.page-cms .ts-landing .ts-section-head { align-items:flex-end !important; gap:8px !important; margin-top:20px !important; }
  #content.page-content.page-cms .ts-landing .ts-section-title { font-size:28px !important; }
  #content.page-content.page-cms .ts-landing .ts-section-link { font-size:13px !important; }
  #content.page-content.page-cms .ts-landing .ts-section-intro,
  #content.page-content.page-cms .ts-landing .ts-capacity-lead { font-size:13px !important; }

  #content.page-content.page-cms .ts-landing .ts-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
  #content.page-content.page-cms .ts-landing .ts-product-image { height:170px !important; padding:8px !important; }
  #content.page-content.page-cms .ts-landing .ts-product-body { padding:10px !important; }
  #content.page-content.page-cms .ts-landing .ts-product-title { font-size:22px !important; }
  #content.page-content.page-cms .ts-landing .ts-product-size { font-size:12px !important; }
  #content.page-content.page-cms .ts-landing .ts-product-copy { font-size:12px !important; line-height:1.3 !important; margin-bottom:10px !important; }
  #content.page-content.page-cms .ts-landing .ts-product-btn { min-height:42px !important; padding:9px 6px !important; font-size:13px !important; }

  #content.page-content.page-cms .ts-landing .ts-transport-section { padding:14px !important; }
  #content.page-content.page-cms .ts-landing .ts-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:9px !important; }
  #content.page-content.page-cms .ts-landing .ts-info-card { display:flex !important; flex-direction:column !important; align-items:center !important; gap:8px !important; padding:12px 8px !important; text-align:center !important; }
  #content.page-content.page-cms .ts-landing .ts-info-card h3,
  #content.page-content.page-cms .ts-landing .ts-info-card p { text-align:center !important; }
  #content.page-content.page-cms .ts-landing .ts-info-card h3 { font-size:15px !important; }
  #content.page-content.page-cms .ts-landing .ts-info-card p { font-size:12px !important; }

  #content.page-content.page-cms .ts-landing .ts-capacity-steps { grid-template-columns:1fr !important; gap:8px !important; }
  #content.page-content.page-cms .ts-landing .ts-capacity-example { grid-template-columns:1fr !important; }

  #content.page-content.page-cms .ts-landing .ts-cta { grid-template-columns:1fr !important; gap:14px !important; padding:14px !important; }
  #content.page-content.page-cms .ts-landing .ts-cta-btn { width:100% !important; min-width:0 !important; }
  #content.page-content.page-cms .ts-landing .ts-cta h2 { font-size:20px !important; }
  #content.page-content.page-cms .ts-landing .ts-experience { padding:12px !important; }
  #content.page-content.page-cms .ts-landing .ts-faq-question { min-height:62px !important; padding:14px !important; font-size:14px !important; }
}

/* Product page canvas should stay white; scoped only to product pages. */
body#product #wrapper,
body#product .product-container,
body#product #content-wrapper,
body#product .product-information { background:#fff !important; }

/* =========================================================
   v1.7.2 — DESKTOP APPLICATION HERO ONLY
   Scope: CMS 15–18. Mobile remains untouched.
   Purpose: force a compact 2-column hero even if another
   module/theme overrides the generic .ts-use-hero rules.
   ========================================================= */
@media (min-width: 768px) {
  #content.page-content.page-cms.page-cms-15 .ts-landing#ts-cake-landing .ts-hero > .ts-use-hero,
  #content.page-content.page-cms.page-cms-16 .ts-landing .ts-hero > .ts-use-hero,
  #content.page-content.page-cms.page-cms-17 .ts-landing .ts-hero > .ts-use-hero,
  #content.page-content.page-cms.page-cms-18 .ts-landing .ts-hero > .ts-use-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 43%) minmax(0, 57%) !important;
    grid-template-rows: 410px !important;
    align-items: stretch !important;
    gap: 0 !important;
    height: 410px !important;
    min-height: 410px !important;
    max-height: 410px !important;
    overflow: hidden !important;
    border: 1px solid #d7e5d4 !important;
    border-radius: 24px !important;
    background: #fff !important;
  }

  #content.page-content.page-cms.page-cms-15 .ts-landing#ts-cake-landing .ts-use-hero__copy,
  #content.page-content.page-cms.page-cms-16 .ts-landing .ts-use-hero__copy,
  #content.page-content.page-cms.page-cms-17 .ts-landing .ts-use-hero__copy,
  #content.page-content.page-cms.page-cms-18 .ts-landing .ts-use-hero__copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: 410px !important;
    min-height: 410px !important;
    max-height: 410px !important;
    padding: 28px 30px !important;
    margin: 0 !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  #content.page-content.page-cms.page-cms-15 .ts-landing#ts-cake-landing .ts-use-hero__copy h1,
  #content.page-content.page-cms.page-cms-16 .ts-landing .ts-use-hero__copy h1,
  #content.page-content.page-cms.page-cms-17 .ts-landing .ts-use-hero__copy h1,
  #content.page-content.page-cms.page-cms-18 .ts-landing .ts-use-hero__copy h1 {
    margin: 0 0 10px !important;
    font-size: clamp(34px, 2.5vw, 46px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.03em !important;
  }

  #content.page-content.page-cms.page-cms-15 .ts-landing#ts-cake-landing .ts-use-hero__intro,
  #content.page-content.page-cms.page-cms-16 .ts-landing .ts-use-hero__intro,
  #content.page-content.page-cms.page-cms-17 .ts-landing .ts-use-hero__intro,
  #content.page-content.page-cms.page-cms-18 .ts-landing .ts-use-hero__intro {
    margin: 0 0 13px !important;
    font-size: 15px !important;
    line-height: 1.38 !important;
  }

  #content.page-content.page-cms.page-cms-15 .ts-landing#ts-cake-landing .ts-use-hero__benefits,
  #content.page-content.page-cms.page-cms-16 .ts-landing .ts-use-hero__benefits,
  #content.page-content.page-cms.page-cms-17 .ts-landing .ts-use-hero__benefits,
  #content.page-content.page-cms.page-cms-18 .ts-landing .ts-use-hero__benefits {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
  }

  #content.page-content.page-cms.page-cms-15 .ts-landing#ts-cake-landing .ts-use-hero__benefit,
  #content.page-content.page-cms.page-cms-16 .ts-landing .ts-use-hero__benefit,
  #content.page-content.page-cms.page-cms-17 .ts-landing .ts-use-hero__benefit,
  #content.page-content.page-cms.page-cms-18 .ts-landing .ts-use-hero__benefit {
    padding: 9px 8px !important;
    font-size: 12px !important;
    line-height: 1.12 !important;
    border-radius: 13px !important;
  }

  #content.page-content.page-cms.page-cms-15 .ts-landing#ts-cake-landing .ts-use-hero__icon,
  #content.page-content.page-cms.page-cms-16 .ts-landing .ts-use-hero__icon,
  #content.page-content.page-cms.page-cms-17 .ts-landing .ts-use-hero__icon,
  #content.page-content.page-cms.page-cms-18 .ts-landing .ts-use-hero__icon {
    width: 28px !important;
    height: 28px !important;
    margin-bottom: 5px !important;
  }

  #content.page-content.page-cms.page-cms-15 .ts-landing#ts-cake-landing .ts-use-hero__cta,
  #content.page-content.page-cms.page-cms-16 .ts-landing .ts-use-hero__cta,
  #content.page-content.page-cms.page-cms-17 .ts-landing .ts-use-hero__cta,
  #content.page-content.page-cms.page-cms-18 .ts-landing .ts-use-hero__cta {
    align-self: flex-start !important;
    width: auto !important;
    min-height: 44px !important;
    padding: 10px 18px !important;
    font-size: 14px !important;
    margin: 0 !important;
  }

  #content.page-content.page-cms.page-cms-15 .ts-landing#ts-cake-landing .ts-use-hero__media,
  #content.page-content.page-cms.page-cms-16 .ts-landing .ts-use-hero__media,
  #content.page-content.page-cms.page-cms-17 .ts-landing .ts-use-hero__media,
  #content.page-content.page-cms.page-cms-18 .ts-landing .ts-use-hero__media {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: relative !important;
    width: auto !important;
    min-width: 0 !important;
    height: 410px !important;
    min-height: 410px !important;
    max-height: 410px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 0 24px 24px 0 !important;
    background: #fff !important;
  }

  #content.page-content.page-cms.page-cms-15 .ts-landing#ts-cake-landing .ts-use-hero__media img,
  #content.page-content.page-cms.page-cms-16 .ts-landing .ts-use-hero__media img,
  #content.page-content.page-cms.page-cms-17 .ts-landing .ts-use-hero__media img,
  #content.page-content.page-cms.page-cms-18 .ts-landing .ts-use-hero__media img {
    display: block !important;
    width: 100% !important;
    height: 410px !important;
    min-height: 410px !important;
    max-height: 410px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 0 24px 24px 0 !important;
    margin: 0 !important;
  }

  #content.page-content.page-cms.page-cms-15 .ts-landing#ts-cake-landing .ts-use-hero__media::before,
  #content.page-content.page-cms.page-cms-16 .ts-landing .ts-use-hero__media::before,
  #content.page-content.page-cms.page-cms-17 .ts-landing .ts-use-hero__media::before,
  #content.page-content.page-cms.page-cms-18 .ts-landing .ts-use-hero__media::before {
    content: '' !important;
    position: absolute !important;
    z-index: 2 !important;
    inset: 0 auto 0 0 !important;
    width: 22% !important;
    height: 100% !important;
    pointer-events: none !important;
    background: linear-gradient(90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.96) 10%,
      rgba(255,255,255,.82) 28%,
      rgba(255,255,255,.48) 52%,
      rgba(255,255,255,.16) 74%,
      rgba(255,255,255,0) 100%) !important;
  }
}

/* =========================================================
   v1.7.5 — DESKTOP HERO DIRECT-DOM FIX
   Actual live DOM: .ts-hero directly contains .ts-use-hero__copy + .ts-use-hero__media.
   Mobile (< 992px) untouched.
   ========================================================= */
@media (min-width: 992px) {
  #content.page-content.page-cms .ts-landing > .ts-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 43%) minmax(0, 57%) !important;
    grid-template-rows: 410px !important;
    gap: 0 !important;
    height: 410px !important;
    min-height: 410px !important;
    max-height: 410px !important;
    overflow: hidden !important;
    border: 1px solid #d7e5d4 !important;
    border-radius: 24px !important;
    background: #fff !important;
  }

  #content.page-content.page-cms .ts-landing > .ts-hero > .ts-use-hero__copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
    height: 410px !important;
    min-height: 410px !important;
    max-height: 410px !important;
    padding: 28px 30px !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  #content.page-content.page-cms .ts-landing > .ts-hero > .ts-use-hero__media {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: relative !important;
    min-width: 0 !important;
    width: auto !important;
    height: 410px !important;
    min-height: 410px !important;
    max-height: 410px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 0 24px 24px 0 !important;
    background: #fff !important;
  }

  #content.page-content.page-cms .ts-landing > .ts-hero > .ts-use-hero__media > img {
    display: block !important;
    width: 100% !important;
    height: 410px !important;
    min-height: 410px !important;
    max-height: 410px !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    border-radius: 0 24px 24px 0 !important;
  }

  #content.page-content.page-cms .ts-landing > .ts-hero > .ts-use-hero__media::before {
    content: '' !important;
    position: absolute !important;
    z-index: 2 !important;
    inset: 0 auto 0 0 !important;
    width: 24% !important;
    height: 100% !important;
    pointer-events: none !important;
    background: linear-gradient(90deg,
      #fff 0%,
      rgba(255,255,255,.96) 12%,
      rgba(255,255,255,.80) 30%,
      rgba(255,255,255,.46) 56%,
      rgba(255,255,255,.14) 78%,
      rgba(255,255,255,0) 100%) !important;
  }

  #content.page-content.page-cms .ts-landing > .ts-hero > .ts-use-hero__copy h1 {
    margin: 0 0 10px !important;
    font-size: clamp(34px, 2.4vw, 46px) !important;
    line-height: 1.03 !important;
  }
}
