/* ==========================================================================
   TEMA DE CAMPAÑA (StockFlow -> Tienda web -> Temas)
   Solo se carga cuando hay un tema al aire o en la vista previa. Lo manejan
   las variables --uwt-* y los atributos data-uwt-* que pone api/tema.lib.php
   en el <body>, más storage/js/tema.js (partículas, linterna, ojos, sustos).
   El pago (#checkoutModal) se ve siempre como siempre.
   Capas: .uwt-fondo va detrás del contenido (z-index -1); .uwt-frente y las
   partículas "delante" van sobre el contenido pero bajo el menú (900), el
   carrito (2000) y el pago (999): nunca reciben clics.
   ========================================================================== */

/* ── 0. El pago, siempre como siempre ─────────────────────────────────────── */
body.uwt #checkoutModal {
  --uw-acento-rgb: 46,198,204; --uw-green: #2ec6cc; --uw-green-dim: #1ba8af; --uw-green-glow: rgba(46,198,204,.18);
  --primary-rgb: 46,198,204; --theme-bg: #0b0f14; --theme-surface: #111827; --theme-card: #1f2937;
  --theme-text: #f8fafc; --theme-border: rgba(103,232,249,.12); --uw-muted: #94a3b8; --text-muted: #94a3b8;
  --uwt-acento-txt: #2ec6cc; --uwt-btn-t: #000;
}
body.uwt[data-theme="ultra"] #checkoutModal { --theme-bg: #081018; --theme-surface: #0f172a; --theme-card: #172033; --theme-text: #dffcff; --uw-muted: #8dbec4; --text-muted: #8dbec4; }
body.uwt[data-theme="light"] #checkoutModal { --theme-bg: #f8fafc; --theme-surface: #fff; --theme-card: #fff; --theme-text: #1e293b; --theme-border: rgba(46,198,204,.10); --uw-muted: #64748b; --text-muted: #64748b; }
body.uwt #checkoutModal :is(h1, h2, h3, h4, .h3) { font-family: var(--uw-font-display); }
/* Con el pago abierto no se mueve nada detrás. */
body.uwt:has(#checkoutModal.open) :is(.uwt-frente, .uwt-part, .uwt-ojos, .uwt-arana, .uwt-sombra, .uwt-sonido, .uwt-escaneo),
body.uwt.uwt-pagando :is(.uwt-frente, .uwt-part, .uwt-ojos, .uwt-arana, .uwt-sombra, .uwt-sonido, .uwt-escaneo) { display: none !important; }

/* El cliente no elige modo si el tema lo fija. */
body.uwt[data-uwt-forzado] :is(#btnTheme, #themePanel) { display: none !important; }

/* ── 1. Colores de la tienda ─────────────────────────────────────────────── */
body.uwt nav { background: var(--uwt-nav-bg); border-bottom-color: rgba(var(--uw-acento-rgb), .2); }
body.uwt .hero, body.uwt .search-section { background: transparent; }
body.uwt :is(h1.hero-title em, h2.section-title span, .hero-eyebrow, .hero-prod-precio, .cart-item-price, .cart-total-val, .stat-num) { color: var(--uwt-acento-txt); }
body.uwt .hero-eyebrow::before { background: var(--uwt-acento-txt); }
body.uwt .product-card .product-price { color: var(--uwt-acento-txt) !important; }
body.uwt :is(.btn-primary, .btn-checkout) { color: var(--uwt-btn-t); }
body.uwt .btn-add:hover { color: var(--uwt-btn-t); }
body.uwt .product-cat-badge { color: var(--uwt-acento-txt); border-color: rgba(var(--uw-acento-rgb), .45); }
body.uwt ::selection { background: rgba(var(--uw-acento-rgb), .35); }
body.uwt { scrollbar-color: rgba(var(--uw-acento-rgb), .6) transparent; }

/* ── 2. Letra de los títulos (el texto normal y los precios no cambian) ──── */
body.uwt[data-uwt-fuente] :is(h1.hero-title, h2.section-title, .uwt-hero-titulo, .uw-cp-hero h1, .catalogo-titulo, .ficha-seccion-titulo, .footer-brand) {
  font-family: var(--uwt-fuente) !important; font-weight: var(--uwt-fuente-peso) !important; letter-spacing: .01em;
}
body.uwt[data-uwt-fuente][data-uwt-pagina="deseos"] main h1 { font-family: var(--uwt-fuente) !important; font-weight: var(--uwt-fuente-peso) !important; }

/* ── 3. Capas de fondo: detrás de todo ────────────────────────────────────── */
.uwt-fondo, .uwt-frente { display: none; }
body.uwt .uwt-fondo { display: block; position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
body.uwt .uwt-fondo > div { position: absolute; inset: 0; display: none; }
/* Resplandor arriba con los dos acentos */
body.uwt[data-uwt-brillo] .uwt-brillo {
  display: block; opacity: var(--uwt-brillo);
  background:
    radial-gradient(ellipse 70% 55% at 15% -10%, rgba(var(--uw-acento-rgb), .55), transparent 70%),
    radial-gradient(ellipse 60% 50% at 90% -5%, rgba(var(--uwt-a2-rgb), .5), transparent 70%);
}
/* Foto de fondo del tema (WebP) */
body.uwt[data-uwt-imagen] .uwt-imagen {
  display: block; background: var(--uwt-imagen) center top / cover no-repeat; opacity: var(--uwt-imagen-op);
  -webkit-mask-image: linear-gradient(#000 35%, transparent 95%); mask-image: linear-gradient(#000 35%, transparent 95%);
}
/* Trama: el dibujo pintado con el color del patrón (máscara) */
body.uwt[data-uwt-patron] .uwt-patron { display: block; }
body.uwt[data-uwt-zona="arriba"] .uwt-patron { -webkit-mask-image: linear-gradient(#000 20%, transparent 70%); mask-image: linear-gradient(#000 20%, transparent 70%); }
.uwt-trama {
  position: absolute; inset: 0; background: var(--uwt-patron-c);
  -webkit-mask-image: var(--uwt-trama); mask-image: var(--uwt-trama);
  -webkit-mask-size: 150px auto; mask-size: 150px auto; -webkit-mask-repeat: repeat; mask-repeat: repeat;
}
body.uwt[data-uwt-patron="carbono"] .uwt-trama { -webkit-mask-size: 14px auto; mask-size: 14px auto; }
body.uwt[data-uwt-patron="cuadricula"] .uwt-trama, body.uwt[data-uwt-patron="puntos"] .uwt-trama { -webkit-mask-size: 48px auto; mask-size: 48px auto; }
body.uwt[data-uwt-patron="circuito"] .uwt-trama { -webkit-mask-size: 192px auto; mask-size: 192px auto; }
@media (max-width: 820px) { body.uwt[data-uwt-patron="circuito"] .uwt-trama { -webkit-mask-size: 140px auto; mask-size: 140px auto; } }
body.uwt[data-uwt-patron="hexagonos"] .uwt-trama { -webkit-mask-size: 44px auto; mask-size: 44px auto; }
body.uwt[data-uwt-patron="rayas"] .uwt-trama { -webkit-mask-size: 36px auto; mask-size: 36px auto; }
/* Telarañas: dos grandes en las esquinas de arriba, no repetidas */
body.uwt[data-uwt-patron="telaranas"] .uwt-trama {
  -webkit-mask-image: var(--uwt-trama), var(--uwt-trama); mask-image: var(--uwt-trama), var(--uwt-trama);
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-size: min(520px, 70vw) auto, min(420px, 60vw) auto; mask-size: min(520px, 70vw) auto, min(420px, 60vw) auto;
  -webkit-mask-position: calc(min(520px, 70vw) / -2) calc(min(520px, 70vw) / -2), calc(100% + min(420px, 60vw) / 2) calc(min(420px, 60vw) / -2.4);
  mask-position: calc(min(520px, 70vw) / -2) calc(min(520px, 70vw) / -2), calc(100% + min(420px, 60vw) / 2) calc(min(420px, 60vw) / -2.4);
}
body.uwt[data-uwt-patron="telaranas"] .uwt-patron { -webkit-mask-image: none; mask-image: none; }

/* Foco: una luz del color del tema que sigue el cursor, detrás del contenido.
   tema.js la mueve con transform (sin repintar la página) y, si hay dibujo de
   fondo, enciende el dibujo solo alrededor de la luz (.uwt-foco-trama: un
   círculo que viaja con la luz y lleva adentro el mismo dibujo, quieto). */
body.uwt[data-uwt-foco] .uwt-foco {
  --fd: 820px;
  display: block; inset: auto; left: 0; top: 0; width: var(--fd); height: var(--fd);
  margin: calc(var(--fd) / -2) 0 0 calc(var(--fd) / -2);
  background: radial-gradient(circle closest-side,
    rgba(var(--uw-acento-rgb), calc(.2 * var(--uwt-intensidad))) 0,
    rgba(var(--uwt-a2-rgb), calc(.09 * var(--uwt-intensidad))) 45%,
    transparent 100%);
  transform: translate3d(50vw, 35vh, 0); will-change: transform;
}
body.uwt[data-uwt-foco][data-uwt-patron] .uwt-foco-trama {
  --fr: 440px;
  display: block; inset: auto; left: 0; top: 0; width: var(--fr); height: var(--fr);
  margin: calc(var(--fr) / -2) 0 0 calc(var(--fr) / -2); overflow: hidden;
  -webkit-mask-image: radial-gradient(circle closest-side, #000 0, rgba(0,0,0,.5) 50%, transparent 100%);
  mask-image: radial-gradient(circle closest-side, #000 0, rgba(0,0,0,.5) 50%, transparent 100%);
  transform: translate3d(50vw, 35vh, 0); will-change: transform;
}
.uwt-foco-trama .uwt-trama {
  inset: auto; left: 50%; top: 50%; width: 100vw; height: 100vh;
  background: rgba(var(--uw-acento-rgb), calc(.55 * var(--uwt-intensidad)));
  transform: translate3d(-50vw, -35vh, 0); will-change: transform;
}
body.uwt[data-theme="light"] :is(.uwt-foco, .uwt-foco-trama) { opacity: .6; }
/* En el teléfono la luz pasea sola por encima del texto: más chica y más suave. */
@media (max-width: 820px) {
  body.uwt[data-uwt-foco] .uwt-foco { --fd: 560px; }
  body.uwt[data-uwt-foco][data-uwt-patron] .uwt-foco-trama { --fr: 280px; opacity: .55; }
}

/* Escaneo: una línea de luz que baja despacio por detrás del contenido */
body.uwt[data-uwt-escaneo] .uwt-escaneo {
  display: block; inset: auto 0; top: 0; height: 38vh;
  background: linear-gradient(180deg, transparent 0,
    rgba(var(--uw-acento-rgb), calc(.04 * var(--uwt-intensidad))) 60%,
    rgba(var(--uw-acento-rgb), calc(.16 * var(--uwt-intensidad))) 96%,
    rgba(var(--uw-acento-rgb), calc(.55 * var(--uwt-intensidad))) 99.3%,
    transparent 100%);
  animation: uwtEscaneo 12s cubic-bezier(.45,.05,.55,.95) infinite; will-change: transform;
}
@keyframes uwtEscaneo { 0% { transform: translateY(-40vh); } 62%, 100% { transform: translateY(102vh); } }

/* ── 4. Capas de frente: sobre el contenido, sin clics ────────────────────── */
body.uwt .uwt-frente { display: block; position: fixed; inset: 0; z-index: 850; pointer-events: none; overflow: hidden; }
body.uwt .uwt-frente > div { position: absolute; inset: 0; display: none; }

/* Niebla que se mueve abajo (3 capas a distinta velocidad) */
body.uwt[data-uwt-niebla] .uwt-niebla { display: block; top: auto; height: 38vh; opacity: calc(.75 * var(--uwt-intensidad)); }
.uwt-niebla i {
  position: absolute; left: -50%; bottom: -4vh; width: 200%; height: 100%;
  background:
    radial-gradient(ellipse 22% 55% at 12% 70%, rgba(200,205,225,.16), transparent 70%),
    radial-gradient(ellipse 26% 60% at 38% 80%, rgba(190,195,215,.13), transparent 70%),
    radial-gradient(ellipse 20% 50% at 63% 75%, rgba(205,210,230,.15), transparent 70%),
    radial-gradient(ellipse 28% 62% at 88% 82%, rgba(185,190,210,.12), transparent 70%);
  filter: blur(6px); animation: uwtNiebla 38s linear infinite;
}
.uwt-niebla i:nth-child(2) { bottom: -10vh; opacity: .8; animation-duration: 55s; animation-direction: reverse; transform: scaleX(-1); }
.uwt-niebla i:nth-child(3) { bottom: -16vh; opacity: .6; animation-duration: 80s; }
body.uwt[data-theme="light"] .uwt-niebla i { filter: blur(6px) brightness(.55); }
@keyframes uwtNiebla { from { transform: translateX(0); } to { transform: translateX(25%); } }

/* Viñeta: bordes oscuros */
body.uwt[data-uwt-vineta] .uwt-vineta { display: block; background: radial-gradient(ellipse 85% 80% at 50% 45%, transparent 55%, rgba(0,0,0,calc(.55 * var(--uwt-intensidad))) 100%); }

/* Grano de película */
body.uwt[data-uwt-ruido] .uwt-ruido {
  display: block; inset: -50%; opacity: calc(.07 * var(--uwt-intensidad)); mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: uwtGrano 1s steps(6) infinite;
}
@keyframes uwtGrano {
  0% { transform: translate(0, 0); } 20% { transform: translate(-5%, 3%); } 40% { transform: translate(4%, -6%); }
  60% { transform: translate(-3%, 5%); } 80% { transform: translate(6%, 2%); } 100% { transform: translate(0, 0); }
}

/* Linterna: oscuridad con un círculo de luz que sigue el cursor (o el dedo) */
body.uwt[data-uwt-linterna="toda"] .uwt-linterna { display: block; }
.uwt-linterna, .uwt-linterna-local {
  --lx: 50%; --ly: 40%; --lr: 190px;
  background: radial-gradient(circle var(--lr) at var(--lx) var(--ly), transparent 0, transparent 35%, var(--uwt-linterna-fin, rgba(0,0,0,.7)) 100%);
  transition: opacity .6s;
}
.uwt-linterna-local { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
body.uwt[data-uwt-parpadeo] :is(.uwt-linterna, .uwt-linterna-local, .uwt-vineta) { animation: uwtParpadeo 17s infinite; }
/* Una luz que falla: 3 parpadeos lentos cada 17 s (menos de 3 destellos por segundo). */
@keyframes uwtParpadeo {
  0%, 88%, 100% { opacity: 1; } 89% { opacity: .55; } 90.5% { opacity: 1; } 92% { opacity: .35; } 93.5% { opacity: .95; } 95% { opacity: .6; } 96.5% { opacity: 1; }
}

/* ── 5. Partículas (canvas de tema.js) ────────────────────────────────────── */
.uwt-part { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 845; }
.uwt-part.detras { z-index: -1; }

/* ── 6. Neón y glitch ─────────────────────────────────────────────────────── */
body.uwt[data-uwt-neon] :is(.btn-primary, .btn-checkout, .btn-cart) {
  box-shadow: 0 0 0 1px rgba(var(--uw-acento-rgb), .6), 0 0 18px rgba(var(--uw-acento-rgb), .55), 0 0 42px rgba(var(--uw-acento-rgb), .25);
}
body.uwt[data-uwt-neon] .product-card .product-price, body.uwt[data-uwt-neon] :is(h1.hero-title em, .uwt-hero-titulo em) {
  text-shadow: 0 0 12px rgba(var(--uw-acento-rgb), .55), 0 0 28px rgba(var(--uw-acento-rgb), .25);
}
body.uwt[data-uwt-neon] .btn-add { box-shadow: 0 0 12px rgba(var(--uw-acento-rgb), .28); }

/* Glitch: tema.js pone data-uwt-glitch en los títulos; el corte dura 0,6 s cada ~7 s */
body.uwt[data-uwt-glitch] [data-uwt-texto] { position: relative; }
body.uwt[data-uwt-glitch] [data-uwt-texto]::before, body.uwt[data-uwt-glitch] [data-uwt-texto]::after {
  content: attr(data-uwt-texto); position: absolute; inset: 0; pointer-events: none; opacity: 0;
  text-align: inherit; white-space: inherit;
}
body.uwt[data-uwt-glitch] [data-uwt-texto]::before { color: var(--uw-green); animation: uwtGlitchA 7s infinite steps(1); }
body.uwt[data-uwt-glitch] [data-uwt-texto]::after { color: var(--uwt-a2); animation: uwtGlitchB 7s infinite steps(1); }
@keyframes uwtGlitchA {
  0%, 90%, 100% { opacity: 0; transform: none; clip-path: none; }
  91% { opacity: .85; transform: translate(-3px, 1px); clip-path: inset(10% 0 55% 0); }
  93% { opacity: .85; transform: translate(3px, -1px); clip-path: inset(62% 0 8% 0); }
  95% { opacity: .85; transform: translate(-2px, 0); clip-path: inset(35% 0 38% 0); }
  97% { opacity: 0; }
}
@keyframes uwtGlitchB {
  0%, 90%, 100% { opacity: 0; transform: none; clip-path: none; }
  92% { opacity: .8; transform: translate(3px, -2px); clip-path: inset(48% 0 22% 0); }
  94% { opacity: .8; transform: translate(-3px, 2px); clip-path: inset(5% 0 70% 0); }
  96% { opacity: .8; transform: translate(2px, 1px); clip-path: inset(72% 0 5% 0); }
  98% { opacity: 0; }
}

/* ── 7. Figuras de tema.js: ojos, araña y sombra ──────────────────────────── */
.uwt-ojos { position: fixed; z-index: 846; display: flex; gap: calc(var(--t, 16px) * .9); pointer-events: none; opacity: 0; transition: opacity 1.2s; }
.uwt-ojos.visibles { opacity: .95; }
.uwt-ojos i {
  width: var(--t, 16px); height: calc(var(--t, 16px) * .62); border-radius: 50%; position: relative; overflow: hidden;
  background: radial-gradient(ellipse at 50% 55%, #ffe9a8 0, var(--c, #ff6a00) 45%, rgba(0,0,0,.6) 100%);
  box-shadow: 0 0 calc(var(--t, 16px) * .9) var(--c, #ff6a00), 0 0 calc(var(--t, 16px) * 2.2) color-mix(in srgb, var(--c, #ff6a00) 45%, transparent);
  transition: transform .12s;
}
.uwt-ojos i::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 22%; height: 78%; border-radius: 50%; background: #120400;
  transform: translate(calc(-50% + var(--px, 0px)), calc(-50% + var(--py, 0px)));
}
.uwt-ojos.parpadea i { transform: scaleY(.06); }
.uwt-arana { position: fixed; top: 0; z-index: 847; width: 44px; pointer-events: none; transform: translateY(-120%); transition: transform 1.1s cubic-bezier(.3,1.35,.5,1); }
.uwt-arana.baja { transform: translateY(var(--baja, 34vh)); }
.uwt-arana.sube { transform: translateY(-120%); transition-duration: .8s; transition-timing-function: ease-in; }
.uwt-arana::before { content: ""; position: absolute; left: 50%; bottom: 60%; width: 1px; height: 100vh; background: rgba(230,230,240,.55); }
.uwt-arana svg { display: block; width: 100%; height: auto; animation: uwtArana 1.6s ease-in-out infinite; transform-origin: 50% 0; }
@keyframes uwtArana { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg); } }
.uwt-sombra { position: fixed; bottom: -2vh; left: -30vw; z-index: 846; height: 62vh; pointer-events: none; opacity: 0; filter: blur(2px); }
.uwt-sombra.cruza { animation: uwtSombra 4.2s cubic-bezier(.45,.05,.55,.95) forwards; }
.uwt-sombra svg { height: 100%; width: auto; display: block; }
@keyframes uwtSombra {
  0% { transform: translateX(0); opacity: 0; } 12% { opacity: .82; } 85% { opacity: .82; } 100% { transform: translateX(160vw); opacity: 0; }
}

/* ── 8. Tarjetas de productos ─────────────────────────────────────────────── */
body.uwt[data-uwt-tarjeta="vidrio"] :is(.product-card, .hero-prod, .feature-card) {
  background: var(--uwt-vidrio); -webkit-backdrop-filter: blur(10px) saturate(140%); backdrop-filter: blur(10px) saturate(140%);
  border-color: rgba(var(--uw-acento-rgb), .28);
}
body.uwt[data-uwt-tarjeta="neon"] :is(.product-card, .hero-prod) {
  border-color: rgba(var(--uw-acento-rgb), .7);
  box-shadow: 0 0 0 1px rgba(var(--uw-acento-rgb), .35), 0 0 22px rgba(var(--uw-acento-rgb), .22), inset 0 0 18px rgba(var(--uw-acento-rgb), .08);
}
body.uwt[data-uwt-tarjeta="solido"] .product-card { border-top: 3px solid var(--uw-green); }
body.uwt .product-card:hover { border-color: var(--uw-green); box-shadow: 0 20px 60px rgba(var(--uw-acento-rgb), .25); }

/* Adorno: <span class="uwt-adorno"> que pone catalogo.js en cada tarjeta */
body.uwt[data-uwt-adorno] .uwt-adorno { position: absolute; z-index: 12; pointer-events: none; display: block; }
body.uwt[data-uwt-adorno="telarana"] .uwt-adorno {
  top: 0; left: 0; width: 86px; height: 86px; background: rgba(235,235,245,.5);
  -webkit-mask: var(--uwt-adorno) 0 0 / 100% 100% no-repeat; mask: var(--uwt-adorno) 0 0 / 100% 100% no-repeat;
}
body.uwt[data-uwt-adorno="goteo"] .uwt-adorno {
  top: 0; left: 0; right: 0; height: 30px; background: var(--uw-oferta);
  -webkit-mask: var(--uwt-adorno) 0 0 / 100% 100% no-repeat; mask: var(--uwt-adorno) 0 0 / 100% 100% no-repeat;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.35));
}
body.uwt[data-uwt-adorno="nieve"] .uwt-adorno {
  top: 0; left: 0; right: 0; height: 18px; background: #fff;
  -webkit-mask: var(--uwt-adorno) 0 0 / 100% 100% no-repeat; mask: var(--uwt-adorno) 0 0 / 100% 100% no-repeat;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.18));
}
body.uwt[data-uwt-adorno="corazon"] .uwt-adorno {
  top: 10px; left: 10px; width: 22px; height: 22px; background: var(--uw-oferta);
  -webkit-mask: var(--uwt-adorno) 0 0 / 100% 100% no-repeat; mask: var(--uwt-adorno) 0 0 / 100% 100% no-repeat;
  animation: uwtLatido 1.6s ease-in-out infinite;
}
@keyframes uwtLatido { 0%, 100% { transform: scale(1); } 15% { transform: scale(1.18); } 30% { transform: scale(1); } 45% { transform: scale(1.12); } }
body.uwt[data-uwt-adorno="cinta"] .uwt-adorno {
  top: 16px; left: -34px; width: 120px; padding: 4px 0; transform: rotate(-45deg); text-align: center;
  background: linear-gradient(90deg, var(--uw-green), var(--uwt-a2)); color: var(--uwt-btn-t);
  font: 800 .72rem/1.2 var(--uw-font-display); letter-spacing: .08em; box-shadow: 0 3px 10px rgba(0,0,0,.3);
}
body.uwt[data-uwt-adorno="cinta"] .uwt-adorno::before { content: var(--uwt-cinta, "★"); }
body.uwt[data-uwt-adorno="brillo"] .uwt-adorno {
  inset: 0; background: linear-gradient(115deg, transparent 38%, rgba(255,255,255,.22) 50%, transparent 62%);
  background-size: 250% 100%; background-position: 150% 0; animation: uwtBrillo 5.5s ease-in-out infinite;
}
@keyframes uwtBrillo { 0%, 70% { background-position: 150% 0; } 100% { background-position: -60% 0; } }
/* Con adorno arriba, la etiqueta de descuento baja un poco para no taparse */
body.uwt:is([data-uwt-adorno="goteo"], [data-uwt-adorno="nieve"]) .product-card .badge-dcto { top: 26px !important; }

/* ── 9. Portada de la campaña (index.php) ─────────────────────────────────── */
.uwt-hero-campana { display: flex; flex-direction: column; gap: .9rem; margin-bottom: 1.4rem; }
.uwt-hero-eyebrow {
  align-self: flex-start; display: inline-flex; gap: .5rem; align-items: center; padding: .4rem 1rem; border-radius: 99px;
  background: rgba(var(--uw-acento-rgb), .12); border: 1px solid rgba(var(--uw-acento-rgb), .45); color: var(--uwt-acento-txt, var(--uw-green));
  font: 700 .8rem/1.2 var(--uw-font-display); letter-spacing: .08em; text-transform: uppercase;
}
.uwt-hero-titulo { margin: 0; font: 800 clamp(2.4rem, 5.4vw, 4.8rem)/1 var(--uw-font-display); letter-spacing: -.02em; color: var(--theme-text); }
.uwt-hero-titulo em { font-style: normal; color: var(--uwt-acento-txt, var(--uw-green)); }
.uwt-hero-titulo.largo { font-size: clamp(2.1rem, 4.4vw, 3.9rem); }
.uwt-hero-titulo.muy-largo { font-size: clamp(1.9rem, 3.6vw, 3.1rem); }
.uwt-hero-bajada { margin: 0; max-width: 540px; color: var(--uw-muted); font-size: 1.08rem; line-height: 1.6; }
.uwt-hero-ctas { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: .4rem; }
.uwt-hero-ctas a { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
/* El H1 de siempre se queda (Google), pero como una línea chica bajo la campaña */
body.uwt[data-uwt-portada="campana"] .hero-content > .hero-eyebrow,
body.uwt[data-uwt-portada="campana"] .hero-content > .hero-sub,
body.uwt[data-uwt-portada="campana"] .hero-content > .hero-ctas { display: none; }
body.uwt[data-uwt-portada="campana"] .hero-content > h1.hero-title {
  font: 600 .95rem/1.4 var(--uw-font-body) !important; letter-spacing: .02em; color: var(--uw-muted); margin: 0;
}
body.uwt[data-uwt-portada="campana"] .hero-content > h1.hero-title em { color: inherit; text-shadow: none; }
body.uwt[data-uwt-portada="campana"] .hero-content > h1.hero-title::before, body.uwt[data-uwt-portada="campana"] .hero-content > h1.hero-title::after { display: none; }
.hero-wrap.sin-vitrina .uwt-hero-campana { align-items: center; text-align: center; }
.hero-wrap.sin-vitrina .uwt-hero-eyebrow { align-self: center; }
.hero-wrap.sin-vitrina .uwt-hero-ctas { justify-content: center; }
@media (max-width: 900px) {
  .uwt-hero-titulo { font-size: clamp(2rem, 10vw, 3rem); }
  .uwt-hero-titulo.largo { font-size: clamp(1.8rem, 8.4vw, 2.6rem); }
  .uwt-hero-titulo.muy-largo { font-size: clamp(1.6rem, 7vw, 2.2rem); }
  .uwt-hero-bajada { font-size: .95rem; }
  .uwt-hero-ctas a { flex: 1 1 0; min-width: 0; padding: .8rem .75rem; white-space: nowrap; }
}

/* ── 10. Piezas: ticker, botones flotantes, banners y carrito ─────────────── */
body.uwt[data-uwt-ticker] .ticker { box-shadow: inset 0 -2px 0 rgba(var(--uw-acento-rgb), .55), 0 6px 22px rgba(var(--uw-acento-rgb), .18); }
body.uwt[data-uwt-ticker] .ticker-promo { background: linear-gradient(90deg, rgba(var(--uw-acento-rgb), .12), rgba(var(--uwt-a2-rgb), .12)); border-color: rgba(var(--uw-acento-rgb), .25); }
body.uwt[data-uwt-flotantes] #fk-root .fk-pill { box-shadow: 0 0 0 1px rgba(var(--uw-acento-rgb), .55), 0 8px 24px rgba(var(--uw-acento-rgb), .3); }
body.uwt[data-uwt-banners] :is(.uw-banner-card, .banner-renovador-card) { box-shadow: 0 0 0 1px rgba(var(--uw-acento-rgb), .35), 0 18px 50px rgba(var(--uw-acento-rgb), .18); }
body.uwt[data-uwt-carrito] .cart-drawer { border-left: 1px solid rgba(var(--uw-acento-rgb), .35); }
body.uwt[data-uwt-carrito] .cart-head { background: linear-gradient(90deg, rgba(var(--uw-acento-rgb), .14), transparent); }

/* ── 11. Botón de sonido (solo si el tema tiene sonido) ───────────────────── */
.uwt-sonido {
  position: fixed; left: 14px; bottom: 14px; z-index: 990; display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(var(--uw-acento-rgb), .45);
  background: rgba(0,0,0,.55); color: #fff; font: 600 12px/1 var(--uw-font-display); cursor: pointer;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.uwt-sonido[aria-pressed="true"] { background: var(--uw-green); color: var(--uwt-btn-t); }
body:has(.uwt-previa-chip) .uwt-sonido { bottom: 58px; }

/* ── 12. Fichas con estilo propio: manda la ficha (si así se eligió) ──────── */
body.uwt.fe[data-uwt-fichas="ficha"][data-fe-fondo] .uwt-fondo { display: none; }

/* ── 13. Menos movimiento, ahorro de datos e impresión ───────────────────── */
@media (prefers-reduced-motion: reduce) {
  .uwt-niebla i, .uwt-ruido, body.uwt [data-uwt-texto]::before, body.uwt [data-uwt-texto]::after,
  .uwt-linterna, .uwt-linterna-local, .uwt-vineta, .uwt-adorno, .uwt-arana svg { animation: none !important; }
  .uwt-part, .uwt-ojos, .uwt-arana, .uwt-sombra, .uwt-escaneo { display: none !important; }
}
@media print { .uwt-fondo, .uwt-frente, .uwt-part, .uwt-ojos, .uwt-arana, .uwt-sombra, .uwt-sonido { display: none !important; } }

/* ── 14. Dibujos: cada trama y cada adorno, en un SVG liviano ───────────── */
/* Los genera scratchpad/patrones.py (misma lista que uw_tema_opciones()). */
body.uwt[data-uwt-patron="telaranas"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 50L50 -5M50 50L88.9 11.1M50 50L105 50M50 50L88.9 88.9M50 50L50 105M50 50L11.1 88.9M50 50L-5 50M50 50L11.1 11.1M50 41Q52.6 43.7 56.4 43.6Q56.3 47.4 59 50Q56.3 52.6 56.4 56.4Q52.6 56.3 50 59Q47.4 56.3 43.6 56.4Q43.7 52.6 41 50Q43.7 47.4 43.6 43.6Q47.4 43.7 50 41M50 33Q54.9 38.1 62 38Q61.9 45.1 67 50Q61.9 54.9 62 62Q54.9 61.9 50 67Q45.1 61.9 38 62Q38.1 54.9 33 50Q38.1 45.1 38 38Q45.1 38.1 50 33M50 24Q57.5 31.8 68.4 31.6Q68.2 42.5 76 50Q68.2 57.5 68.4 68.4Q57.5 68.2 50 76Q42.5 68.2 31.6 68.4Q31.8 57.5 24 50Q31.8 42.5 31.6 31.6Q42.5 31.8 50 24M50 15Q60.1 25.5 74.7 25.3Q74.5 39.9 85 50Q74.5 60.1 74.7 74.7Q60.1 74.5 50 85Q39.9 74.5 25.3 74.7Q25.5 60.1 15 50Q25.5 39.9 25.3 25.3Q39.9 25.5 50 15M50 6Q62.8 19.2 81.1 18.9Q80.8 37.2 94 50Q80.8 62.8 81.1 81.1Q62.8 80.8 50 94Q37.2 80.8 18.9 81.1Q19.2 62.8 6 50Q19.2 37.2 18.9 18.9Q37.2 19.2 50 6' fill='none' stroke='%23000' stroke-width='.7'/%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="murcielagos"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M20 4C21 2.5 22 2.5 22.5 4C25 2 30 1 36 3C33 5 34 8 32 10C30 8.5 28 9 26.5 11C25 9.5 23 10 21.5 12C21 11 20.5 11 20 13C19.5 11 19 11 18.5 12C17 10 15 9.5 13.5 11C12 9 10 8.5 8 10C6 8 7 5 4 3C10 1 15 2 17.5 4C18 2.5 19 2.5 20 4ZM18.8 3.6L18.3 1.6L19.7 3.1ZM21.2 3.6L21.7 1.6L20.3 3.1Z' transform='translate(8 14) scale(1.2)'/%3E%3Cpath d='M20 4C21 2.5 22 2.5 22.5 4C25 2 30 1 36 3C33 5 34 8 32 10C30 8.5 28 9 26.5 11C25 9.5 23 10 21.5 12C21 11 20.5 11 20 13C19.5 11 19 11 18.5 12C17 10 15 9.5 13.5 11C12 9 10 8.5 8 10C6 8 7 5 4 3C10 1 15 2 17.5 4C18 2.5 19 2.5 20 4ZM18.8 3.6L18.3 1.6L19.7 3.1ZM21.2 3.6L21.7 1.6L20.3 3.1Z' transform='translate(58 50) rotate(-12) scale(.85)' opacity='.8'/%3E%3Cpath d='M20 4C21 2.5 22 2.5 22.5 4C25 2 30 1 36 3C33 5 34 8 32 10C30 8.5 28 9 26.5 11C25 9.5 23 10 21.5 12C21 11 20.5 11 20 13C19.5 11 19 11 18.5 12C17 10 15 9.5 13.5 11C12 9 10 8.5 8 10C6 8 7 5 4 3C10 1 15 2 17.5 4C18 2.5 19 2.5 20 4ZM18.8 3.6L18.3 1.6L19.7 3.1ZM21.2 3.6L21.7 1.6L20.3 3.1Z' transform='translate(20 76) rotate(10) scale(.6)' opacity='.6'/%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="calabazas"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg transform='translate(28 30) scale(1.3)' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cellipse cx='0' cy='2' rx='11' ry='8.5'/%3E%3Cellipse cx='0' cy='2' rx='5.5' ry='8.5'/%3E%3Cpath d='M0 -6.5C0 -9 1 -10.5 3 -11.5'/%3E%3C/g%3E%3Cg transform='translate(76 74) scale(0.9)' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cellipse cx='0' cy='2' rx='11' ry='8.5'/%3E%3Cellipse cx='0' cy='2' rx='5.5' ry='8.5'/%3E%3Cpath d='M0 -6.5C0 -9 1 -10.5 3 -11.5'/%3E%3C/g%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="copos"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M28 28L28 12M28 19.2L24.7 15.3M28 19.2L31.3 15.3M28 28L41.9 20M35.6 23.6L37.4 18.8M35.6 23.6L40.7 24.5M28 28L41.9 36M35.6 32.4L40.7 31.5M35.6 32.4L37.4 37.2M28 28L28 44M28 36.8L31.3 40.7M28 36.8L24.7 40.7M28 28L14.1 36M20.4 32.4L18.6 37.2M20.4 32.4L15.3 31.5M28 28L14.1 20M20.4 23.6L15.3 24.5M20.4 23.6L18.6 18.8' stroke='%23000' stroke-width='1.6' stroke-linecap='round' fill='none'/%3E%3Cpath d='M76 72L76 61M76 66L73.7 63.3M76 66L78.3 63.3M76 72L85.5 66.5M81.2 69L82.4 65.7M81.2 69L84.7 69.6M76 72L85.5 77.5M81.2 75L84.7 74.4M81.2 75L82.4 78.3M76 72L76 83M76 78L78.3 80.7M76 78L73.7 80.7M76 72L66.5 77.5M70.8 75L69.6 78.3M70.8 75L67.3 74.4M76 72L66.5 66.5M70.8 69L67.3 69.6M70.8 69L69.6 65.7' stroke='%23000' stroke-width='1.3' stroke-linecap='round' fill='none'/%3E%3Ccircle cx='80' cy='22' r='2'/%3E%3Ccircle cx='22' cy='80' r='1.6'/%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="estrellas"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M26 19L28.9 26L36.5 26.6L30.7 31.5L32.5 38.9L26 35L19.5 38.9L21.3 31.5L15.5 26.6L23.1 26Z'/%3E%3Cpath d='M74 61L75.9 65.5L80.7 65.8L77 69L78.1 73.7L74 71.2L69.9 73.7L71 69L67.3 65.8L72.1 65.5Z' opacity='.7'/%3E%3Ccircle cx='80' cy='18' r='1.4'/%3E%3Ccircle cx='50' cy='88' r='1.1'/%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="corazones"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M12 21C12 21 2 14.5 2 8.2C2 4.8 4.6 2.5 7.5 2.5C9.4 2.5 11 3.6 12 5.1C13 3.6 14.6 2.5 16.5 2.5C19.4 2.5 22 4.8 22 8.2C22 14.5 12 21 12 21Z' transform='translate(12 14) scale(1.3)'/%3E%3Cpath d='M12 21C12 21 2 14.5 2 8.2C2 4.8 4.6 2.5 7.5 2.5C9.4 2.5 11 3.6 12 5.1C13 3.6 14.6 2.5 16.5 2.5C19.4 2.5 22 4.8 22 8.2C22 14.5 12 21 12 21Z' transform='translate(62 56) rotate(14) scale(.9)' opacity='.7'/%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="flores"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='28' cy='18' r='6.2'/%3E%3Ccircle cx='37.5' cy='24.9' r='6.2'/%3E%3Ccircle cx='33.9' cy='36.1' r='6.2'/%3E%3Ccircle cx='22.1' cy='36.1' r='6.2'/%3E%3Ccircle cx='18.5' cy='24.9' r='6.2'/%3E%3Ccircle cx='28' cy='28' r='5' opacity='.5'/%3E%3Ccircle cx='74' cy='65' r='4.3'/%3E%3Ccircle cx='80.7' cy='69.8' r='4.3'/%3E%3Ccircle cx='78.1' cy='77.7' r='4.3'/%3E%3Ccircle cx='69.9' cy='77.7' r='4.3'/%3E%3Ccircle cx='67.3' cy='69.8' r='4.3'/%3E%3Ccircle cx='74' cy='72' r='3.5' opacity='.5'/%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="hojas"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg transform='translate(26 30) rotate(-30) scale(1.6)'%3E%3Cpath d='M0 -10C6 -6 7 3 0 10C-7 3 -6 -6 0 -10Z'/%3E%3Cpath d='M0 -9L0 11' stroke='%23fff' stroke-width='.8' opacity='.0'/%3E%3C/g%3E%3Cg transform='translate(72 66) rotate(40) scale(1.1)'%3E%3Cpath d='M0 -10C6 -6 7 3 0 10C-7 3 -6 -6 0 -10Z'/%3E%3Cpath d='M0 -9L0 11' stroke='%23fff' stroke-width='.8' opacity='.0'/%3E%3C/g%3E%3Cg transform='translate(80 20) rotate(110) scale(0.7)'%3E%3Cpath d='M0 -10C6 -6 7 3 0 10C-7 3 -6 -6 0 -10Z'/%3E%3Cpath d='M0 -9L0 11' stroke='%23fff' stroke-width='.8' opacity='.0'/%3E%3C/g%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="olas"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0 25Q25 5 50 25T100 25M0 75Q25 55 50 75T100 75' fill='none' stroke='%23000' stroke-width='3'/%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="banderines"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0 12Q50 30 100 12' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3Cpath d='M10 16L20 20L13 34Z'/%3E%3Cpath d='M32 22L44 24L35 38Z' opacity='.7'/%3E%3Cpath d='M56 24L68 22L64 37Z'/%3E%3Cpath d='M80 19L90 15L90 30Z' opacity='.7'/%3E%3Cpath d='M0 62Q50 80 100 62' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3Cpath d='M10 66L20 70L13 84Z' opacity='.7'/%3E%3Cpath d='M32 72L44 74L35 88Z'/%3E%3Cpath d='M56 74L68 72L64 87Z' opacity='.7'/%3E%3Cpath d='M80 69L90 65L90 80Z'/%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="confeti"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect x='12' y='14' width='8' height='4' transform='rotate(25 16 16)'/%3E%3Crect x='62' y='26' width='7' height='3.5' transform='rotate(-35 65 28)' opacity='.7'/%3E%3Ccircle cx='40' cy='60' r='2.6'/%3E%3Crect x='78' y='70' width='8' height='4' transform='rotate(60 82 72)'/%3E%3Ccircle cx='20' cy='84' r='2' opacity='.7'/%3E%3Crect x='48' y='8' width='5' height='3' transform='rotate(-10 50 9)' opacity='.6'/%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="rayas"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M-10 10L10-10M0 100L100 0M90 110L110 90' stroke='%23000' stroke-width='7'/%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="carbono"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='%23000'%3E%3Crect width='10' height='10' opacity='.6'/%3E%3Crect x='10' y='10' width='10' height='10' opacity='.6'/%3E%3Crect x='10' width='10' height='10' opacity='.25'/%3E%3Crect y='10' width='10' height='10' opacity='.25'/%3E%3C/g%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="cuadricula"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0 1H100M1 0V100' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="destellos"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='%23000'%3E%3Cpath d='M25 5l3 17 17 3-17 3-3 17-3-17-17-3 17-3z'/%3E%3Cpath d='M75 58l2 10 10 2-10 2-2 10-2-10-10-2 10-2z' opacity='.6'/%3E%3C/g%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="puntos"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='%23000'%3E%3Ccircle cx='25' cy='25' r='5'/%3E%3Ccircle cx='75' cy='75' r='5'/%3E%3C/g%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="circuito"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 20H30L40 30H59M100 20H88L80 12V0M80 100V88L72 80H58M20 100V78L30 68H43M20 0V6M0 62H8M100 62H92M44 46H58L66 54H78'/%3E%3Ccircle cx='62' cy='30' r='2.8'/%3E%3Ccircle cx='55' cy='80' r='2.8'/%3E%3Ccircle cx='46' cy='68' r='2.8'/%3E%3Ccircle cx='20' cy='9' r='2.8'/%3E%3Ccircle cx='11' cy='62' r='2.8'/%3E%3Ccircle cx='89' cy='62' r='2.8'/%3E%3Ccircle cx='41' cy='46' r='2.8'/%3E%3Ccircle cx='81' cy='54' r='2.8'/%3E%3C/g%3E%3Cg fill='%23000'%3E%3Ccircle cx='30' cy='44' r='1.5'/%3E%3Ccircle cx='90' cy='38' r='1.5'/%3E%3Ccircle cx='8' cy='90' r='1.5'/%3E%3Ccircle cx='60' cy='8' r='1.5'/%3E%3C/g%3E%3C/svg%3E")}
body.uwt[data-uwt-patron="hexagonos"]{--uwt-trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 100'%3E%3Cpath d='M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100M28 0L28 34L0 50L0 84L28 100L56 84L56 50L28 34' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E")}
body.uwt[data-uwt-adorno="telarana"]{--uwt-adorno:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0 0L107.5 0M0 0L102.2 33.2M0 0L87 63.2M0 0L63.2 87M0 0L33.2 102.2M0 0L0 107.5M16 0Q13.4 2.1 15.2 4.9Q12.1 6.2 12.9 9.4Q9.6 9.6 9.4 12.9Q6.2 12.1 4.9 15.2Q2.1 13.4 0 16M32 0Q26.8 4.3 30.4 9.9Q24.2 12.3 25.9 18.8Q19.2 19.2 18.8 25.9Q12.3 24.2 9.9 30.4Q4.3 26.8 0 32M50 0Q41.9 6.6 47.6 15.5Q37.8 19.3 40.5 29.4Q30 30 29.4 40.5Q19.3 37.8 15.5 47.6Q6.6 41.9 0 50M68 0Q57 9 64.7 21Q51.5 26.2 55 40Q40.8 40.8 40 55Q26.2 51.5 21 64.7Q9 57 0 68M86 0Q72.2 11.4 81.8 26.6Q65.1 33.2 69.6 50.5Q51.7 51.7 50.5 69.6Q33.2 65.1 26.6 81.8Q11.4 72.2 0 86' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3C/svg%3E")}
body.uwt[data-uwt-adorno="goteo"]{--uwt-adorno:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 40'%3E%3Cpath d='M0 0H200V6C196 6 194 8 194 12C194 16 191 18 189 14C187 10 186 7 180 7C172 7 170 9 170 20C170 27 166 28 164 22C162 16 162 8 150 8C138 8 138 10 137 15C136 19 133 19 132 15C131 11 128 8 118 8C108 8 106 10 106 30C106 38 101 39 100 32C99 24 99 9 88 9C76 9 76 11 75 16C74 20 71 20 70 16C69 11 66 8 56 8C46 8 44 11 44 24C44 31 39 32 38 25C37 17 36 8 26 8C16 8 15 10 14 14C13 17 10 17 9 14C8 10 6 7 0 7Z'/%3E%3C/svg%3E")}
body.uwt[data-uwt-adorno="nieve"]{--uwt-adorno:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20'%3E%3Cpath d='M0 0H200V8C194 8 192 13 186 13C180 13 179 9 172 9C164 9 164 15 156 15C148 15 147 10 140 10C132 10 131 16 122 16C113 16 113 10 105 10C97 10 96 14 88 14C80 14 80 9 72 9C64 9 63 15 54 15C45 15 45 10 37 10C29 10 28 14 20 14C12 14 11 9 0 9Z'/%3E%3C/svg%3E")}
body.uwt[data-uwt-adorno="corazon"]{--uwt-adorno:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21C12 21 2 14.5 2 8.2C2 4.8 4.6 2.5 7.5 2.5C9.4 2.5 11 3.6 12 5.1C13 3.6 14.6 2.5 16.5 2.5C19.4 2.5 22 4.8 22 8.2C22 14.5 12 21 12 21Z'/%3E%3C/svg%3E")}
