/* Identidad de Tecnopromos para el diseño editorial solicitado. */
body[data-campaign="3"] {
  --retail-bg: #f2fbfa;
  --retail-ink: #153f45;
  --retail-accent: #007c83;
  --retail-band: #007a80;
  --retail-head: #ddf8f6;
  --retail-button: #007c83;
  --retail-button-ink: #fff;
  --retail-offer: linear-gradient(145deg, #006a72, #003c47);
  --acento: var(--retail-accent);
  --fondo: var(--retail-bg);
  --texto: var(--retail-ink);
  background: var(--retail-bg);
  color: var(--retail-ink);
}

body[data-campaign="3"] .tienda-banda { background: #007a80 !important; }
body[data-campaign="3"] .tienda-header {
  background: linear-gradient(110deg, #e9fbfa, #b9efeb) !important;
  color: #153f45 !important;
  border-bottom: 0;
}
body[data-campaign="3"] .tienda-header a.logo-link img.logo {
  width: 175px !important;
  max-width: 175px !important;
  height: auto !important;
  max-height: 74px !important;
  object-fit: contain !important;
}
body[data-campaign="3"] .th-menu { background: #f6fffe; }
body[data-campaign="3"] .th-menu a { color: #174e53 !important; }
body[data-campaign="3"] .th-menu a:hover { color: #007c83 !important; }
body[data-campaign="3"] .nua-header-search { background: #fff; }
body[data-campaign="3"] .nua-header-search button { color: #007c83; }
body[data-campaign="3"] .th-carrito { background: #007c83; }
body[data-campaign="3"] .retail-cinematic { background: #d9f7f4; }
body[data-campaign="3"] .retail-cinematic:after {
  background: linear-gradient(90deg, #e4fcf8f7 0%, #e4fcf8df 25%, #e4fcf84a 55%, transparent 75%);
}
body[data-campaign="3"] .retail-cinematic h1 { color: #124d53 !important; }
body[data-campaign="3"] .retail-cinematic-note,
body[data-campaign="3"] .retail-count-strip p { color: #285e62; }
body[data-campaign="3"] .retail-cinematic-cta { box-shadow: 0 8px 22px #006d7526; }
body[data-campaign="3"] .retail-cinematic-cta:focus-visible { outline-color: #004c52; }
body[data-campaign="3"] .retail-count-strip { border-bottom-color: #b8dfdc; }
body[data-campaign="3"] .retail-count-strip strong { font-size: clamp(19px, 2.4vw, 32px); }
body[data-campaign="3"] .vy-colecciones-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body[data-campaign="3"] .vy-coleccion-card { border-color: #cce8e5; background: #f8fffe; }
body[data-campaign="3"] .vy-coleccion-imagen { background: linear-gradient(135deg, #d2f5f0, #f8fffe); }
body[data-campaign="3"] .vy-coleccion-info strong { color: #175259; }
body[data-campaign="3"] .prod-celda { border-color: #cce8e5 !important; }
body[data-campaign="3"] .prod-pub .precio { color: #007c83; }
body[data-campaign="3"] .cart-head { background: #006a72; }
body[data-campaign="3"] .cart-finalizar { background: #007c83; }
body[data-campaign="3"] .retail-scene-banner { background: #dff8f5; }
body[data-campaign="3"] .retail-scene-banner:not(.is-cinema):after {
  background: linear-gradient(90deg, #e8fcf9f5 0%, #e8fcf9cf 30%, transparent 70%);
}
body[data-campaign="3"] .retail-scene-banner:not(.is-cinema) h2 { color: #124d53; }
body[data-campaign="3"] .retail-scene-banner.is-cinema .retail-label { color: #a8f1e9; }
body[data-campaign="3"] .retail-life-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body[data-campaign="3"] .retail-life-card { background: #175259; min-width: 0; }
body[data-campaign="3"] .retail-life-card:after { background: linear-gradient(transparent, #003d45dc); }
body[data-campaign="3"] .tienda-pie { background: #006a72 !important; }
body[data-campaign="3"] .retail-footer-story:after { background: linear-gradient(90deg, #006a72f7, #006a7280); }
body[data-campaign="3"] .tienda-pie .retail-footer-story a { color: #006a72 !important; }
body[data-campaign="3"] .checkout-nav { background: #006a72; color: #fff; }
body[data-campaign="3"] .checkout-nav a { color: #fff; }
@media (max-width: 767px) {
  body[data-campaign="3"] .retail-life-grid { grid-template-columns: minmax(0, 1fr); }
  body[data-campaign="3"] .retail-life-card { width: 100%; aspect-ratio: auto; min-height: 330px; }
  body[data-campaign="3"] .tienda-header a.logo-link img.logo { width: 142px !important; max-width: 142px !important; }
  body[data-campaign="3"] .retail-cinematic:after {
    background: linear-gradient(90deg, #e4fcf8f7 0%, #e4fcf8e8 24%, #e4fcf86b 58%, transparent 80%);
  }
  body[data-campaign="3"] .retail-count-strip { background: #ddf8f4; }
  body[data-campaign="3"] .retail-count-strip strong { font-size: clamp(15px, 4vw, 22px); letter-spacing: -.03em; }
  body[data-campaign="3"] .retail-scene-banner:not(.is-cinema):after {
    background: linear-gradient(90deg, #e8fcf9f5, #e8fcf9aa 40%, transparent 90%);
  }
}

/* Las portadas originales son piezas completas: no recortar ni superponer textos. */
body[data-campaign="3"] .tp-cover-hero { display: block; height: auto; min-height: 0; border-radius: 24px; overflow: hidden; background: #dff8f5; }
body[data-campaign="3"] .tp-cover-hero:after { display: none; }
body[data-campaign="3"] .tp-cover-link { display: block; line-height: 0; }
body[data-campaign="3"] .tp-cover-link img { display: block; position: static; width: 100%; height: auto; object-fit: contain; }
body[data-campaign="3"] .tp-cover-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 25px 32px 29px; }
body[data-campaign="3"] .tp-cover-intro .retail-label { color: #007c83; margin-bottom: 8px; }
body[data-campaign="3"] .tp-cover-intro h1 { font-size: clamp(26px, 3vw, 38px); line-height: 1.08; margin: 0 0 7px !important; }
body[data-campaign="3"] .tp-cover-intro h1 em { display: inline; }
body[data-campaign="3"] .tp-cover-intro p:not(.retail-label) { color: #285e62; margin: 0; font-size: 14px; }
body[data-campaign="3"] .tp-cover-intro .retail-cinematic-cta { flex: 0 0 auto; }
body[data-campaign="3"] .retail-scene-banner,
body[data-campaign="3"] .retail-scene-banner.is-cinema { display: flex; flex-direction: column; align-items: stretch; min-height: 0; background: #dff8f5; color: #174e53; }
body[data-campaign="3"] .retail-scene-banner:after,
body[data-campaign="3"] .retail-scene-banner.is-cinema:after { display: none; }
body[data-campaign="3"] .retail-scene-banner>img { position: static !important; display: block; width: 100%; height: auto; object-fit: contain; z-index: auto; }
body[data-campaign="3"] .retail-scene-banner>div,
body[data-campaign="3"] .retail-scene-banner.is-cinema>div { max-width: none; padding: 28px 34px 32px; }
body[data-campaign="3"] .retail-scene-banner h2,
body[data-campaign="3"] .retail-scene-banner.is-cinema h2 { color: #124d53; font-size: clamp(26px, 3vw, 38px); }
body[data-campaign="3"] .retail-scene-banner .retail-label,
body[data-campaign="3"] .retail-scene-banner.is-cinema .retail-label { color: #007c83; }
body[data-campaign="3"] .retail-life-card { min-height: 220px; max-height: none; aspect-ratio: auto; background: linear-gradient(145deg, #008e91, #00545f); }
body[data-campaign="3"] .retail-life-card>img { display: none; }
body[data-campaign="3"] .retail-life-card:before { content: '✦'; position: absolute; top: 24px; right: 28px; color: #aaf5e9; font-size: 35px; opacity: .8; }
body[data-campaign="3"] .retail-life-card:nth-child(2) { background: linear-gradient(145deg, #006d7a, #003d4c); }
body[data-campaign="3"] .retail-life-card:nth-child(3) { background: linear-gradient(145deg, #16a7a3, #00636a); }
body[data-campaign="3"] .retail-life-card:after { background: linear-gradient(transparent, #003d4540); }
@media (max-width: 767px) {
  body[data-campaign="3"] .tp-cover-hero { margin: 0 0 4px; border-radius: 0 0 22px 22px; }
  body[data-campaign="3"] .tp-cover-intro { display: block; padding: 20px; }
  body[data-campaign="3"] .tp-cover-intro h1 { font-size: 27px; }
  body[data-campaign="3"] .tp-cover-intro .retail-cinematic-cta { margin-top: 16px; }
  body[data-campaign="3"] .retail-scene-banner>div,
  body[data-campaign="3"] .retail-scene-banner.is-cinema>div { padding: 22px; }
  body[data-campaign="3"] .retail-life-card { min-height: 170px; }
}

/* Tecnopromos: portada, colecciones y catálogo de ofertas. */
body[data-campaign="3"] .tp-cover-hero {
  overflow: hidden;
  max-width: 1260px;
  margin: 12px auto 0;
  border: 1px solid #b9e4df;
  background: #e1f7f4;
}
body[data-campaign="3"] .tp-deals {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 15px clamp(18px, 3vw, 42px);
  background: #064650;
  color: #fff;
  text-decoration: none;
}
body[data-campaign="3"] .tp-deals-count {
  color: #9cf4e6;
  font-size: clamp(37px, 4vw, 58px);
  line-height: 1;
  letter-spacing: -.055em;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}
body[data-campaign="3"] .tp-deals-label { font-weight: 650; font-size: clamp(16px, 2vw, 23px); line-height: 1.2; }
body[data-campaign="3"] .tp-deals-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-inline-start: auto;
  min-height: 44px;
  padding-inline: 20px;
  border-radius: 999px;
  background: #a7f3e5;
  color: #073c41;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}
body[data-campaign="3"] .tp-deals:hover .tp-deals-action { background: #d7fff6; }
body[data-campaign="3"] :is(.tp-deals, .tp-cover-link):focus-visible { outline: 3px solid #003d43; outline-offset: -4px; box-shadow: inset 0 0 0 7px #fff; }
body[data-campaign="3"] .sec.sec-lista-colecciones { max-width: 1090px; margin: 0 auto; padding: 36px 24px 28px; }
body[data-campaign="3"] .sec-lista-colecciones .titulo-seccion {
  color: #123f45 !important;
  text-align: left !important;
  text-transform: none;
  font-size: clamp(24px, 3vw, 36px) !important;
  line-height: 1.16;
  letter-spacing: -.045em;
  margin: 0 0 18px !important;
}
body[data-campaign="3"] .sec-lista-colecciones .vy-colecciones-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: clamp(8px, 1.5vw, 18px);
  margin: 0;
  padding: 0;
  overflow: visible;
}
body[data-campaign="3"] .vy-colecciones-grid .vy-coleccion-card {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  width: auto;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #c2e3df;
  border-radius: 18px;
  background: #fff;
  color: #123f45;
  text-decoration: none;
  box-shadow: 0 3px 12px #164f4b0a;
}
body[data-campaign="3"] .vy-coleccion-card .vy-coleccion-imagen {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  aspect-ratio: 1.6;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: #a2e0d8;
  overflow: hidden;
}
body[data-campaign="3"] .vy-coleccion-imagen img { display: block; width: 100%; height: 100%; object-fit: cover; }
body[data-campaign="3"] .vy-coleccion-card .vy-coleccion-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  gap: 8px;
  padding: 14px 16px;
  text-align: left;
}
body[data-campaign="3"] .vy-coleccion-info strong { color: #163f45; font-size: 16px; line-height: 1.25; font-weight: 700; }
body[data-campaign="3"] .vy-coleccion-info::after { content: '→'; font-size: 18px; color: #067c77; }
body[data-campaign="3"] .vy-coleccion-card:focus-visible,
body[data-campaign="3"] .tp-catalog a:focus-visible { outline: 3px solid #006b70; outline-offset: 2px; }
body[data-campaign="3"] .tp-catalog { max-width: 1260px; margin: 0 auto; padding: 22px 24px 0; }
body[data-campaign="3"] .tp-catalog h1 { margin: 4px 0 16px; color: #123f45; font-size: clamp(27px, 4vw, 42px); line-height: 1.1; letter-spacing: -.04em; }
body[data-campaign="3"] .tp-catalog-home { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; color: #285e62; font-size: 13px; }
body[data-campaign="3"] .tp-catalog-filters { display: flex; flex-wrap: wrap; gap: 8px; }
body[data-campaign="3"] .tp-catalog-filters a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; gap: 8px; background: #fff; color: #15565a; border: 1px solid #a4cbc7; border-radius: 24px; font-size: 14px; font-weight: 650; text-decoration: none; }
body[data-campaign="3"] .tp-catalog-filters a[aria-current] { color: #fff; background: #07595c; border-color: #07595c; }
body[data-campaign="3"] .tp-catalog-filters a span { font-variant-numeric: tabular-nums; }
body[data-campaign="3"] .tp-catalog + .sec-envoltura .titulo-seccion { display: none; }
body[data-campaign="3"] .tp-catalog + .sec-envoltura .sec { padding-top: 18px; margin-top: 0; }
@media (min-width: 768px) {
  body[data-campaign="3"] .vy-colecciones-grid .vy-coleccion-card { flex-direction: row; }
  body[data-campaign="3"] .vy-coleccion-card .vy-coleccion-imagen { flex: 0 0 42%; width: 42%; aspect-ratio: 1; }
}
@media (max-width: 767px) {
  body[data-campaign="3"] .tienda-banda { min-height: 32px; padding: 5px 12px !important; font-size: 10px !important; line-height: 1.35; letter-spacing: .02em; }
  body[data-campaign="3"] .tienda-header .interior {
    display: grid !important;
    grid-template-columns: clamp(75px, 22vw, 106px) minmax(0,1fr) 44px;
    grid-template-areas: 'marca buscar acciones' 'menu menu menu';
    align-items: center;
    gap: 4px 8px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 4px 12px 0 !important;
  }
  body[data-campaign="3"] .tienda-header .logo-link,
  body[data-campaign="3"] .tienda-header .th-marca { grid-area: marca; justify-self: start; min-width: 0; }
  body[data-campaign="3"] .tienda-header a.logo-link img.logo { width: 100% !important; max-width: 106px !important; height: 49px !important; }
  body[data-campaign="3"] .tienda-header .nua-header-search { grid-area: buscar; width: 100%; height: 44px; min-width: 0; margin: 0; padding: 0 0 0 12px; box-sizing: border-box; border: 1px solid #9ecfca !important; }
  body[data-campaign="3"] .nua-header-search input { width: 100%; min-width: 0; font-size: 16px; }
  body[data-campaign="3"] .nua-header-search input::placeholder { color: #496d70; font-size: 13px; }
  body[data-campaign="3"] .tienda-header .th-acciones { grid-area: acciones; margin: 0; justify-self: end; }
  body[data-campaign="3"] .th-carrito { width: 44px; height: 44px; min-width: 44px; min-height: 44px; border-radius: 13px; }
  body[data-campaign="3"] .tienda-header .th-menu { grid-area: menu; width: 100%; min-width: 0; gap: 15px; padding: 0 3px !important; margin: 0; background: transparent; border-radius: 0; scrollbar-width: none; overscroll-behavior-inline: contain; }
  body[data-campaign="3"] .th-menu::-webkit-scrollbar { display: none; }
  body[data-campaign="3"] .th-menu a { min-height: 44px; padding: 0 2px; }
  body[data-campaign="3"] .tp-cover-hero { border: 0; border-radius: 0; margin: 0; }
  body[data-campaign="3"] .tp-deals { gap: 9px; min-height: 64px; padding: 9px 14px; }
  body[data-campaign="3"] .tp-deals-label { font-size: clamp(14px, 4vw, 18px); }
  body[data-campaign="3"] .tp-deals-action { gap: 5px; padding-inline: 13px; font-size: 12px; }
  body[data-campaign="3"] .sec.sec-lista-colecciones { padding: 23px 14px 13px; margin: 0 auto; }
  body[data-campaign="3"] .sec-lista-colecciones .titulo-seccion { font-size: clamp(21px, 5.6vw, 28px) !important; margin-bottom: 12px !important; }
  body[data-campaign="3"] .vy-colecciones-grid .vy-coleccion-card { border-radius: 14px; }
  body[data-campaign="3"] .vy-coleccion-card .vy-coleccion-imagen { aspect-ratio: 1; }
  body[data-campaign="3"] .vy-coleccion-card .vy-coleccion-info { justify-content: center; padding: 8px 3px; min-height: 45px; text-align: center; box-sizing: border-box; }
  body[data-campaign="3"] .vy-coleccion-card .vy-coleccion-info strong { font-size: clamp(11px, 3.1vw, 14px); overflow-wrap: normal; }
  body[data-campaign="3"] .vy-coleccion-info::after { display: none; }
  body[data-campaign="3"] .sec:has(.grid-tienda) { margin-block: 0 16px; padding: 22px 14px 8px; }
  body[data-campaign="3"] .sec:has(.grid-tienda) .titulo-seccion { color: #123f45 !important; text-align: left !important; font-size: clamp(21px, 5.6vw, 28px) !important; line-height: 1.15; margin: 0 0 14px !important; }
  body[data-campaign="3"] .prod-celda .prod-rapido { min-height: 44px !important; }
  body[data-campaign="3"] .tp-catalog { padding: 6px 14px 0; }
  body[data-campaign="3"]:has(.tp-cover-hero) .vc-pop { display: none !important; }
}
.tp-ticker-shell { display: flex; align-items: stretch; width: 100%; background: #006b70; color: white; }
body[data-campaign="3"] .tp-ticker-shell .tienda-banda {
  flex: 1; min-width: 0; min-height: 44px; display: flex; align-items: center; overflow: hidden;
  padding: 0 !important; margin: 0; color: #fff !important; background: transparent !important;
  line-height: 1.35; font-size: 12px !important; font-weight: 650; text-transform: none; letter-spacing: .012em;
}
.tp-ticker-track { display: flex; width: max-content; flex: none; animation: tp-announcement 24s linear infinite; }
.tp-ticker-group { display: flex; flex: none; min-width: calc(100vw - 44px); align-items: center; justify-content: space-around; }
.tp-ticker-group > span { display: inline-flex; align-items: center; padding-inline-start: 18px; white-space: nowrap; }
.tp-ticker-group > span::after { content: '•'; margin-inline-start: 22px; color: #9ce4d9; }
.tp-ticker-control { flex: 0 0 44px; width: 44px; min-height: 44px; padding: 0; font: 700 16px/1 system-ui; color: #fff; background: #00565d; border: 0; border-inline-start: 1px solid #ffffff40; cursor: pointer; }
.tp-ticker-control:focus-visible { outline: 2px solid white; outline-offset: -4px; }
.tp-ticker-paused .tp-ticker-track, .tp-ticker-shell .tienda-banda:focus-visible .tp-ticker-track { animation-play-state: paused; }
@keyframes tp-announcement { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .tp-ticker-track { animation: none; width: 100%; }
  .tp-ticker-group { width: 100%; min-width: 0; flex-wrap: wrap; justify-content: center; gap: 2px 16px; padding: 4px 8px; box-sizing: border-box; }
  .tp-ticker-group > span { padding: 0; white-space: normal; }
  .tp-ticker-group > span::after, .tp-ticker-group + .tp-ticker-group, .tp-ticker-control { display: none; }
}
