/* ===== Variables por defecto (oscuro) ===== */
body {
  --radius: 18px; --radius-btn: 999px; --radius-icon: 16px;
  --on-accent: #0b0b14; --line: rgba(255,255,255,.1);
  --nav-bg: rgba(7,10,28,.75); --input-bg: rgba(255,255,255,.05);
  --card-shadow: none; --btn-glow: none; --brand-glow: none;
  --ticker-bg: transparent; --ticker-text: var(--accent2);
  --step-bg: var(--accent); --step-text: var(--on-accent);
  --stars: var(--accent2); --brand: var(--accent2);
}

/* ===== 1. Selva Neón ===== */
.t-selva-neon {
  --bg: #070b24; --bg-alt: #0b1131; --surface: #0f1638; --text: #eef0ff; --muted: #a8afd6;
  --accent: #ff3fb4; --accent2: #ffd34d; --accent3: #39ff88; --on-accent: #fff;
  --font-head: "Poppins", sans-serif; --font-body: "Poppins", sans-serif; --font-brand: "Pacifico", cursive;
  --btn-glow: 0 0 18px rgba(255,63,180,.6), 0 0 42px rgba(255,63,180,.25);
  --brand-glow: 0 0 12px rgba(255,211,77,.7);
  --icon-bg: rgba(57,255,136,.1); --line: rgba(57,255,136,.18);
  --featured-shadow: 0 0 30px rgba(255,63,180,.35);
  --ticker-bg: #0b1131; --ticker-text: #39ff88;
}
.t-selva-neon h1, .t-selva-neon h2 { font-weight: 800; }
.t-selva-neon h1 { text-shadow: 0 0 22px rgba(255,63,180,.55); }
.t-selva-neon .hero-text { text-align: center; }
.t-selva-neon .hero-text .lead { margin-inline: auto; }
.t-selva-neon .cta-row, .t-selva-neon .stats { justify-content: center; }
.t-selva-neon .banner-frame { box-shadow: 0 0 0 2px rgba(57,255,136,.4), 0 0 50px rgba(57,255,136,.25); }
.t-selva-neon .card:hover { box-shadow: 0 0 24px rgba(57,255,136,.25); border-color: rgba(57,255,136,.5); }
.t-selva-neon .ticker span { text-shadow: 0 0 10px rgba(57,255,136,.7); }

/* ===== 2. Marquesina ===== */
.t-marquesina {
  --bg: #05070f; --bg-alt: #0b0d1a; --surface: #10132a; --text: #fff4f9; --muted: #b9b4cc;
  --accent: #ff4fa3; --accent2: #ffb93b; --accent3: #ffb93b; --on-accent: #fff;
  --font-head: "Righteous", sans-serif; --font-body: "Nunito", sans-serif; --font-brand: "Righteous", sans-serif;
  --radius: 10px; --radius-btn: 8px; --radius-icon: 50%;
  --btn-glow: 0 0 20px rgba(255,79,163,.5);
  --icon-bg: rgba(255,185,59,.12);
  --featured-shadow: 0 0 34px rgba(255,79,163,.35);
  --ticker-bg: linear-gradient(90deg, #ff4fa3, #ffb93b); --ticker-text: #1a0a16;
  --step-bg: transparent; --step-text: #ffb93b;
}
.t-marquesina .brand-script { color: #ff4fa3; letter-spacing: .04em; }
.t-marquesina .hero-text { display: grid; grid-template-columns: 1.2fr 1fr; column-gap: 48px; }
.t-marquesina .hero-text .eyebrow, .t-marquesina .hero-text h1 { grid-column: 1; }
.t-marquesina .hero-text .lead { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
.t-marquesina .hero-text .cta-row { grid-column: 1; }
.t-marquesina .hero-text .stats { grid-column: 2; align-self: center; }
.t-marquesina .banner-frame {
  padding: 14px; background: #120a14; border-radius: 14px; position: relative;
  /* Bombillas de marquesina */
  background-image:
    radial-gradient(circle, #ffd56b 0 3px, transparent 4px),
    radial-gradient(circle, #ffd56b 0 3px, transparent 4px);
  background-size: 22px 22px; background-position: 0 0, 11px 11px;
  animation: bulbs 1.2s steps(2) infinite;
  box-shadow: 0 0 40px rgba(255,185,59,.25);
}
.t-marquesina .banner-frame img { border-radius: 6px; }
@keyframes bulbs { 50% { background-position: 11px 0, 0 11px; } }
.t-marquesina .ticker span { font-family: "Righteous", sans-serif; text-transform: uppercase; }
.t-marquesina .step .num { border: 3px solid #ffb93b; box-shadow: 0 0 18px rgba(255,185,59,.4); }
.t-marquesina h2 { color: #ff4fa3; text-shadow: 0 0 18px rgba(255,79,163,.4); }
@media (max-width: 960px) {
  .t-marquesina .hero-text { display: block; }
}

/* ===== 3. Aurora ===== */
.t-aurora {
  --bg: #0a0d22; --bg-alt: rgba(255,255,255,.02); --surface: rgba(255,255,255,.06); --text: #f6f1e7; --muted: #c4bfd6;
  --accent: #f2b84b; --accent2: #f2b84b; --accent3: #3fd98a; --on-accent: #1c1305;
  --font-head: "Inter", sans-serif; --font-body: "Inter", sans-serif; --font-brand: "Dancing Script", cursive;
  --radius: 22px; --line: rgba(255,255,255,.12);
  --btn-glow: 0 8px 30px rgba(242,184,75,.35);
  --brand-glow: 0 0 14px rgba(242,184,75,.6);
  --icon-bg: rgba(180,92,255,.18);
  --featured-shadow: 0 0 40px rgba(242,184,75,.25);
  --nav-bg: rgba(10,13,34,.55);
  --card-shadow: 0 10px 40px rgba(0,0,0,.25);
  background:
    radial-gradient(1000px 600px at 10% 40%, rgba(180,92,255,.18), transparent 60%),
    radial-gradient(900px 600px at 90% 75%, rgba(63,217,138,.14), transparent 60%),
    #0a0d22;
}
.t-aurora .card { backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.t-aurora .hero-bg h1 {
  font-family: "Dancing Script", cursive; font-size: clamp(4.5rem, 14vw, 10rem); color: #ffd27a; margin-bottom: .1em;
  text-shadow: 0 0 20px rgba(242,184,75,.8), 0 0 60px rgba(242,184,75,.45);
}
.t-aurora .pre-title { text-transform: uppercase; letter-spacing: .35em; font-weight: 800; color: #e7a2ff; text-shadow: 0 0 14px rgba(180,92,255,.8); margin: 0; }
.t-aurora .hero-bg .eyebrow { display: none; }
.t-aurora .crown { font-size: 3rem; color: #ffd27a; text-shadow: 0 0 20px rgba(242,184,75,.8); margin-bottom: -20px; }
.t-aurora .hero-bg { grid-template-rows: auto auto; align-content: center; }
.t-aurora .ticker { background: rgba(255,255,255,.04); }
.t-aurora .section-head h2 { font-weight: 800; }

/* ===== 4. Jaguar Tropical (claro) ===== */
.t-jaguar {
  --bg: #fffaf3; --bg-alt: #fff0f7; --surface: #ffffff; --text: #1b1035; --muted: #5b5370;
  --accent: #e0218a; --accent2: #0f8a4b; --accent3: #e0218a; --on-accent: #fff;
  --font-head: "Baloo 2", sans-serif; --font-body: "Nunito", sans-serif; --font-brand: "Baloo 2", sans-serif;
  --radius: 28px; --radius-icon: 50%; --line: rgba(27,16,53,.1);
  --nav-bg: rgba(255,250,243,.85); --input-bg: #fffaf3;
  --card-shadow: 0 10px 30px rgba(224,33,138,.08);
  --btn-glow: 0 8px 20px rgba(224,33,138,.3);
  --icon-bg: #f1ffd0; --brand: #e0218a;
  --featured-shadow: 0 18px 40px rgba(224,33,138,.2);
  --ticker-bg: #a8e10c; --ticker-text: #1b1035;
  --stars: #f5a300; --step-bg: #a8e10c; --step-text: #1b1035;
}
.t-jaguar .brand-script { font-weight: 800; }
.t-jaguar h1 { font-weight: 800; }
.t-jaguar .hero-split { overflow: hidden; isolation: isolate; }
.t-jaguar .hero-split::before {
  content: ""; position: absolute; width: 620px; height: 620px; right: -120px; top: 20px; z-index: -1;
  background: radial-gradient(circle, #ffd1ea 0%, #f1ffd0 60%, transparent 70%); border-radius: 50%;
}
.t-jaguar .hero-logo img { border-radius: 0; mix-blend-mode: multiply; animation: bob 5s ease-in-out infinite; }
@keyframes bob { 50% { transform: translateY(-14px) rotate(-2deg); } }
.t-jaguar .btn-ghost { color: #0f8a4b; border-color: #0f8a4b; }
.t-jaguar .card { border: 0; }
.t-jaguar .feature:nth-child(2) .icon { background: #ffe1f0; }
.t-jaguar .feature:nth-child(3) .icon { background: #fff3c4; }
.t-jaguar .feature:nth-child(4) .icon { background: #d8f5e6; }
.t-jaguar .section.alt { border-radius: 48px; margin: 0 12px; }
.t-jaguar .stats strong { color: #0f8a4b; }
.t-jaguar .switcher { background: rgba(27,16,53,.92); }

/* ===== 5. Tucán Rosa ===== */
.t-tucan-rosa {
  --bg: #0b0f2a; --bg-alt: #10153a; --surface: #141a45; --text: #f3f6ff; --muted: #aab3dc;
  --accent: #ff2fa8; --accent2: #3ee6ff; --accent3: #ffe94d; --on-accent: #fff;
  --font-head: "Fredoka", sans-serif; --font-body: "Poppins", sans-serif; --font-brand: "Fredoka", sans-serif;
  --radius: 24px; --radius-icon: 18px; --line: rgba(62,230,255,.18);
  --btn-glow: 0 0 22px rgba(255,47,168,.55);
  --icon-bg: rgba(255,47,168,.15); --brand: #ff2fa8; --brand-glow: 0 0 14px rgba(255,47,168,.7);
  --featured-shadow: 0 0 36px rgba(255,47,168,.4);
  --ticker-bg: #ff2fa8; --ticker-text: #fff;
  --step-bg: #3ee6ff; --step-text: #0b0f2a;
}
.t-tucan-rosa .brand-script { font-weight: 700; }
.t-tucan-rosa h1 { font-weight: 700; }
.t-tucan-rosa h1 em, .t-tucan-rosa .hero-text h1 { background: linear-gradient(90deg, #fff 30%, #3ee6ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.t-tucan-rosa .hero-logo { position: relative; }
.t-tucan-rosa .hero-logo img { max-width: 540px; filter: drop-shadow(0 0 40px rgba(255,47,168,.35)); }
.t-tucan-rosa .card { border-width: 2px; }
.t-tucan-rosa .feature { transform: rotate(var(--tilt, 0deg)); transition: transform .2s; }
.t-tucan-rosa .feature:nth-child(odd) { --tilt: -1.2deg; }
.t-tucan-rosa .feature:nth-child(even) { --tilt: 1.2deg; }
.t-tucan-rosa .feature.reveal.in { transform: rotate(var(--tilt)); }
.t-tucan-rosa .feature:hover { transform: rotate(0) scale(1.03); }
.t-tucan-rosa .badge { background: #ffe94d; color: #0b0f2a; }

/* ===== 6. Tucán Real (premium) ===== */
.t-tucan-real {
  --bg: #070a1c; --bg-alt: #0b0f26; --surface: #0e1330; --text: #f4efe2; --muted: #b5b0a2;
  --accent: #f5c542; --accent2: #f5c542; --accent3: #f5c542; --on-accent: #1a1404;
  --font-head: "Playfair Display", serif; --font-body: "Lato", sans-serif; --font-brand: "Playfair Display", serif;
  --radius: 4px; --radius-btn: 2px; --radius-icon: 50%; --line: rgba(245,197,66,.22);
  --btn-glow: 0 0 24px rgba(245,197,66,.35);
  --icon-bg: transparent; --brand-glow: 0 0 10px rgba(245,197,66,.5);
  --featured-shadow: 0 0 40px rgba(245,197,66,.18);
  --ticker-bg: #0b0f26; --ticker-text: #f5c542;
  --step-bg: transparent; --step-text: #f5c542;
}
.t-tucan-real .brand-script { font-style: italic; }
.t-tucan-real .brand-script::before { content: "♛ "; font-style: normal; font-size: .8em; }
.t-tucan-real h1 { font-weight: 800; }
.t-tucan-real h2 { font-weight: 600; font-style: italic; }
.t-tucan-real .eyebrow { letter-spacing: .3em; }
.t-tucan-real .section-head h2::after { content: ""; display: block; width: 80px; height: 1px; background: var(--accent); margin: 18px auto 0; box-shadow: 0 0 8px var(--accent); }
.t-tucan-real .hero-logo img { max-width: 340px; margin-bottom: 0; }
.t-tucan-real .hero-center { padding-top: 24px; }
.t-tucan-real .feature { text-align: center; }
.t-tucan-real .feature .icon { margin-inline: auto; border: 1px solid var(--accent); }
.t-tucan-real .card { outline: 1px solid rgba(245,197,66,.12); outline-offset: -8px; }
.t-tucan-real .btn { text-transform: uppercase; letter-spacing: .12em; font-size: .85rem; }
.t-tucan-real .step .num { border: 1px solid var(--accent); font-style: italic; }
.t-tucan-real .ticker span { font-family: "Playfair Display", serif; font-style: italic; letter-spacing: .08em; }

/* Aurora: fondo más visible */
.t-aurora .hero-bg-img { filter: saturate(1.7) brightness(1.9); }
.t-aurora .hero-bg::after { background: radial-gradient(ellipse at center, rgba(10,13,34,.35) 0%, rgba(10,13,34,.55) 55%, var(--bg) 100%); }

/* Logos cuadrados oscuros: borde difuminado para fundirse con el fondo */
.t-tucan-rosa .hero-logo img, .t-tucan-real .hero-logo img {
  border-radius: 0;
  -webkit-mask-image: radial-gradient(circle closest-side at center, #000 82%, transparent 100%);
  mask-image: radial-gradient(circle closest-side at center, #000 82%, transparent 100%);
}
@media (max-width: 560px) {
  .t-tucan-real .hero-logo img, .t-tucan-rosa .hero-logo img { max-width: 280px; }
}

/* Dúo Salvaje (tema aurora con imagen a todo el ancho) */
.t-aurora .hero-full .full-img { -webkit-mask-image: linear-gradient(#000 80%, transparent); mask-image: linear-gradient(#000 80%, transparent); }
.t-aurora .hero-full h1 { font-family: "Yellowtail", cursive; font-weight: 400; font-size: clamp(2.6rem, 6vw, 4.6rem); color: #ffd27a; text-shadow: 0 0 18px rgba(242,184,75,.6); }
.t-aurora .brand-script { color: #ffd27a; }
/* Micro Dorado: aro dorado en lugar de rosa */
.t-tucan-rosa .hero-logo img { filter: drop-shadow(0 0 40px rgba(255,214,90,.3)); }

/* Color del subtítulo del logotipo según la imagen de cada diseño */
.t-tucan-rosa, .t-jaguar, .t-tucan-real { --logo-sub: #fff2a8; --logo-sub-glow: rgba(255,200,60,.7); }
/* En el tema claro el neón necesita una placa oscura detrás */
.t-jaguar .nav .logo-type, .t-jaguar .footer .logo-type { background: #14122e; padding: 6px 14px 4px; border-radius: 14px; }

/* Packs por tema */
.t-jaguar { --pc-normal: #e07a00; --pc-completo: #a21cc4; --pc-premium: #b88a00; }
.t-jaguar .pack { background: #fff; box-shadow: 0 14px 34px color-mix(in srgb, var(--pc) 18%, transparent); }
.t-jaguar .pack-name { color: var(--pc); text-shadow: none; }
.t-jaguar .d-bar i { box-shadow: none; }
.t-tucan-real { --pc-normal: #e8a24a; --pc-completo: #c77dff; --pc-premium: #f5c542; }
.t-tucan-real .pack { border-radius: 4px; outline: 1px solid color-mix(in srgb, var(--pc) 25%, transparent); outline-offset: -9px; }
.t-tucan-real .drinks li { border-radius: 2px; }
.t-aurora .pack { backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.t-tucan-rosa .pack:not(.featured) { transform: rotate(var(--tilt, 0deg)); }
.t-tucan-rosa .p-normal { --tilt: -1deg; }
.t-tucan-rosa .p-premium { --tilt: 1deg; }
