/* TVC Identity 0.3.0 — cabecera fiel a staging sobre Hummingbird 2.0.0 */
:root {
  --tvc-ink: #10110f;
  --tvc-ink-soft: #171815;
  --tvc-yellow: #ffd329;
  --tvc-paper: #f7f4ed;
  --tvc-muted: #a5a59f;
}

/* Las combinaciones se eligen en la ficha; las tarjetas conservan una jerarquia limpia. */
article.product-miniature .product-miniature__variants {
  display: none !important;
}

/* Cajón móvil TVC: selector exclusivo y sin dependencia de breakpoint. */
.ps-mainmenu--mobile.offcanvas {
  --bs-offcanvas-width: min(88vw, 360px);
  background: #121412 !important;
  color: #f5f3ec !important;
  border-right: 1px solid rgba(255, 211, 41, .28) !important;
  box-shadow: 18px 0 44px rgba(0, 0, 0, .34);
}

.ps-mainmenu--mobile .offcanvas-header {
  min-height: 68px;
  padding: 14px 18px;
  background: #121412 !important;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.ps-mainmenu--mobile .ps-mainmenu__mobile,
.ps-mainmenu--mobile .menu,
.ps-mainmenu--mobile .menu__list,
.ps-mainmenu--mobile .menu__item {
  background: #121412 !important;
  color: #f5f3ec !important;
}

.ps-mainmenu--mobile .menu__list {
  padding: 4px 14px 20px;
}

.ps-mainmenu--mobile .menu__list > li {
  position: relative;
  min-height: 52px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.ps-mainmenu--mobile .menu__link {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  width: 100%;
  min-height: 52px;
  padding: 0 46px 0 14px;
  color: #f5f3ec !important;
  font-weight: 700;
  letter-spacing: .035em;
  text-transform: uppercase;
  transition: color 160ms ease, background-color 160ms ease,
    padding-left 160ms ease;
}

.ps-mainmenu--mobile .menu__toggle-child {
  position: absolute;
  top: 50%;
  right: 5px;
  width: 40px;
  height: 40px;
  padding: 0;
  color: #ffd329 !important;
  transform: translateY(-50%);
  transition: color 160ms ease, background-color 160ms ease;
}

.ps-mainmenu--mobile .menu__list > li:hover,
.ps-mainmenu--mobile .menu__list > li:focus-within {
  background: #ffd329 !important;
}

.ps-mainmenu--mobile .menu__list > li:hover > .menu__link,
.ps-mainmenu--mobile .menu__list > li:focus-within > .menu__link {
  padding-left: 18px;
  color: #121412 !important;
  background: transparent !important;
}

#header.header .ps-mainmenu--mobile .menu__list > li:hover > a.menu__link,
#header.header .ps-mainmenu--mobile .menu__list > li:focus-within > a.menu__link,
#header.header .ps-mainmenu--mobile .menu__list > li:hover > .menu__toggle-child,
#header.header .ps-mainmenu--mobile .menu__list > li:focus-within > .menu__toggle-child,
.ps-mainmenu--mobile .menu__list > li:hover > .menu__toggle-child,
.ps-mainmenu--mobile .menu__list > li:focus-within > .menu__toggle-child {
  color: #121412 !important;
}

.ps-mainmenu--mobile .menu__link[aria-current="page"],
.ps-mainmenu--mobile .menu__link--current,
.ps-mainmenu--mobile .current > .menu__link {
  color: #fff !important;
  box-shadow: inset 3px 0 0 #ffd329;
}

.ps-mainmenu--mobile .js-back-button {
  min-height: 40px;
  padding: 0 10px;
  color: #ffd329 !important;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.ps-mainmenu--mobile .js-back-button:hover,
.ps-mainmenu--mobile .js-back-button:focus-visible {
  color: #121412 !important;
  background: #ffd329 !important;
}

.ps-mainmenu--mobile .btn-close {
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  filter: invert(1) grayscale(1) brightness(2);
  opacity: .88;
}

.ps-mainmenu--mobile .btn-close:hover,
.ps-mainmenu--mobile .btn-close:focus-visible {
  background-color: rgba(255, 211, 41, .18);
  filter: invert(83%) sepia(86%) saturate(1200%) hue-rotate(342deg)
    brightness(104%) contrast(102%);
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .ps-mainmenu--mobile .menu__link,
  .ps-mainmenu--mobile .menu__toggle-child,
  .ps-mainmenu--mobile .js-back-button,
  .ps-mainmenu--mobile .btn-close {
    transition: none;
  }
}

#header.header {
  background: var(--tvc-ink);
  color: #fff;
}

.tvc-announcement {
  background: var(--tvc-yellow);
  color: var(--tvc-ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tvc-announcement__inner {
  display: grid;
  grid-template-columns: 1fr 1.6fr 1fr;
  align-items: center;
  width: min(100% - 32px, 1320px);
  min-height: 32px;
  margin: 0 auto;
}

.tvc-announcement__inner span:nth-child(2) {
  text-align: center;
}

.tvc-announcement__inner span:last-child {
  text-align: right;
}

#header .header-top,
#header .header-bottom {
  background: var(--tvc-ink);
  border-color: rgba(255, 255, 255, 0.12);
}

#header .header-top {
  min-height: 35px;
  height: 35px;
  font-size: 13px;
}

#header .header-top > .container-md,
#header .header-top > .container-md > .row,
#header .header-top__left,
#header .header-top__right {
  height: 35px;
  min-height: 35px;
}

#header .header-top__left,
#header .header-top__right {
  align-items: center;
}

#header .header-top__left .ps-contactinfo {
  display: none;
}

#header .header-top__right {
  position: relative;
}

.tvc-phone {
  color: #d6d6d2 !important;
  text-decoration: none;
}

.tvc-service-message {
  position: absolute;
  /* La columna derecha ocupa 2/3 de la fila. El 25% de esa columna coincide
   * con el centro real de la cabecera completa. */
  left: 25%;
  top: 50%;
  color: var(--tvc-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

#header .header-top a,
#header .header-bottom a,
#header .header-block__action-btn,
#header .menu-toggle {
  color: #fff;
}

#header .header-top a:hover,
#header .header-bottom a:hover,
#header .header-block__action-btn:hover,
#header .menu-toggle:hover {
  color: var(--tvc-yellow);
}

#header .navbar-brand {
  display: flex !important;
  align-items: center;
  width: 190px;
  height: 96px;
}

#header .navbar-brand .logo {
  width: 198px !important;
  max-width: 198px !important;
  height: 82px !important;
  max-height: 82px !important;
  object-fit: contain;
}

#header .ps-searchbar__form {
  background: var(--tvc-paper);
  border: 1px solid #454640;
  border-radius: 0;
}

#header .ps-searchbar__magnifier {
  color: var(--tvc-ink);
}

#header .ps-searchbar__input {
  color: var(--tvc-ink);
  width: clamp(360px, 48vw, 900px);
  height: 50px;
  border: 0;
  background: transparent;
}

#header .header-bottom__row {
  min-height: 95px;
}

#header .header-block__action-btn {
  min-width: 64px;
  min-height: 50px;
  border: 1px solid #41423d;
  justify-content: center;
}

#header .header-block__title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#header .header-block__badge {
  background: var(--tvc-yellow);
  color: var(--tvc-ink);
}

#header .ps-mainmenu__desktop {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

#header .ps-mainmenu__desktop a {
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* En escritorio, la navegación ocupa una segunda fila completa. De este modo
 * el buscador conserva el ancho de staging sin obligar al menú a apilarse. */
@media (min-width: 1200px) {
  #header .header-top__right > #_desktop_ps_customersignin,
  #header .header-top__right > #_desktop_ps_shoppingcart {
    display: none;
  }

  #header .header-bottom__row {
    flex-wrap: wrap;
  }

  #header .header-bottom__logo {
    flex: 0 0 214px;
  }

  #header #_desktop_ps_searchbar {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    margin-left: 24px !important;
    transform: none;
  }

  #header .tvc-commerce-actions {
    display: flex;
    flex: 0 0 240px;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    width: 240px;
    max-width: 240px;
    min-height: 95px;
    margin-left: 16px;
    padding-right: 0;
    padding-left: 0;
    box-sizing: border-box;
  }

  #header .tvc-commerce-actions #_desktop_ps_customersignin {
    display: block;
    width: 120px;
  }

  #header .tvc-commerce-actions #_desktop_ps_shoppingcart {
    display: block;
    width: 112px;
  }

  #header .tvc-commerce-actions .header-block__action-btn {
    width: 100%;
    min-width: 0;
    padding: 8px 10px !important;
    gap: 5px;
    white-space: nowrap;
    box-sizing: border-box;
  }

  #header .tvc-commerce-actions .header-block__icon {
    flex: 0 0 auto;
  }

  #header .tvc-commerce-actions .header-block__title {
    min-width: 0;
    font-size: 9px;
    line-height: 1.15;
  }

  #header .tvc-commerce-actions .header-block__badge {
    position: static;
    flex: 0 0 20px;
    width: 20px;
    min-width: 20px;
    height: 20px;
    min-height: 20px;
    padding: 0 3px;
    font-size: 12px;
    line-height: 20px;
    margin-right: 6px;
    margin-left: auto;
  }

  #header .ps-mainmenu--desktop {
    flex: 0 0 100%;
    order: 20;
    width: 100%;
  }

  #header .ps-mainmenu__desktop {
    width: 100%;
  }

  #header .ps-mainmenu__tree {
    justify-content: center;
    gap: 32px;
    height: 55px;
    min-height: 55px;
  }

  /* La cabecera funciona como navegación directa. Las subcategorías se
   * presentan y filtran dentro de cada página de categoría. */
  #header .ps-mainmenu__tree-item {
    position: static;
  }

  #header .ps-mainmenu__tree-item-wrapper > .ps-mainmenu__tree-dropdown-toggle {
    display: none !important;
  }

  #header .ps-mainmenu__tree-item > .submenu {
    display: none !important;
  }

  #header .ps-mainmenu__tree-item {
    height: 55px;
    min-height: 55px;
  }

  #header .ps-mainmenu__tree-link {
    padding: 14px 0;
    white-space: nowrap;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .tvc-service-message {
    display: none;
  }

  #header .header-top__right {
    justify-content: flex-end;
  }
}

@media (max-width: 767.98px) {
  .tvc-announcement__inner {
    display: flex;
    justify-content: center;
    min-height: 30px;
  }

  .tvc-announcement__inner span:not(:first-child),
  .tvc-phone,
  .tvc-service-message {
    display: none;
  }

  #header .navbar-brand {
    width: 92px;
    height: 56px;
  }

  #header .navbar-brand .logo {
    width: 92px !important;
    max-width: 92px !important;
    height: auto !important;
    max-height: 50px !important;
    object-fit: contain;
  }
}

/* Paleta funcional TVC: sustituye el azul heredado de Hummingbird. */
:root {
  --bs-primary: #ffd21c;
  --bs-primary-rgb: 255, 210, 28;
  --bs-link-color: #765e00;
  --bs-link-color-rgb: 118, 94, 0;
  --bs-link-hover-color: #171a18;
}
body .btn-primary {
  border-color: #ffd21c !important;
  background: #ffd21c !important;
  background-color: #ffd21c !important;
  color: #111312 !important;
  box-shadow: none;
}

body .btn-primary:hover,
body .btn-primary:focus-visible,
body .btn-primary:active {
  border-color: #e5b900 !important;
  background: #e5b900 !important;
  background-color: #e5b900 !important;
  color: #090a09 !important;
  box-shadow: 0 7px 16px rgba(90, 70, 0, .18);
}

body .btn-outline-primary {
  border-color: #252927;
  background: transparent;
  color: #171a18;
}

body .btn-outline-primary:hover,
body .btn-outline-primary:focus-visible,
body .btn-outline-primary:active {
  border-color: #252927;
  background: #252927;
  color: #fff;
  box-shadow: 0 7px 16px rgba(20, 24, 21, .16);
}

body .breadcrumb-link,
body .breadcrumb-link span,
body .product-manufacturer a,
body .product__manufacturer a {
  border-color: transparent !important;
  color: #765e00 !important;
}

body .ps-mainmenu__tree-link[aria-current="page"] {
  border-color: #ffd21c !important;
  color: #ffd21c !important;
}

body .accordion-button:not(.collapsed) {
  color: #765e00 !important;
}

body .btn-primary:disabled,
body .btn-primary.disabled,
body fieldset:disabled .btn-primary {
  border-color: #aeb3af !important;
  background: #aeb3af !important;
  background-color: #aeb3af !important;
  color: #fff !important;
  box-shadow: none !important;
  opacity: 1;
}

body .btn-link {
  color: #5b5f5c;
}

body .btn-link:hover,
body .btn-link:focus-visible {
  color: #9a7900;
}

body .badge.new,
body .product-flag.new,
html body .product-miniature .product-flags .badge.new {
  --bs-primary-rgb: 255, 210, 28;
  border-color: #ffd21c !important;
  background: #ffd21c !important;
  background-color: #ffd21c !important;
  color: #111312 !important;
  -webkit-text-fill-color: #111312 !important;
}

body .badge.out_of_stock,
body .product-flag.out_of_stock,
html body .product-miniature .product-flags .badge.out_of_stock {
  --bs-primary-rgb: 59, 63, 60;
  border-color: #3b3f3c !important;
  background: #3b3f3c !important;
  background-color: #3b3f3c !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body .badge.on-sale,
body .badge.discount,
body .product-flag.on-sale,
body .product-flag.discount,
html body .product-miniature .product-flags .badge.on-sale,
html body .product-miniature .product-flags .badge.discount {
  border-color: #c99f00 !important;
  background: #c99f00 !important;
  background-color: #c99f00 !important;
  color: #111312 !important;
}

html body#category #js-product-list .products .product-miniature .product-flags li.badge.new {
  border-color: #ffd21c !important;
  background: #ffd21c !important;
  background-color: #ffd21c !important;
  color: #111312 !important;
}

html body#category #js-product-list .products .product-miniature .product-flags li.badge.out_of_stock {
  border-color: #3b3f3c !important;
  background: #3b3f3c !important;
  background-color: #3b3f3c !important;
  color: #fff !important;
}

/* Bootstrap/Hummingbird usa capas: las declaraciones importantes de la
 * primera capa prevalecen sobre las capas de componentes y utilidades. */
@layer vendors {
  body .product-miniature .product-flags .badge.new {
    border-color: #ffd21c !important;
    background: #ffd21c !important;
    background-color: #ffd21c !important;
    color: #111312 !important;
  }

  body .product-miniature .product-flags .badge.out_of_stock {
    border-color: #3b3f3c !important;
    background: #3b3f3c !important;
    background-color: #3b3f3c !important;
    color: #fff !important;
  }

  body .product-miniature .product-flags .badge.discount,
  body .product-miniature .product-flags .badge.on-sale {
    border-color: #c99f00 !important;
    background: #c99f00 !important;
    background-color: #c99f00 !important;
    color: #111312 !important;
  }
}

body .product-miniature__title {
  border-color: transparent;
  color: #171a18;
}

body .product-miniature__title:hover,
body .product-miniature__title:focus-visible {
  color: #927300;
  text-decoration-color: #ffd21c;
}

body .product-miniature__image-link:focus-visible,
body .product-miniature__title:focus-visible,
body .product-miniature__details:focus-visible,
body .btn-primary:focus-visible,
body .btn-outline-primary:focus-visible {
  outline-color: #ffd21c;
  box-shadow: 0 0 0 3px rgba(255, 210, 28, .28);
}

/* Navegación visual compartida de subcategorías.
 * Conserva el marcado y los enlaces nativos de Hummingbird; sólo sustituye
 * la tarjeta horizontal provisional por la composición editorial de TVC. */
/* Cabecera editorial compartida de categoría, fiel al patrón Classic. */
#category .tvc-category-hero {
  position: relative;
  min-height: 231px;
  box-sizing: border-box;
  overflow: hidden;
  margin: 0 0 24px;
  padding: 24px 32px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 6px;
  background:
    radial-gradient(circle at 86% 24%, rgba(255, 210, 28, .11) 0%, rgba(255, 210, 28, .035) 24%, transparent 47%),
    radial-gradient(ellipse at 18% 46%, rgba(129, 151, 136, .17) 0%, rgba(83, 103, 90, .07) 34%, transparent 58%),
    linear-gradient(116deg, #252a27 0%, #1a1e1b 48%, #111412 100%);
  color: #d9dcd5;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .05),
    0 10px 26px rgba(20, 24, 21, .16);
}

#category .tvc-category-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(105deg, rgba(255, 255, 255, .025), transparent 35%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .012) 0 1px, transparent 1px 7px);
  opacity: .65;
}

#category .tvc-category-back {
  display: inline-flex;
  position: relative;
  z-index: 1;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px;
  color: #ffd32c;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .45px;
  text-decoration: none;
  text-transform: uppercase;
}

#category .tvc-category-back:hover,
#category .tvc-category-back:focus-visible {
  color: #fff;
}

#category .tvc-category-hero > .page-title-section {
  position: relative;
  z-index: 1;
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(44px, 4.1vw, 66px);
  font-weight: 800;
  line-height: .95;
  letter-spacing: -.02em;
  text-transform: uppercase;
}

#category .tvc-category-description {
  position: relative;
  z-index: 1;
  width: min(720px, 70%);
  color: #d9dcd5;
  font-size: 14px;
  line-height: 1.65;
}

#category .tvc-category-description > :last-child {
  margin-bottom: 0;
}

/* La descripción ya se representa dentro del hero editorial. */
#category .category__header > .category__description {
  display: none !important;
}

@media (max-width: 767.98px) {
  #category .tvc-category-hero {
    min-height: 190px;
    padding: 22px 20px;
  }

  #category .tvc-category-hero > .page-title-section {
    font-size: clamp(36px, 11vw, 48px);
    overflow-wrap: anywhere;
  }

  #category .tvc-category-description {
    width: 100%;
    padding-right: 20px;
  }

  #category .tvc-category-hero::after {
    right: 0;
  }
}

#category .category__header .subcategory {
  position: relative;
  margin: 0 0 32px;
  padding: 48px 20px 20px;
  border-radius: 6px;
  background: var(--tvc-paper, #efefe8);
}

#category .category__header .subcategory::before {
  content: "SUBCATEGORÍAS";
  position: absolute;
  top: 18px;
  left: 20px;
  color: #090c0a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 1.6px;
}

#category .category__header .subcategory__list--with-images {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

#category .category__header .subcategory__list:not(.subcategory__list--with-images) {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

/* En escritorio el bloque editorial de subcategorías recupera el ancho de
 * Classic sobre las dos columnas. Los filtros y el listado conservan debajo
 * la estructura nativa de Hummingbird. */
@media (min-width: 1200px) {
  #category .category__header .subcategory {
    width: calc(100% + 350px);
    margin-left: -350px;
  }

  #category .category__header .subcategory__list--with-images {
    grid-template-columns: repeat(4, 293px);
    justify-content: center;
  }

  #category .category__header .subcategory__list:not(.subcategory__list--with-images) {
    grid-template-columns: repeat(4, 293px);
    justify-content: center;
  }

  #category .category__header .subcategory__list:not(.subcategory__list--with-images):has(> :nth-child(2):last-child) {
    grid-template-columns: repeat(2, 293px);
  }
}

#category .category__header .subcategory__link--with-image {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1px;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 6px;
  background: linear-gradient(118deg, #191b1a 0%, #121413 48%, #0d0f0e 100%);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .16);
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}

#category .category__header .subcategory__link--with-image:hover,
#category .category__header .subcategory__link--with-image:focus-visible {
  color: #fff;
  border-color: rgba(255, 210, 28, .55);
  box-shadow: 0 12px 24px rgba(0, 0, 0, .22);
  transform: translateY(-4px);
}

/* Variante nativa sin miniatura: se crea la superficie visual como pseudo-
 * elemento y se conserva intacto el enlace de Hummingbird. */
#category .category__header .subcategory__link:not(.subcategory__link--with-image) {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1px;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 6px;
  background: linear-gradient(118deg, #191b1a 0%, #121413 48%, #0d0f0e 100%);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .16);
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}

#category .category__header .subcategory__link:not(.subcategory__link--with-image)::before {
  content: "";
  display: block;
  width: 100%;
  height: 120px;
  flex: 0 0 120px;
  box-sizing: border-box;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  background-color: transparent;
  background-image:
    var(--tvc-subcategory-icon, none),
    linear-gradient(118deg, #191b1a 0%, #121413 48%, #0d0f0e 100%);
  background-position: center, center;
  background-repeat: no-repeat;
  background-size: 74px 74px, cover;
  transition: background-size .35s ease, border-color .2s ease, filter .25s ease;
}

#category .category__header .subcategory__link:not(.subcategory__link--with-image):hover,
#category .category__header .subcategory__link:not(.subcategory__link--with-image):focus-visible {
  color: #fff;
  border-color: rgba(255, 210, 28, .55);
  box-shadow: 0 12px 24px rgba(0, 0, 0, .22);
  transform: translateY(-4px);
}

#category .category__header .subcategory__link:not(.subcategory__link--with-image):hover::before,
#category .category__header .subcategory__link:not(.subcategory__link--with-image):focus-visible::before {
  border-color: #ffd21c;
  background-size: 80px 80px, cover;
  filter: brightness(1.1) contrast(1.04) saturate(1.06);
}

#category .category__header .subcategory__link[title="SALES DE NICOTINA" i]::before {
  --tvc-subcategory-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmQzMmMiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNDcgMzhoMjZ2MTBsNyA5djMzYTggOCAwIDAgMS04IDhINDhhOCA4IDAgMCAxLTgtOFY1N2w3LTl6TTQ3IDQ4aDI2TTMzIDIzbDggOE04NyAyM2wtOCA4TTYwIDE1djEyTTYwIDYyYy02IDgtOCAxMS04IDE1YTggOCAwIDAgMCAxNiAwYzAtNC0yLTctOC0xNXoiLz48L3N2Zz4K");
}

#category .category__header .subcategory__link[title="LONGFILLS" i]::before {
  --tvc-subcategory-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmQzMmMiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNDYgMjRoMjh2MTVsNyA5djQzYTkgOSAwIDAgMS05IDlINDhhOSA5IDAgMCAxLTktOVY0OGw3LTl6TTQ2IDM5aDI4TTQ0IDc0aDMyTTUyIDg0aDE2Ii8+PC9zdmc+Cg==");
}

#category .category__header .subcategory__link[title="TABACOS" i]::before {
  --tvc-subcategory-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmQzMmMiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNOTEgMjVDNjEgMjUgMzcgNDEgMjggNzBjMTggNiAzNiAyIDQ5LTExIDExLTExIDE1LTI0IDE0LTM0ek0zMCA4OGMxMy0yMyAyOS0zOCA1MC01MU00NSA3MGM4IDEgMTYgMCAyNC00TTU1IDU0YzAtNyAxLTEzIDQtMTkiLz48L3N2Zz4K");
}

#category .category__header .subcategory__link[title="DULCES Y POSTRES" i]::before {
  --tvc-subcategory-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmQzMmMiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMzMgNTNoNTRsLTcgNDNINDB6TTM5IDUzYy0xLTE0IDgtMjUgMjEtMjVzMjIgMTEgMjEgMjVNNDggMzJjMi04IDgtMTMgMTYtMTNNNDcgNjl2MTNNNjAgNjZ2MThNNzMgNjl2MTMiLz48L3N2Zz4K");
}

#category .category__header .subcategory__link[title="FRUTALES" i]::before {
  --tvc-subcategory-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmQzMmMiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNjAgMzFjOC0xMiAxOC0xNCAyOC0xMS0zIDExLTExIDE4LTI0IDE4TTU5IDM3Yy0xNyAwLTMxIDEzLTMxIDMxczE0IDMxIDMxIDMxIDMxLTEzIDMxLTMxLTE0LTMxLTMxLTMxek00NCA1N2MtNCA0LTYgOS02IDE1TTYxIDM3YzAtOC0zLTE0LTktMTgiLz48L3N2Zz4K");
}

#category .category__header .subcategory__link[title="CON FRESQUITO" i]::before {
  --tvc-subcategory-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmQzMmMiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNjAgMTh2ODRNMjQgMzlsNzIgNDJNMjQgODFsNzItNDJNNjAgMThsLTggMTBNNjAgMThsOCAxME02MCAxMDJsLTgtMTBNNjAgMTAybDgtMTBNMjQgMzlsMTMgMU0yNCAzOWw1IDEyTTk2IDgxbC0xMy0xTTk2IDgxbC01LTEyTTI0IDgxbDEzLTFNMjQgODFsNS0xMk05NiAzOWwtMTMgMU05NiAzOWwtNSAxMiIvPjwvc3ZnPgo=");
}

/* La imagen nativa de portada de categoria duplica la cabecera editorial TVC.
 * Se conserva asociada en PrestaShop, pero no se presenta en el frontal. */
body#category .category__header > .category__cover {
  display: none !important;
}

/* Firma carbon limpio: sin aro ni halo; el amarillo queda en flechas y hover. */
#category .category__header .subcategory__link::after {
  content: none;
}

#category .category__header .subcategory__link--with-image picture {
  display: block;
  position: relative;
  width: 100%;
  height: 120px;
  flex: 0 0 120px;
  box-sizing: border-box;
  overflow: hidden;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  background: linear-gradient(118deg, #191b1a 0%, #121413 48%, #0d0f0e 100%);
  transition: border-color .2s ease;
}

/* Alquimia: se conservan las asociaciones de imagen de categoria como datos,
 * pero la presentacion usa pictogramas vectoriales amarillos homogeneos. */
body#category.category-id-6 .subcategory__link--with-image picture {
  display: grid;
  place-items: center;
}

body#category.category-id-6 .subcategory__thumbnail {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

body#category.category-id-6 .subcategory__link--with-image picture::before {
  content: "";
  position: relative;
  z-index: 3;
  display: block;
  width: 76px;
  height: 76px;
  background-image: var(--tvc-alquimia-icon);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform .35s ease, filter .25s ease;
}

body#category.category-id-6 .subcategory__link[title="AROMAS" i] {
  --tvc-alquimia-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmQzMmMiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNDcgMjBoMjZ2MTJINDd6TTUwIDMyaDIwdjEybDggOXYzOWE4IDggMCAwIDEtOCA4SDUwYTggOCAwIDAgMS04LThWNTNsOC05ek00MiA1OGgzNk02MCA2NmMtNiA4LTkgMTMtOSAxOGE5IDkgMCAwIDAgMTggMGMwLTUtMy0xMC05LTE4eiIvPjwvc3ZnPg==");
}

body#category.category-id-6 .subcategory__link[title="BASES" i] {
  --tvc-alquimia-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmQzMmMiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNDQgMjBoMzJ2MTNINDR6TTQyIDMzaDM2bDEwIDE1djQ0YTggOCAwIDAgMS04IDhINDBhOCA4IDAgMCAxLTgtOFY0OHpNMzIgNThoNTZNNDcgNzFoMjZNNDcgODRoMTgiLz48L3N2Zz4=");
}

body#category.category-id-6 .subcategory__link[title="NICOKIT" i] {
  --tvc-alquimia-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmQzMmMiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNDYgMjBoMjh2MTNINDZ6TTQ5IDMzaDIybDkgMTR2NDVhOCA4IDAgMCAxLTggOEg0OGE4IDggMCAwIDEtOC04VjQ3ek00MCA1N2g0ME02MCA2OHYyMU01MCA3OC41aDIwIi8+PC9zdmc+");
}

body#category.category-id-6 .subcategory__link--with-image:hover picture::before,
body#category.category-id-6 .subcategory__link--with-image:focus-visible picture::before {
  filter: brightness(1.13) drop-shadow(0 0 9px rgba(255, 211, 44, .22));
  transform: scale(1.08);
}

#category .category__header .subcategory__link--with-image:hover picture,
#category .category__header .subcategory__link--with-image:focus-visible picture {
  border-color: #ffd21c;
}

#category .category__header .subcategory__thumbnail {
  display: block;
  width: 100%;
  height: 120px;
  object-fit: cover;
  border: 0;
  background: #111312;
  transition: filter .25s ease, transform .35s ease;
}

#category .category__header .subcategory__link--with-image:hover .subcategory__thumbnail,
#category .category__header .subcategory__link--with-image:focus-visible .subcategory__thumbnail {
  filter: brightness(1.12) contrast(1.04) saturate(1.08);
  transform: scale(1.035);
}

/* Las cuatro tarjetas Longfill reutilizan los JPG panorámicos 900×520 exactos
 * de staging. La miniatura nativa permanece asociada como dato de categoría. */
body#category.category-id-8 .subcategory__link--with-image picture {
  display: block;
  width: 100%;
  height: 120px;
  margin: 0;
  padding: 0;
  border: 1px solid #8a8f8a;
  background-position: center;
  background-size: cover;
  transition: background-size .35s ease, border-color .2s ease, filter .25s ease;
}

body#category.category-id-8 .subcategory__link--with-image:hover picture,
body#category.category-id-8 .subcategory__link--with-image:focus-visible picture {
  background-size: 104% auto;
  filter: brightness(1.1) contrast(1.04) saturate(1.06);
}

body#category.category-id-8 .subcategory__link--with-image {
  position: relative;
}

body#category.category-id-8 .subcategory__thumbnail {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

body#category.category-id-8 .subcategory__list--with-images > a:nth-child(1) picture {
  background-image: url("../img/lf-format-v2-15.jpg");
}
body#category.category-id-8 .subcategory__list--with-images > a:nth-child(2) picture {
  background-image: url("../img/lf-format-v2-30.jpg");
}
body#category.category-id-8 .subcategory__list--with-images > a:nth-child(3) picture {
  background-image: url("../img/lf-format-v2-60.jpg");
}
body#category.category-id-8 .subcategory__list--with-images > a:nth-child(4) picture {
  background-image: url("../img/lf-format-v2-120.jpg");
}

#category .category__header .subcategory__name {
  position: relative;
  z-index: 4;
  display: flex;
  width: 100%;
  height: 60px;
  min-height: 60px;
  box-sizing: border-box;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  border-top: 0;
  background: #101211;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color .2s ease, color .2s ease;
}

#category .category__header .subcategory__link--with-image:hover .subcategory__name,
#category .category__header .subcategory__link--with-image:focus-visible .subcategory__name,
#category .category__header .subcategory__link:not(.subcategory__link--with-image):hover .subcategory__name,
#category .category__header .subcategory__link:not(.subcategory__link--with-image):focus-visible .subcategory__name {
  background: #171918;
}

#category .category__header .subcategory__name::after {
  content: "→";
  flex: 0 0 auto;
  margin-left: 16px;
  color: #ffd21c;
  font-size: 22px;
  font-weight: 500;
}

@media (max-width: 1199.98px) {
  #category .category__header .subcategory__list--with-images,
  #category .category__header .subcategory__list:not(.subcategory__list--with-images) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  #category .category__header .subcategory__link::after { content: none; }
}

@media (max-width: 575.98px) {
  #category .category__header .subcategory {
    padding: 46px 12px 12px;
  }

  #category .category__header .subcategory::before {
    left: 12px;
  }

  #category .category__header .subcategory__list--with-images,
  #category .category__header .subcategory__list:not(.subcategory__list--with-images) {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  #category .category__header .subcategory__name {
    height: 60px;
    min-height: 60px;
    padding: 0 20px;
  }
}

/* Con el aviso persistente activo, la banda superior recupera su función
   breve: comunica las fechas sin duplicar todos los detalles. */
.tvc-announcement__inner--closure {
  grid-template-columns: 1fr;
  min-height: 34px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.tvc-announcement__inner--closure .tvc-announcement__title {
  display: block;
  text-align: center;
}

.tvc-announcement__inner--closure .tvc-announcement__message,
.tvc-announcement__inner--closure .tvc-announcement__links {
  display: none;
}

@media (max-width: 575.98px) {
  .tvc-announcement__inner--closure {
    width: min(100% - 20px, 1320px);
    min-height: 0;
    padding: 8px 0;
  }

  .tvc-announcement__inner--closure .tvc-announcement__title {
    text-align: left;
  }
}

/* Aviso persistente de cierre: visible sin interrumpir la navegación. */
.tvc-closure-sticky {
  position: fixed;
  z-index: 1035;
  right: 18px;
  bottom: 18px;
  left: 18px;
  display: flex;
  align-items: center;
  width: min(760px, calc(100% - 36px));
  margin: 0 auto;
  border: 1px solid rgba(20, 23, 21, .18);
  border-left: 5px solid var(--tvc-yellow);
  border-radius: 6px;
  background: #f7f3e9;
  color: var(--tvc-ink);
  box-shadow: 0 12px 34px rgba(10, 12, 11, .24);
}

.tvc-closure-sticky__body {
  display: grid;
  grid-template-columns: auto minmax(240px, 1fr) auto;
  align-items: center;
  gap: 8px 18px;
  min-width: 0;
  padding: 13px 12px 13px 16px;
}

.tvc-closure-sticky__title {
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .02em;
}

.tvc-closure-sticky__message {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.tvc-closure-sticky__links {
  display: flex;
  gap: 8px;
}

.tvc-closure-sticky__links a {
  padding: 6px 8px;
  border: 1px solid currentColor;
  color: inherit;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

.tvc-closure-sticky__links a:hover,
.tvc-closure-sticky__links a:focus-visible {
  background: var(--tvc-ink);
  color: var(--tvc-yellow);
}

.tvc-closure-sticky__toggle {
  align-self: stretch;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 14px;
  border: 0;
  border-left: 1px solid rgba(20, 23, 21, .16);
  background: transparent;
  color: inherit;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.tvc-closure-sticky.is-minimized {
  right: 12px;
  bottom: 12px;
  left: auto;
  width: auto;
  margin: 0;
}

.tvc-closure-sticky.is-minimized .tvc-closure-sticky__body {
  display: block;
  padding: 11px 12px;
}

.tvc-closure-sticky.is-minimized .tvc-closure-sticky__message,
.tvc-closure-sticky.is-minimized .tvc-closure-sticky__links {
  display: none;
}

.tvc-closure-sticky.is-minimized .tvc-closure-sticky__toggle {
  padding: 0 11px;
}

@media (max-width: 767.98px) {
  .tvc-closure-sticky {
    right: 10px;
    bottom: 10px;
    left: 10px;
    align-items: stretch;
    width: calc(100% - 20px);
  }

  .tvc-closure-sticky__body {
    grid-template-columns: 1fr auto;
    gap: 6px 10px;
    padding: 12px;
  }

  .tvc-closure-sticky__title {
    grid-column: 1 / -1;
  }

  .tvc-closure-sticky__message {
    grid-column: 1 / -1;
  }

  .tvc-closure-sticky__links {
    grid-column: 1;
  }

  .tvc-closure-sticky__toggle {
    padding: 0 10px;
  }

  .tvc-closure-sticky__toggle-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .tvc-closure-sticky.is-minimized {
    right: 8px;
    bottom: 8px;
    left: 8px;
    width: calc(100% - 16px);
  }
}

/* Catálogo TVC: la cabecera ya contiene la navegación principal y la jerarquía
 * visual sustituye a las facetas. Se libera la columna lateral y se recupera
 * la densidad de producto de Classic. */
#category #left-column {
  display: none !important;
}

#category #center-column {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}

#category #js-product-list .products {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
}

#category #js-product-list .products > .product-miniature {
  width: 100%;
  max-width: none;
  margin: 0;
}

@media (min-width: 1200px) {
  #category .category__header .subcategory {
    width: 100%;
    margin-left: 0;
  }
}

@media (min-width: 576px) and (max-width: 1199.98px) {
  #category #js-product-list .products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  #category #js-product-list .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

/* Hummingbird convierte la cabecera completa en sticky de forma nativa.
 * En escritorio TVC mantiene el comportamiento de Classic: logo, buscador y
 * navegacion permanecen en el flujo normal y desaparecen al hacer scroll. */
@media (min-width: 992px) {
  #header.header.js-sticky-header {
    position: static !important;
    inset-block-start: auto !important;
    top: auto !important;
  }
}

/* Sistema de tarjetas aprobado: composiciones centradas, cuerpo negro y
 * banda gris. Las imagenes y pictogramas propios de cada categoria se
 * conservan; solo se unifican geometria, superficie y tipografia. */
#category .category__header .subcategory__link--with-image,
#category .category__header .subcategory__link:not(.subcategory__link--with-image) {
  background: #121413;
}

#category .category__header .subcategory__link:not(.subcategory__link--with-image)::before {
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  background-color: #121413;
  background-image:
    var(--tvc-subcategory-icon, none),
    linear-gradient(#121413, #121413);
  background-position: center, center;
  background-repeat: no-repeat;
  background-size: 74px 74px, cover;
}

#category .category__header .subcategory__name {
  height: 64px;
  min-height: 64px;
  padding: 0 20px;
  border-top: 1px solid rgba(255, 255, 255, .14);
  background: #292b2a;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

#category .category__header .subcategory__link--with-image:hover .subcategory__name,
#category .category__header .subcategory__link--with-image:focus-visible .subcategory__name,
#category .category__header .subcategory__link:not(.subcategory__link--with-image):hover .subcategory__name,
#category .category__header .subcategory__link:not(.subcategory__link--with-image):focus-visible .subcategory__name {
  background: #303231;
}

#category .category__header .subcategory__link--with-image:hover,
#category .category__header .subcategory__link--with-image:focus-visible,
#category .category__header .subcategory__link:not(.subcategory__link--with-image):hover,
#category .category__header .subcategory__link:not(.subcategory__link--with-image):focus-visible {
  border-color: rgba(255, 210, 28, .55) !important;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .22) !important;
  transform: translateY(-4px) !important;
}

@media (min-width: 1200px) {
  #category .category__header .subcategory__list--with-images,
  #category .category__header .subcategory__list:not(.subcategory__list--with-images) {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
  }

  #category .category__header .subcategory__link--with-image,
  #category .category__header .subcategory__link:not(.subcategory__link--with-image) {
    width: calc((100% - 72px) / 4);
    max-width: 260px;
    height: 234px;
    flex: 0 0 calc((100% - 72px) / 4);
  }

  #category .category__header .subcategory__link--with-image picture,
  #category .category__header .subcategory__link:not(.subcategory__link--with-image)::before {
    height: 170px;
    flex-basis: 170px;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  #category .category__header .subcategory__list--with-images,
  #category .category__header .subcategory__list:not(.subcategory__list--with-images) {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
  }

  #category .category__header .subcategory__link--with-image,
  #category .category__header .subcategory__link:not(.subcategory__link--with-image) {
    width: calc((100% - 48px) / 4);
    height: 220px;
    flex: 0 0 calc((100% - 48px) / 4);
  }

  #category .category__header .subcategory__link--with-image picture,
  #category .category__header .subcategory__link:not(.subcategory__link--with-image)::before {
    height: 156px;
    flex-basis: 156px;
  }
}

@media (max-width: 767.98px) {
  #category .category__header .subcategory__list--with-images,
  #category .category__header .subcategory__list:not(.subcategory__list--with-images) {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }

  #category .category__header .subcategory__link--with-image,
  #category .category__header .subcategory__link:not(.subcategory__link--with-image) {
    width: calc((100% - 10px) / 2);
    flex: 0 0 calc((100% - 10px) / 2);
  }

  #category .category__header .subcategory__name {
    height: 46px;
    min-height: 46px;
    padding: 0 12px;
    font-size: 12px;
  }
}
/* Fondo editorial base para todas las páginas de la tienda. Los componentes
   con fondo propio (portada, ficha de producto, tarjetas y formularios) lo
   conservan por su propia regla. */
body {
  background-color: #efefe8;
}

/* Cierre temporal del 7 al 20 de septiembre de 2026. Se mantiene al final
   para prevalecer sobre la reducción móvil de la franja informativa normal. */
.tvc-announcement--closure {
  text-transform: none;
}

.tvc-announcement__inner--closure {
  grid-template-columns: auto minmax(280px, 1fr) auto;
  gap: 22px;
  min-height: 48px;
}

.tvc-announcement__title {
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.tvc-announcement__message {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
  text-align: center;
}

.tvc-announcement__links {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.tvc-announcement__links a {
  padding: 5px 8px;
  border: 1px solid currentColor;
  color: inherit;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

.tvc-announcement__links a:hover,
.tvc-announcement__links a:focus-visible {
  background: var(--tvc-ink);
  color: var(--tvc-yellow);
}

@media (max-width: 991.98px) {
  .tvc-announcement__inner--closure {
    display: grid;
    grid-template-columns: 1fr auto;
    justify-content: initial;
    gap: 6px 12px;
    min-height: 64px;
    padding: 8px 0;
  }

  .tvc-announcement__inner--closure .tvc-announcement__title,
  .tvc-announcement__inner--closure .tvc-announcement__message,
  .tvc-announcement__inner--closure .tvc-announcement__links {
    display: flex;
  }

  .tvc-announcement__inner--closure .tvc-announcement__title {
    display: block;
  }

  .tvc-announcement__message {
    grid-column: 1 / -1;
    grid-row: 2;
    text-align: left;
  }

  .tvc-announcement__links {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (max-width: 575.98px) {
  .tvc-announcement__inner--closure {
    width: min(100% - 20px, 1320px);
    grid-template-columns: 1fr;
    gap: 6px;
    min-height: 0;
    padding: 9px 0 10px;
  }

  .tvc-announcement__inner--closure .tvc-announcement__title,
  .tvc-announcement__inner--closure .tvc-announcement__message,
  .tvc-announcement__inner--closure .tvc-announcement__links {
    grid-column: 1;
    grid-row: auto;
    justify-content: flex-start;
    text-align: left;
  }
}

/* Estado final de la banda cuando el aviso sticky está presente. */
.tvc-announcement__inner--closure {
  grid-template-columns: 1fr;
  min-height: 34px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.tvc-announcement__inner--closure .tvc-announcement__title {
  display: block;
  text-align: center;
}

.tvc-announcement__inner--closure .tvc-announcement__message,
.tvc-announcement__inner--closure .tvc-announcement__links {
  display: none;
}

@media (max-width: 575.98px) {
  .tvc-announcement__inner--closure {
    width: min(100% - 20px, 1320px);
    min-height: 0;
    padding: 8px 0;
  }

  .tvc-announcement__inner--closure .tvc-announcement__title {
    text-align: left;
  }
}
