/* =====================================================================
   FIN DEL CHICO (js/ui/chico.js): propuesta NEÓN y propuesta FILETEADO.
   ===================================================================== */
.tg-chico-neon, .tg-chico-filete {
    position: fixed; inset: 0; z-index: 9001;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(14px, 3cqh, 30px);
    background: radial-gradient(ellipse at 50% 45%, rgba(20, 8, 2, .55), rgba(4, 2, 0, .9));
    opacity: 0; transition: opacity .3s ease;
}
.tg-chico-neon.visible, .tg-chico-filete.visible { opacity: 1; }

/* pie: frase y botón (aparecen al final) */
.tg-chico-pie { display: flex; flex-direction: column; align-items: center; gap: 12px; opacity: 0; transform: translateY(14px); transition: opacity .4s ease, transform .4s cubic-bezier(.3, 1.5, .5, 1); }
.pie-on .tg-chico-pie { opacity: 1; transform: none; }
.tg-chico-bajada { font-family: Impact, 'Arial Black', sans-serif; font-size: clamp(16px, 2.2cqw, 28px); letter-spacing: .08em; color: #f7ecd0; text-shadow: 2px 2px 0 #000; }
.tg-chico-boton {
    font-family: Impact, 'Arial Black', sans-serif; font-size: clamp(16px, 2cqw, 26px); letter-spacing: .06em; color: #fff;
    padding: .45em 1.4em; border-radius: 12px; border: 3px solid #1a0a00; cursor: pointer;
    background: linear-gradient(180deg, #7fe0a4 0%, #2f8f4e 55%, #14532a 100%);
    text-shadow: 2px 2px 0 #1a0a00, -1px -1px 0 #1a0a00;
    box-shadow: inset 0 0 0 2px rgba(255, 210, 63, .75), inset 0 10px 14px -8px rgba(255, 255, 255, .55), 0 5px 0 #1a0a00, 0 8px 12px rgba(0, 0, 0, .5);
    transition: transform .15s cubic-bezier(.34, 1.56, .64, 1), filter .15s;
}
.tg-chico-boton:hover { transform: translateY(-3px) scale(1.05); filter: brightness(1.12); }
.ellos .tg-chico-boton { background: linear-gradient(180deg, #e0574a 0%, #9c2318 55%, #5c0d06 100%); }

/* ---------------- NEÓN ---------------- */
.tg-chico-cartel {
    display: flex; align-items: center; gap: clamp(10px, 2.5cqw, 40px);
    padding: clamp(16px, 3cqh, 34px) clamp(22px, 3.5cqw, 56px);
    border-radius: 28px; border: 5px solid #3a2a12;
    background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .025) 0 2px, transparent 2px 7px), linear-gradient(180deg, #1c120a, #0d0804);
    box-shadow: inset 0 0 30px rgba(0, 0, 0, .8), 0 14px 40px rgba(0, 0, 0, .8);
    transform: scale(.9); transition: transform .35s cubic-bezier(.3, 1.5, .5, 1), border-color .2s, box-shadow .2s;
}
.visible .tg-chico-cartel { transform: scale(1); }
.nos   .tg-chico-cartel.marco-on { border-color: #ffd23f; box-shadow: inset 0 0 30px rgba(0, 0, 0, .8), inset 0 0 12px rgba(255, 190, 40, .5), 0 0 14px #ffb300, 0 0 36px rgba(255, 150, 0, .6), 0 14px 40px rgba(0, 0, 0, .8); }
.ellos .tg-chico-cartel.marco-on { border-color: #ff4b3a; box-shadow: inset 0 0 30px rgba(0, 0, 0, .8), inset 0 0 12px rgba(255, 60, 40, .5), 0 0 14px #ff2a1a, 0 0 36px rgba(255, 30, 0, .6), 0 14px 40px rgba(0, 0, 0, .8); }
.tg-chico-centro { text-align: center; font-family: Impact, 'Haettenschweiler', 'Arial Narrow Bold', 'Arial Black', sans-serif; line-height: 1; }
.tg-chico-sub, .tg-chico-serie { font-size: clamp(16px, 2.3cqw, 34px); letter-spacing: .3em; color: #2b2017; transition: color .15s, text-shadow .15s; }
.tg-chico-serie { margin-top: .35em; letter-spacing: .2em; }
.tg-chico-titulo { font-size: clamp(60px, 11cqw, 170px); letter-spacing: .03em; white-space: nowrap; }
.tg-chico-titulo span { display: inline-block; color: #2b2017; }
.nos .tg-chico-titulo span.on { color: #fff6cc; text-shadow: 0 0 3px #fff, 0 0 10px #ffe066, 0 0 22px #ffb300, 0 0 46px #ff8c00, 0 0 90px #ff6a00; animation: tgChNeon .38s steps(1) both; }
.ellos .tg-chico-titulo span.on { color: #ffe2dc; text-shadow: 0 0 3px #fff, 0 0 10px #ff6a5a, 0 0 22px #ff2a1a, 0 0 46px #d40f00, 0 0 90px #a00800; animation: tgChNeon .38s steps(1) both; }
.nos .tg-chico-sub.on { color: #d8ffe4; text-shadow: 0 0 4px #fff, 0 0 10px #4dff8a, 0 0 24px #17c45a; animation: tgChNeon .38s steps(1) both; }
.ellos .tg-chico-sub.on { color: #ffe2dc; text-shadow: 0 0 4px #fff, 0 0 10px #ff6a5a, 0 0 24px #ff2a1a; animation: tgChNeon .38s steps(1) both; }
.tg-chico-serie.on { color: #f2f8ff; text-shadow: 0 0 4px #fff, 0 0 10px #8fd3ff, 0 0 24px #2f9bff; animation: tgChNeon .38s steps(1) both; }
@keyframes tgChNeon { 0% { opacity: .2; } 15% { opacity: 1; } 30% { opacity: .3; } 45% { opacity: 1; } 60% { opacity: .55; } 75%, 100% { opacity: 1; } }
/* trofeo dibujado en tubo */
.tg-chico-trofeo { width: clamp(60px, 9cqw, 140px); height: auto; overflow: visible; }
.tg-chico-trofeo path { fill: none; stroke: #2b2017; stroke-width: 4.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
.trofeo-on .tg-chico-trofeo path { stroke-dashoffset: 0; transition: stroke-dashoffset .5s ease-in-out, stroke .1s; }
.trofeo-on .tg-chico-trofeo path:nth-child(2) { transition-delay: .2s; } .trofeo-on .tg-chico-trofeo path:nth-child(3) { transition-delay: .4s; }
.nos.trofeo-on .tg-chico-trofeo path   { stroke: #fff2b0; filter: drop-shadow(0 0 3px #ffe066) drop-shadow(0 0 9px #ffb300) drop-shadow(0 0 18px #ff8c00); }
.ellos.trofeo-on .tg-chico-trofeo path { stroke: #ffd6cf; filter: drop-shadow(0 0 3px #ff6a5a) drop-shadow(0 0 9px #ff2a1a) drop-shadow(0 0 18px #d40f00); }
.ellos.trofeo-muere .tg-chico-trofeo { animation: tgTrofeoMuere 1s steps(1) forwards; }
@keyframes tgTrofeoMuere { 0% { opacity: 1; } 15% { opacity: .2; } 30% { opacity: 1; } 45% { opacity: .1; } 60% { opacity: .7; } 80%, 100% { opacity: .08; filter: grayscale(1); } }
.nos.festejo .tg-chico-cartel { animation: tgChLate .55s ease-in-out infinite alternate; }
@keyframes tgChLate { from { transform: scale(1); filter: brightness(1); } to { transform: scale(1.035); filter: brightness(1.22); } }

/* ---------------- FILETEADO ---------------- */
.tg-filete-caja { width: min(86cqw, 900px); transform: scale(.85) rotate(-2deg); transition: transform .5s cubic-bezier(.3, 1.5, .5, 1); filter: drop-shadow(0 16px 30px rgba(0, 0, 0, .8)); }
.visible .tg-filete-caja { transform: scale(1) rotate(0); }
.tg-filete-svg { width: 100%; height: auto; display: block; overflow: visible; }
.fl-fondo { fill: #0f0c0a; }
.ellos .fl-fondo { fill: #170708; }
.fl-marco { fill: none; stroke-dasharray: 1; stroke-dashoffset: 1; animation: flDibuja 1s ease-in-out forwards; }
.fl-marco.m1 { stroke: url(#flOro); stroke-width: 8; }
.fl-marco.m2 { stroke: #c8261b; stroke-width: 4; animation-delay: .25s; }
.fl-marco.m3 { stroke: #f5e6c8; stroke-width: 1.6; animation-delay: .45s; }
.ellos .fl-marco.m1 { stroke: #8a7a6a; } .ellos .fl-marco.m2 { stroke: #6d1a1a; }
@keyframes flDibuja { to { stroke-dashoffset: 0; } }
.fl-trazo { fill: none; stroke: url(#flOro); stroke-width: 6; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: flDibuja .9s ease-in-out .7s forwards; }
.fl-trazo.fino { stroke: #f5e6c8; stroke-width: 2.4; animation-delay: .95s; }
.ellos .fl-trazo { stroke: #a89580; } .ellos .fl-trazo.fino { stroke: #6a5a4a; }
.fl-hoja { stroke: #10230f; stroke-width: 2; opacity: 0; transform-box: fill-box; transform-origin: 0% 100%; animation: flHoja .45s cubic-bezier(.3, 1.6, .5, 1) 1.3s forwards; }
.fl-hoja.v { fill: #2f9a5a; } .fl-hoja.r { fill: #c8261b; transform-origin: 0% 50%; animation-delay: 1.45s; }
.ellos .fl-hoja.v { fill: #3c4a40; } .ellos .fl-hoja.r { fill: #5a1414; }
@keyframes flHoja { from { opacity: 0; transform: scale(0) rotate(-25deg); } to { opacity: 1; transform: scale(1) rotate(0); } }
.fl-perla { fill: #fff6cc; opacity: 0; animation: flPop .3s ease-out 1.6s forwards; }
.fl-flor circle { fill: #c8261b; stroke: #f2c230; stroke-width: 3; opacity: 0; transform-box: fill-box; transform-origin: center; animation: flPop .35s cubic-bezier(.3, 1.6, .5, 1) 1.2s forwards; }
.fl-flor circle.c2 { fill: #f2c230; stroke: none; }
.ellos .fl-flor circle { fill: #5a1414; stroke: #8a7a6a; } .ellos .fl-flor circle.c2 { fill: #8a7a6a; }
@keyframes flPop { from { opacity: 0; transform: scale(0); } to { opacity: 1; transform: scale(1); } }
.fl-texto text { font-family: Georgia, 'Times New Roman', serif; font-weight: bold; font-style: italic; paint-order: stroke; stroke-linejoin: round; }
.fl-t1 { font-size: 56px; fill: #f5e6c8; stroke: #1a0a00; stroke-width: 6; filter: url(#flSombra); opacity: 0; animation: flTexto .5s cubic-bezier(.3, 1.6, .5, 1) 1.5s forwards; }
.fl-t2 { font-size: 104px; letter-spacing: 2px; fill: url(#flOro); stroke: #1a0a00; stroke-width: 8; filter: url(#flSombra); opacity: 0; animation: flTexto .55s cubic-bezier(.3, 1.6, .5, 1) 1.75s forwards; }
.fl-t2.brillo { fill: url(#flBrillo); stroke: none; filter: none; mix-blend-mode: screen; }
.ellos .fl-t1 { fill: #c9b9a6; } .ellos .fl-t2 { fill: #8f2a22; } .ellos .fl-t2.brillo { display: none; }
.fl-texto text { transform-box: fill-box; transform-origin: center; }
@keyframes flTexto { from { opacity: 0; transform: scale(.4) rotate(-6deg); } to { opacity: 1; transform: scale(1) rotate(0); } }
.fl-cinta { opacity: 0; transform-box: fill-box; transform-origin: center; animation: flCinta .5s cubic-bezier(.3, 1.6, .5, 1) 2.1s forwards; }
.fl-cinta path { fill: #c8261b; stroke: #f2c230; stroke-width: 3; }
.fl-cinta path.punta { fill: #8f1810; }
.ellos .fl-cinta path { fill: #3a2e26; stroke: #8a7a6a; } .ellos .fl-cinta path.punta { fill: #241c16; }
.fl-cinta text { font-family: Impact, 'Arial Black', sans-serif; font-size: 30px; letter-spacing: 3px; fill: #fff6e0; stroke: #3a0a00; stroke-width: 3; paint-order: stroke; }
@keyframes flCinta { from { opacity: 0; transform: scaleX(.2); } to { opacity: 1; transform: scaleX(1); } }
