/* =========================================================
   NUYEXO UP - Global Styles (reusable across pages)
   File: style.css
   ========================================================= */

/* Reset + tokens */
:root{
  --bg: #05060a;
  --bg2:#070a12;
  --surface: rgba(255,255,255,0.06);
  --surface2: rgba(255,255,255,0.09);
  --border: rgba(255,255,255,0.12);

  --text: rgba(255,255,255,0.92);
  --muted: rgba(255,255,255,0.68);

  --blue1:#60d8ff;
  --blue2:#1b6cff;

  --green1:#8dff8a;
  --green2:#0aa85f;

  --red1:#ff4d6d;
  --red2:#ffd1d9;

  --gold1:#ffd66b;
  --gold2:#ff9a2e;

  --shadow: 0 18px 60px rgba(0,0,0,0.55);
  --shadow-soft: 0 10px 35px rgba(0,0,0,0.45);

  --radius: 18px;
  --radius2: 26px;

  --max: 1120px;
  --pad: 22px;

  /* Logo frame size (control this to scale the logo container) */
  --logo-frame-size: clamp(60px, 8vw, 70px);

  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

*{box-sizing:border-box}

/* CORRECCIÓN DE FONDO: Eliminamos height:100% fijo para evitar cortes */
html { min-height: 100%; }

body{
  margin:0;
  min-height: 100vh; /* Asegura que cubra toda la altura visible */
  font-family:var(--font);
  color:var(--text);
  
  /* CORRECCIÓN CLAVE: background-attachment: fixed 
     Esto crea un lienzo único que no se corta ni repite al hacer scroll */
  background:
    radial-gradient(1200px 700px at 20% -10%, rgba(96,216,255,0.20), transparent 55%),
    radial-gradient(900px 600px at 85% 0%, rgba(141,255,138,0.14), transparent 58%),
    radial-gradient(1000px 900px at 50% 120%, rgba(27,108,255,0.10), transparent 62%),
    linear-gradient(180deg, var(--bg), var(--bg2));
  
  background-attachment: fixed; /* Mantiene el degradado estático mientras scrolleas */
  background-size: cover;
  
  position: relative;
  overflow-x:hidden;
  transition: background 0.3s ease, color 0.3s ease;
}

a{color:inherit}
img{max-width:100%; display:block}

.container{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--pad);
}

/* Subtle grid background (rendered without extra markup) */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:0.4;
  background:
    linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.5) 60%, transparent 100%);
  z-index:0;
}

/* Header */
.header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter: blur(12px);
  background: rgba(5,6,10,0.65); /* Un poco más oscuro para separar del contenido */
  border-bottom:1px solid rgba(255,255,255,0.08);
  transition: background 0.3s ease, border-color 0.3s ease;
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 10px var(--pad);
max-width:var(--max);
  margin:0 auto;
  gap:18px;
}

/* Header collapse toggle */
.header{
  position: sticky;
}

.header-collapse-btn{
  position:absolute;
  left:50%;
  bottom:-16px;
  transform: translateX(-50%);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.35);
  backdrop-filter: blur(10px);
  display:grid;
  place-items:center;
  cursor:pointer;
  color: rgba(255,255,255,0.92);
  box-shadow: 0 16px 50px rgba(0,0,0,0.45);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  z-index: 60;
}
.header-collapse-btn:hover{
  filter: brightness(1.12);
  box-shadow: 0 0 0 3px rgba(96,216,255,0.10), 0 20px 55px rgba(0,0,0,0.55);
}
.header-collapse-btn:active{
  transform: translateX(-50%) scale(0.98);
}
.header-collapse-btn i{
  font-size: 18px;
}

.header.is-collapsed .header-right{
  display:none;
}
.header.is-collapsed{
  background: rgba(5,6,10,0.75);
}
.header.is-collapsed .header-inner{
  padding-bottom: 18px;
}

/* Motion hover shimmer (kept even if motion off; it is hover-only) */
@keyframes glowPulse{
  0%,100%{ box-shadow: 0 0 0 0 rgba(96,216,255,0.0), 0 16px 50px rgba(0,0,0,0.45);}  
  50%{ box-shadow: 0 0 0 4px rgba(96,216,255,0.14), 0 20px 55px rgba(0,0,0,0.55);}  
}
.header-collapse-btn:hover{
  animation: glowPulse 1.2s ease-in-out infinite;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  user-select:none;
}

.brand img{
  width: var(--logo-frame-size);
  height: var(--logo-frame-size);
  border-radius: 18px;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.10);
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
}

.brand .title{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}
.brand .title strong{
  font-size:16px;
  letter-spacing:0.2px;
}
.brand .title span{
  font-size:12px;
  color:var(--muted);
}

.nav-actions{
  display:flex;
  gap:10px;
  align-items:center;
}

/* Buttons */
.btn{
  appearance:none;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.06);
  color:var(--text);
  padding:11px 14px;
  border-radius:14px;
  cursor:pointer;
  font-weight:700;
  letter-spacing:0.2px;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease, background .14s ease;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.btn:hover{
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
  filter: brightness(1.08);
}
.btn:active{ transform: translateY(0px) scale(0.99); }

.btn-primary{
  border:none;
  background: linear-gradient(135deg, var(--blue1), var(--blue2));
  box-shadow: 0 18px 50px rgba(27,108,255,0.30);
  color: #fff !important; /* Force white text */
}
.btn-success{
  border:none;
  background: linear-gradient(135deg, var(--green1), var(--green2));
  box-shadow: 0 18px 50px rgba(10,168,95,0.25);
  color: #fff !important;
}

.btn-danger{
  border:none;
  background: linear-gradient(135deg, var(--red1), #c9183a);
  box-shadow: 0 18px 50px rgba(255,77,109,0.22);
  color: #fff !important;
}

.btn-warning{
  border:none;
  background: linear-gradient(135deg, var(--gold1), var(--gold2));
  box-shadow: 0 18px 50px rgba(255,154,46,0.22);
  color: #2b1a00 !important;
}
.btn-ghost{
  background: rgba(255,255,255,0.04);
}

.btn-wide{ padding:14px 18px; border-radius:16px; }
.btn-xl{ padding:16px 20px; border-radius:18px; font-size:15px; }

.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: rgba(255,255,255,0.78);
  font-weight:650;
  font-size:12px;
}
:root[data-theme="light"] .badge {
  background: rgba(0,0,0,0.05);
  border-color: rgba(0,0,0,0.1);
  color: var(--muted);
}

/* Hero */
.hero{
  /* Aumentamos padding superior para separar del header */
  padding: 80px 0 40px; 
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap:26px;
  align-items:center;
}
@media (max-width: 900px){
  .hero-grid{ grid-template-columns: 1fr; }

.hero-side{
  display:flex;
  flex-direction:column;
  gap:18px;
}

}

.h1{
  font-size:42px;
  line-height:1.07;
  margin:0 0 14px;
  letter-spacing:-0.6px;
}
@media (max-width: 520px){
  .h1{ font-size:34px; }
}
.lead{
  font-size:16px;
  color:var(--muted);
  line-height:1.6;
  margin:0 0 18px;
}

.callout{
  margin:0;
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: linear-gradient(180deg, rgba(96,216,255,0.10), rgba(255,255,255,0.04));
}
:root[data-theme="light"] .callout {
    background: linear-gradient(180deg, rgba(96,216,255,0.15), rgba(255,255,255,0.5));
    border-color: rgba(0,0,0,0.1);
}

.callout strong{
  background: linear-gradient(135deg, var(--green1), var(--green2));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.cta-row{
  list-style:none;
  padding:0;
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:18px;
}

.cta-stack{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  margin: 18px 0 0;
}
.small-note{
  margin:0;
  font-size:12px;
  color:rgba(255,255,255,0.70);
}
:root[data-theme="light"] .small-note {
    color: var(--muted);
}

.neon-arrow{
  width:84px;
  height:18px;
  filter: drop-shadow(0 0 10px rgba(96,216,255,0.70));
  animation: floaty 1.35s ease-in-out infinite;
}
.neon-arrow.green{
  filter: drop-shadow(0 0 10px rgba(141,255,138,0.70));
}
@keyframes floaty{
  0%,100%{ transform: translateY(0px); opacity:0.95; }
  50%{ transform: translateY(-3px); opacity:1; }
}

/* Sections - CORRECCIÓN DE ESPACIADO */
.section{
  /* Aumentado de 52px a 80px para dar aire y evitar que los elementos pisen líneas imaginarias */
  padding: 80px 0; 
}
.section.compact{ padding:40px 0; }

.section-title{
  text-align:center;
  margin:0 auto 40px; /* Más margen abajo */
  max-width: 860px;
}
.section-title h2{
  margin:0;
  font-size:28px;
  letter-spacing:-0.3px;
}
.section-title p{
  margin:10px auto 0;
  color:var(--muted);
  line-height:1.65;
  max-width:760px;
}

.em-red{
  background: linear-gradient(135deg, var(--red1), var(--red2));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow: 0 0 25px rgba(255,77,109,0.12);
}
.em-blue{
  background: linear-gradient(135deg, var(--blue1), rgba(255,255,255,0.95));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow: 0 0 25px rgba(96,216,255,0.10);
}
.em-green{
  background: linear-gradient(135deg, var(--green1), var(--blue1));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow: 0 0 25px rgba(141,255,138,0.10);
}
.em-gold{
  background: linear-gradient(135deg, var(--gold1), var(--gold2));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow: 0 0 25px rgba(255,214,107,0.10);
}


/* Light mode highlights for section keywords (contrast on white) */
:root[data-theme="light"] #como-miniaturas .em-blue,
:root[data-theme="light"] #como-edicion .em-green{
  display:inline-block;
  padding: 2px 10px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--red1), #ff7a92);
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  text-shadow: none;
}

:root[data-theme="light"] #como-analisis .em-red,
:root[data-theme="light"] #como-campana .em-red{
  display:inline-block;
  padding: 2px 10px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--green1), var(--green2));
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  text-shadow: none;
}

/* Cards */
.cards{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:24px; /* Mayor espacio entre tarjetas */
}
@media (max-width: 860px){
  .cards{ grid-template-columns: 1fr; }
}

.card{
  border:1px solid rgba(255,255,255,0.12);
  background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.04));
  border-radius: var(--radius2);
  padding:24px; /* Más padding interno */
  box-shadow: 0 14px 60px rgba(0,0,0,0.35);
  position:relative;
  overflow:hidden;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.2s ease;
}
.card:hover{
  transform: translateY(-2px); /* Pequeño lift al hover para sensación premium */
}
.card:before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(380px 160px at 30% 0%, rgba(96,216,255,0.16), transparent 60%),
              radial-gradient(420px 190px at 80% 20%, rgba(141,255,138,0.12), transparent 70%);
  opacity:0.8;
  pointer-events:none;
}
.card > *{ position:relative; }

.card h3{
  margin:0 0 10px;
  font-size:18px;
  letter-spacing:-0.2px;
}
.card p{
  margin:0 0 14px;
  color:var(--muted);
  line-height:1.65;
}
.card .meta{
  list-style:none;
  padding:0;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 14px;
}

/* Highlight free trial inside cards */
.free-trial{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:0.2px;
  border:1px solid rgba(141,255,138,0.28);
  background: radial-gradient(140px 40px at 10% 50%, rgba(141,255,138,0.22), rgba(255,255,255,0.04));
  color: rgba(224,255,225,0.95);
}
:root[data-theme="light"] .free-trial {
  color: #0aa85f;
  background: rgba(141,255,138,0.3);
  border-color: rgba(141,255,138,0.5);
}

/* Lists */
.ul{
  margin:14px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}
.li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:14px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
}
.dot{
  width:10px;
  height:10px;
  border-radius:999px;
  margin-top:4px;
  background: linear-gradient(135deg, var(--green1), var(--blue1));
  box-shadow: 0 0 18px rgba(96,216,255,0.20);
}
.li span{
  color:var(--muted);
  line-height:1.55;
}

/* Form */
.form-wrap{
  display:grid;
  grid-template-columns: 1fr 0.9fr;
  gap:18px;
  align-items:stretch;
}
@media (max-width: 900px){
  .form-wrap{ grid-template-columns: 1fr; }
}

.form-card{
  border:1px solid rgba(255,255,255,0.14);
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04));
  border-radius: var(--radius2);
  padding:22px;
  box-shadow: var(--shadow);
}

.label{
  display:block;
  font-size:12px;
  color:rgba(255,255,255,0.80);
  margin: 12px 0 8px;
  font-weight:750;
}
:root[data-theme="light"] .label { color: var(--muted); }

.input{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.20);
  color:var(--text);
  outline:none;
}
:root[data-theme="light"] .input {
  background: #f0f4f8;
  border-color: rgba(0,0,0,0.15);
  color: var(--text);
}

.input:focus{
  border-color: rgba(96,216,255,0.48);
  box-shadow: 0 0 0 4px rgba(96,216,255,0.12);
}

.helper{
  font-size:12px;
  color:rgba(255,255,255,0.62);
  line-height:1.45;
  margin-top:8px;
}

.alert{
  display:none;
  margin:14px 0 0;
  padding:12px 12px;
  border-radius:16px;
  border:1px solid rgba(255,77,109,0.30);
  background: rgba(255,77,109,0.10);
  color: rgba(255,220,228,0.95);
}
.alert.ok{
  border-color: rgba(141,255,138,0.30);
  background: rgba(141,255,138,0.10);
  color: rgba(231,255,232,0.95);
}

/* Footer */
.footer{
  border-top:1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.22);
  padding:60px 0; /* Más aire en el footer */
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr 0.8fr 0.8fr;
  gap:18px;
}
@media (max-width: 900px){
  .footer-grid{ grid-template-columns: 1fr; }
}
.footer h4{
  margin:0 0 10px;
  font-size:14px;
  letter-spacing:0.2px;
  color: rgba(255,255,255,0.88);
}
:root[data-theme="light"] .footer h4 { color: var(--text); }

.footer a{
  color: rgba(255,255,255,0.74);
  text-decoration:none;
}
:root[data-theme="light"] .footer a { color: var(--muted); }

.footer a:hover{ text-decoration:underline; }

.footer p, .footer li{
  color: rgba(255,255,255,0.68);
  line-height:1.6;
  font-size:13px;
}
:root[data-theme="light"] .footer p, :root[data-theme="light"] .footer li { color: var(--muted); }

.footer ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:8px;
}

.footer-bottom{
  margin-top:30px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,0.08);
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  color: rgba(255,255,255,0.55);
  font-size:12px;
}
:root[data-theme="light"] .footer-bottom { border-color: rgba(0,0,0,0.1); color: var(--muted); }

/* Utility */
.center{text-align:center}
.mt-10{margin-top:10px}
.mt-16{margin-top:16px}
.mt-24{margin-top:24px}
.hidden{display:none !important;}


/* =========================================================
   Theme (Dark / Light) + UI Controls
   ========================================================= */
:root {
  --neon-blue: #60d8ff;
  --neon-green: #8dff8a;
}

/* --- TEMA CLARO (LIGHT MODE) --- */
:root[data-theme="light"] {
  --bg: #f0f4f8; 
  --bg2: #dde4ed;
  
  --surface: rgba(0, 0, 0, 0.05); 
  --surface2: rgba(0, 0, 0, 0.08);
  --border: rgba(0, 0, 0, 0.12);

  --text: #0f172a;       
  --muted: #475569;      

  --shadow: 0 10px 30px rgba(15, 23, 42, 0.15);
  --shadow-soft: 0 10px 22px rgba(15, 23, 42, 0.10);
}

/* Ajustes específicos para elementos en TEMA CLARO */
:root[data-theme="light"] body::before {
    background:
    linear-gradient(to right, rgba(0,0,0,0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,0,0,0.05) 1px, transparent 1px);
    mask-image: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.5) 60%, transparent 100%);
}

:root[data-theme="light"] .header {
  background: rgba(255, 255, 255, 0.85);
  border-bottom: 1px solid rgba(0,0,0,0.1);
}

:root[data-theme="light"] .card,
:root[data-theme="light"] .form-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.1);
  color: var(--text);
  box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}
:root[data-theme="light"] .card:before {
  opacity: 0.4;
}

:root[data-theme="light"] .btn-ghost {
  background: rgba(0,0,0,0.05);
  color: var(--text);
}

:root[data-theme="light"] .tool {
  background: #ffffff;
  border-color: rgba(0,0,0,0.15);
}

:root[data-theme="light"] .select {
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(15, 23, 42, 0.8) 50%),
    linear-gradient(135deg, rgba(15, 23, 42, 0.8) 50%, transparent 50%);
  color: var(--text);
}

:root[data-theme="light"] .li {
  background: #ffffff;
  border-color: rgba(0,0,0,0.1);
}
:root[data-theme="light"] .li span {
  color: var(--muted);
}
:root[data-theme="light"] .brand img {
    background: #fff;
    border-color: rgba(0,0,0,0.1);
}
:root[data-theme="light"] .brand .title strong { color: var(--text); }

/* --- HEADER TOOLS (Ajustes de visibilidad) --- */
.header-inner {
  gap: 14px;
}

.header-tools {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.header-tools .tool {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px; 
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 999px;
  transition: all 0.3s ease;
}

.tool-label {
  font-size: 12px;
  color: var(--muted);
  font-weight: 750;
  letter-spacing: .2px;
  white-space: nowrap;
}

/* Selectores */
.select {
  appearance: none;
  border: none;
  background-color: transparent;
  color: var(--text);
  padding: 6px 24px 6px 8px;
  font-weight: 750;
  font-size: 12px;
  cursor: pointer;
  outline: none;
  
  /* Flecha personalizada clara para dark mode */
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(255,255,255,0.70) 50%),
    linear-gradient(135deg, rgba(255,255,255,0.70) 50%, transparent 50%);
  background-position:
    calc(100% - 12px) 55%,
    calc(100% - 7px) 55%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.select option {
  background: var(--bg);
  color: var(--text);
}

.blog-quality-tool .select {
  min-width: 118px;
}

[data-blog-image-frame][hidden],
img[data-blog-ui-image][hidden],
img[data-blog-quality-image][hidden] {
  display: none !important;
}

:root[data-blog-image-quality="0"] .brand {
  gap: 10px;
}

:root[data-blog-image-quality="0"] .browse-card--no-image {
  min-height: 0;
  contain-intrinsic-size: auto;
}

:root[data-blog-image-quality="0"] body.article-page .recommendation-card {
  gap: .75rem;
}

/* Botones con mejor contraste */
.btn {
  position: relative;
  overflow: hidden;
}
.btn::after{
  content:"";
  position:absolute;
  inset:-2px;
  background: linear-gradient(120deg, transparent 20%, rgba(255,255,255,0.22), transparent 60%);
  transform: translateX(-120%);
  transition: transform .55s ease;
  pointer-events:none;
}
.btn:hover::after{ transform: translateX(120%); }
.btn:focus-visible{
  outline:none;
  box-shadow: 0 0 0 3px rgba(96,216,255,0.24), var(--shadow-soft);
}
.btn-mini{
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 850;
}


/* =========================================================
   Loader (Nuyexo circular + energy ring)
   ========================================================= */
.page-loader{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  gap: 14px;
  background: var(--bg);
  transition: opacity .38s ease, visibility .38s ease;
}

.loader-inner{
  margin:0;
  width: 152px;
  height: 152px;
  position: relative;
  display:grid;
  place-items:center;
}

.loader-logo{
  width: 102px;
  height: 102px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 18px 60px rgba(0,0,0,0.30);
  animation: logoPulse 1.55s ease-in-out infinite;
  border: 1px solid rgba(255,255,255,0.18);
}

.loader-ring{
  position:absolute;
  inset: 0;
  border-radius: 50%;
  background:
    conic-gradient(from 0deg,
      rgba(96,216,255,0.00) 0deg,
      rgba(96,216,255,0.00) 265deg,
      rgba(96,216,255,0.95) 295deg,
      rgba(96,216,255,0.00) 360deg);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 14px), #000 calc(100% - 13px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 14px), #000 calc(100% - 13px));
  filter: drop-shadow(0 0 16px rgba(96,216,255,0.45));
  animation: spin 1.05s linear infinite;
}
.loader-ring::before{
  content:"";
  position:absolute;
  inset: 8px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.14);
  background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.06), transparent 60%);
}

.loader-text{
  margin:0;
  color: var(--muted);
  font-weight: 800;
  letter-spacing: .3px;
}

@keyframes spin { to { transform: rotate(360deg);} }
@keyframes logoPulse{
  0%,100%{ filter: brightness(1.00) saturate(1.05); opacity: 1; }
  50%{ filter: brightness(0.78) saturate(1.00); opacity: 0.92; }
}

/* When loaded */
.page-content{
  position: relative;
  z-index: 1;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .42s ease, transform .42s ease;
}
body.is-loaded .page-content{
  opacity:1;
  transform:none;
}
body.is-loaded .page-loader{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

/* =========================================================
   Arrow (copied behavior from attached frontend)
   ========================================================= */
.neon-arrow-blue{
  color: var(--neon-blue);
  font-size: 30px;
  filter: drop-shadow(0 0 10px rgba(96,216,255,0.90));
  animation: bounce 1.5s infinite;
}
.neon-arrow-green{
  color: var(--neon-green);
  font-size: 30px;
  filter: drop-shadow(0 0 10px rgba(141,255,138,0.90));
  animation: bounce 1.5s infinite;
}
@keyframes bounce{
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* Motion/animation toggle */
:root[data-motion="off"] .neon-arrow,
:root[data-motion="off"] .neon-arrow-blue,
:root[data-motion="off"] .neon-arrow-green{
  animation: none !important;
}

:root[data-motion="off"] *{
  scroll-behavior: auto;
}

/* =========================================================
   Moneda section visual upgrade
   ========================================================= */
.coin-showcase{
  display:grid;
  grid-template-columns: 260px 1fr;
  gap: 18px;
  align-items:center;
  margin: 18px 0 10px;
  padding: 16px 16px;
  border: 1px solid var(--border);
  background: linear-gradient(135deg, rgba(96,216,255,0.08), rgba(141,255,138,0.06));
  border-radius: 20px;
  box-shadow: var(--shadow-soft);
}
:root[data-theme="light"] .coin-showcase {
    background: #ffffff;
    border-color: rgba(0,0,0,0.1);
}

.coin-orb{
  margin:0;
  position: relative;
  width: 260px;
  height: 260px;
  display:grid;
  place-items:center;
}
.coin-logo{
  width: 184px;
  height: 184px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: 0 16px 60px rgba(0,0,0,0.30);
}
.coin-ring{
  position:absolute;
  inset: 0;
  border-radius: 50%;
  background:
    conic-gradient(from 0deg,
      rgba(96,216,255,0.00) 0deg,
      rgba(96,216,255,0.00) 220deg,
      rgba(96,216,255,0.80) 260deg,
      rgba(96,216,255,0.00) 360deg);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 12px), #000 calc(100% - 11px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 12px), #000 calc(100% - 11px));
  filter: drop-shadow(0 0 14px rgba(96,216,255,0.35));
  animation: spin 1.25s linear infinite;
}
.coin-glow{
  position:absolute;
  inset: 16px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.06), transparent 60%);
  filter: blur(2px);
}
.coin-dot{
  position:absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(96,216,255,0.95);
  box-shadow: 0 0 18px rgba(96,216,255,0.55);
  opacity: 0.9;
}
.coin-dot.d1{ top: 14px; left: 22px; animation: floaty 1.6s ease-in-out infinite; }
.coin-dot.d2{ bottom: 18px; right: 26px; background: rgba(141,255,138,0.95); box-shadow: 0 0 18px rgba(141,255,138,0.50); animation: floaty 1.9s ease-in-out infinite; }
.coin-dot.d3{ top: 62px; right: 8px; width: 8px; height: 8px; opacity: .75; animation: floaty 2.1s ease-in-out infinite; }

.coin-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  color: var(--text);
  font-weight: 750;
  font-size: 12px;
}
:root[data-theme="light"] .pill{
  background: rgba(0,0,0,0.05);
  border-color: rgba(0,0,0,0.12);
}

@media (max-width: 780px){
  .header-tools{ width:100%; justify-content:flex-start; margin-top:10px; }
  .coin-showcase{ grid-template-columns: 1fr; }
  .coin-orb{ margin: 0 auto; }
  .header-inner { flex-wrap:wrap; }
}

/* Header right cluster */
.header-right{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
/* =========================================================
   CTA arrows under the button (fix for Ecosistema + Dudas)
   ========================================================= */
.cta-stack .neon-arrow-blue,
.cta-stack .neon-arrow-green{
  display:block;
  margin: 6px auto 0;
}

/* =========================================================
   Coin cards (visual + images per currency)
   ========================================================= */
.coin-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 22px;
}
@media (max-width: 980px){
  .coin-grid{ grid-template-columns: 1fr; }
}

.coin-card-head{
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom: 12px;
}
.coin-card-title h3{ margin:0; }
.coin-tags{
  list-style:none;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:6px 0 0;
}

.coin-img-wrap{
  margin:0;
  width: 140px;
  height: 140px;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,0.18);
  background: linear-gradient(135deg, rgba(255,255,255,0.08), rgba(0,0,0,0.18));
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  box-shadow: 0 18px 60px rgba(0,0,0,0.35);
}
.coin-img-wrap::before{
  content:"";
  position:absolute;
  inset:-40px;
  background: radial-gradient(circle at 20% 20%, rgba(255,255,255,0.15), transparent 55%);
  transform: rotate(10deg);
  opacity: .9;
  pointer-events:none;
}
.coin-img-wrap img{
  width: 104px;
  height: 104px;
  object-fit: contain;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.35));
}

.coin-details{
  list-style:none;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:10px 0 0;
}

/* Extra glow per currency */
.coin-card{ position:relative; }
.coin-card::after{
  content:"";
  position:absolute;
  inset:-2px;
  opacity:0.55;
  pointer-events:none;
  mix-blend-mode: screen;
}

.coin-card.coin-core::after{
  background:
    radial-gradient(420px 220px at 20% -10%, rgba(96,216,255,0.22), transparent 60%),
    radial-gradient(420px 240px at 110% 30%, rgba(141,255,138,0.16), transparent 65%);
}
.coin-card.coin-corepro::after{
  background:
    radial-gradient(420px 240px at 30% -10%, rgba(255,215,120,0.22), transparent 60%),
    radial-gradient(420px 240px at 110% 30%, rgba(255,77,109,0.12), transparent 65%);
}
.coin-card.coin-nc::after{
  background:
    radial-gradient(420px 240px at 25% -10%, rgba(163,112,255,0.18), transparent 60%),
    radial-gradient(420px 240px at 110% 30%, rgba(96,216,255,0.16), transparent 65%);
}

/* Mini currency row inside the coin-showcase */
.coin-mini-row{
  list-style:none;
  padding:0;
  display:flex;
  align-items:center;
  gap:10px;
  margin:10px 0 0;
}
.coin-mini{
  width: var(--logo-frame-size);
  height: var(--logo-frame-size);
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.16);
  padding: 12px;
  object-fit: contain;
  box-shadow: 0 14px 50px rgba(0,0,0,0.30);
}

/* =========================================================
   Referral block (Otros servicios gratuitos)
   ========================================================= */
.referral-wrap{
  margin-top: 26px;
}
.referral-card::after{
  content:"";
  position:absolute;
  inset:-2px;
  opacity:0.65;
  pointer-events:none;
  background:
    radial-gradient(520px 260px at 15% 0%, rgba(96,216,255,0.18), transparent 60%),
    radial-gradient(520px 260px at 95% 20%, rgba(255,215,120,0.14), transparent 65%);
  mix-blend-mode: screen;
}
.ref-pills{
  list-style:none;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 10px;
}
:root[data-theme="light"] .coin-img-wrap{
  margin:0;
  background: #ffffff;
  border-color: rgba(0,0,0,0.12);
}
:root[data-theme="light"] .coin-mini{
  background: rgba(0,0,0,0.04);
  border-color: rgba(0,0,0,0.12);
}
:root[data-theme="light"] .coin-card::after,
:root[data-theme="light"] .referral-card::after{
  mix-blend-mode: normal;
  opacity: 0.35;
}


.cta-row li{ list-style:none; }

.card .meta li{ list-style:none; }

.ref-pills li{ list-style:none; }

.coin-mini-row li{ list-style:none; }

.coin-tags li{ list-style:none; }

.coin-details li{ list-style:none; }

.footer-links{ display:flex; gap:12px; flex-wrap:wrap; }

.footer-copyline{ margin:0; }


/* =========================================================
   Language suggestion modal (browser-language popup)
   ========================================================= */
.lang-modal{
  position: fixed;
  inset: 0;
  z-index: 200;
  display:none;
}
.lang-modal.is-open{
  display:block;
}
.lang-modal__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.60);
  backdrop-filter: blur(6px);
}
.lang-modal__panel{
  position: relative;
  width: min(560px, calc(100vw - 34px));
  margin: 18vh auto 0;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.14);
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(0,0,0,0.35));
  box-shadow: 0 30px 90px rgba(0,0,0,0.65);
  padding: 18px 18px 16px;
}
.lang-modal__title{
  margin: 0 0 8px;
  font-size: 16px;
  letter-spacing: -0.2px;
}
.lang-modal__text{
  margin: 0;
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
}
.lang-modal__actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top: 14px;
  flex-wrap:wrap;
}
.lang-modal__actions .btn{
  min-width: 140px;
}
@media (max-width: 520px){
  .lang-modal__panel{ margin-top: 14vh; }
  .lang-modal__actions{ justify-content:stretch; }
  .lang-modal__actions .btn{ width:100%; }
}


/* --- Header improvements (Jan 2026) --- */

/* Hide the header collapse arrow on large screens */
@media (min-width: 1200px){
  .header-collapse-btn{ display:none !important; }
}

/* Header tool icons */
.tool-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 18px;
  height: 18px;
  border-radius: 8px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 10px 24px rgba(0,0,0,0.20);
  color: rgba(255,255,255,0.90);
}
.tool-icon-svg{ display:block; }
:root[data-theme="light"] .tool-icon{
  background: rgba(0,0,0,0.05);
  border-color: rgba(0,0,0,0.10);
  box-shadow: 0 10px 20px rgba(15,23,42,0.10);
  color: rgba(15,23,42,0.78);
}

/* Motion ON/OFF mini indicator */
#motionToggle{
  gap: 10px;
}
#motionToggle .motion-indicator{
  margin-left: 2px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .6px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  line-height: 1.05;
  padding: 6px;
}
#motionToggle .motion-indicator.on{
  color: rgba(141,255,138,0.95);
  border-color: rgba(141,255,138,0.28);
  background: linear-gradient(135deg, rgba(141,255,138,0.22), rgba(10,168,95,0.12));
  box-shadow: 0 10px 24px rgba(10,168,95,0.16);
}
#motionToggle .motion-indicator.off{
  color: rgba(255,77,109,0.95);
  border-color: rgba(255,77,109,0.30);
  background: linear-gradient(135deg, rgba(255,77,109,0.20), rgba(201,24,58,0.10));
  box-shadow: 0 10px 24px rgba(255,77,109,0.14);
}
#motionToggle.is-off{
  filter: saturate(0.85) brightness(0.95);
}
:root[data-theme="light"] #motionToggle .motion-indicator{
  border-color: rgba(0,0,0,0.12);
  background: rgba(0,0,0,0.05);
}

/* Responsive header layout (fix gaps/empty space on small screens) */
@media (max-width: 780px){
  .header-right{ width:100%; justify-content:stretch; }
  .nav-actions{
    width:100%;
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap:10px;
  }
  .nav-actions .btn{ width:100%; }

  .header-tools{
    width:100%;
    margin-top:10px;
    margin-left: 0;
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap:10px;
    align-items:stretch;
  }
  .header-tools .tool{ width:100%; justify-content:space-between; }
  .header-tools #motionToggle{ width:100%; justify-content:space-between; }
}
@media (max-width: 420px){
  .nav-actions{ grid-template-columns: 1fr; }
  .header-tools{ grid-template-columns: 1fr; }
}

/* --- Badge Dorado (Garantía) --- */
.badge-gold {
  /* MODO OSCURO (Default): 
     Texto amarillo neón brillante, fondo transparente sutil. 
     Se ve elegante y tecnológico. */
  color: var(--gold1); /* #ffd66b */
  border-color: rgba(255, 214, 107, 0.4);
  background: rgba(255, 214, 107, 0.06);
  box-shadow: 0 0 15px rgba(255, 214, 107, 0.05); /* Pequeño resplandor */
}

/* MODO CLARO (Light Mode) */
:root[data-theme="light"] .badge-gold {
  /* Estrategia "Highlighter": 
     Usamos el amarillo brillante DE FONDO. 
     Esto lo hace imposible de ignorar en un fondo blanco. */
  background: var(--gold1); /* #ffd66b */
  color: #000000;           /* Texto negro para lectura perfecta */
  border-color: #e0bc5e;    /* Borde sutil para definición */
  font-weight: 800;         /* Un poco más grueso para impactar */
  box-shadow: 0 4px 15px rgba(255, 214, 107, 0.5); /* Sombra dorada */
}

/* =========================================
   ESTILOS CARRUSEL Y OFERTAS (LANZAMIENTO)
   ========================================= */

/* Contenedor del Carrusel */
.carousel-wrapper {
  position: relative;
  margin: 0 -10px;
  padding: 0 10px;
}

.carousel-track {
  display: flex;
  gap: 24px; /* Más espacio entre tarjetas */
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  padding: 10px 4px 40px; /* Espacio abajo para sombras */
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; 
  -ms-overflow-style: none;
}
.carousel-track::-webkit-scrollbar { display: none; }

/* Flechas de Navegación */
.carousel-arrow {
  position: absolute;
  top: 45%; /* Un poco más arriba para centrar visualmente */
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(5,6,10,0.6);
  border: 1px solid rgba(255,255,255,0.15);
  backdrop-filter: blur(12px);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 20;
  transition: all 0.2s ease;
  box-shadow: 0 8px 20px rgba(0,0,0,0.4);
}
:root[data-theme="light"] .carousel-arrow {
  background: rgba(255,255,255,0.9);
  border-color: rgba(0,0,0,0.15);
  color: #000;
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}
.carousel-arrow:hover {
  background: var(--blue1);
  border-color: var(--blue1);
  color: #000;
  transform: translateY(-50%) scale(1.1);
}
.carousel-arrow.left { left: -15px; }
.carousel-arrow.right { right: -15px; }

/* Ajuste de tarjetas en carrusel */
.carousel-track .card {
  min-width: 320px; /* Tarjetas más anchas para que quepa la info */
  max-width: 320px;
  scroll-snap-align: center;
  display: flex;
  flex-direction: column;
  height: auto; /* Altura automática */
}

/* Etiqueta Roja Circular 50% */
.badge-discount-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  background: #ff0000;
  color: #fff;
  border-radius: 50%;
  font-size: 9px;
  font-weight: 900;
  text-align: center;
  line-height: 1.05;
  padding: 6px;
  box-shadow: 0 0 15px rgba(255, 0, 0, 0.5);
  transform: rotate(-12deg);
  border: 2px solid rgba(255,255,255,0.3);
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 10;
  animation: pulseDiscount 2s infinite ease-in-out;
}
@keyframes pulseDiscount {
  0% { transform: rotate(-12deg) scale(1); }
  50% { transform: rotate(-12deg) scale(1.15); box-shadow: 0 0 25px rgba(255, 0, 0, 0.7); }
  100% { transform: rotate(-12deg) scale(1); }
}

/* IMPORTANTE: Respetar preferencia de NO MOVIMIENTO */
:root[data-motion="off"] .badge-discount-circle {
  animation: none;
  transform: rotate(-12deg);
}

/* TyC Pequeño */
.tyc-note {
  font-size: 11px;
  color: var(--muted);
  opacity: 0.6;
  display: inline-block;
  margin-left: 4px;
}

/* Mejoras visuales para las listas de beneficios */
.benefit-list {
  margin: 15px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-grow: 1; /* Empuja el botón hacia abajo */
}
.benefit-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  line-height: 1.4;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.benefit-item:last-child { border-bottom: none; }
:root[data-theme="light"] .benefit-item { border-bottom-color: rgba(0,0,0,0.06); }

.benefit-icon {
  flex-shrink: 0;
  width: 20px;
  text-align: center;
  font-size: 14px;
}

/* Bloque de precio y NC destacado */
.price-block {
  text-align: center;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--border);
}
.nc-amount {
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 4px;
}
.nc-sub {
  font-size: 11px;
  opacity: 0.8;
}
.price-row {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
}
.price-old {
  text-decoration: line-through;
  color: var(--muted);
  font-size: 14px;
}
.price-new {
  font-size: 32px;
  font-weight: 800;
  color: var(--text);
  letter-spacing: -0.5px;
}
.price-period {
  font-size: 13px;
  font-weight: 400;
  color: var(--muted);
}

/* =========================================
   ESTILOS DE TIERS (Jerarquía Visual)
   ========================================= */

/* =========================================
   ESTILOS DE TIERS Y MODALES (VERSION FINAL)
   ========================================= */

/* =========================================
   ESTILOS DE TIERS Y MODALES (VERSION FINAL PULIDA)
   ========================================= */

/* Ajuste para que las tarjetas crezcan según contenido */
.carousel-track .card {
  min-width: 320px;
  max-width: 320px;
  height: auto;
  align-self: flex-start;
  /* IMPORTANTE: Padding superior extra para que el badge respire */
  padding-top: 30px; 
  position: relative; /* Contexto para el badge absoluto */
}

/* --- BADGE 50% OFF (VISIBILIDAD TOTAL) --- */
.badge-discount-circle {
  position: absolute;
  /* Lo metemos DENTRO de la tarjeta para que no se corte */
  top: 12px; 
  right: 12px;
  width: 52px; /* Un poco más grande */
  height: 52px;
  z-index: 20;
  box-shadow: 0 6px 20px rgba(0,0,0,0.6); /* Sombra fuerte para despegarlo del fondo */
  background: #ff0000;
  color: #fff;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 900;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
  border: 2px solid rgba(255,255,255,0.4);
  transform: rotate(-10deg);
  animation: pulseDiscount 2s infinite ease-in-out;
}

/* Evitar que el badge tape el título o etiquetas */
.card-header-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  /* Margen derecho de seguridad para que el texto no toque el badge */
  padding-right: 50px; 
}

/* --- MODALES (PANEL AMPLIO SIN SCROLL) --- */
.detail-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 20px;
  backdrop-filter: blur(20px);
  background: rgba(0, 0, 0, 0.85);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.detail-modal.is-visible { display: flex; opacity: 1; }

.detail-modal-content {
  background: #0f1119;
  border: 1px solid rgba(255,255,255,0.15);
  width: 95%; /* Ocupa casi todo el ancho en móviles */
  max-width: 1000px; /* MUCHO MÁS ANCHO en PC para permitir 2 columnas */
  max-height: 95vh; /* Ocupa casi toda la altura si es necesario */
  border-radius: 24px;
  box-shadow: 0 50px 100px rgba(0,0,0,0.9);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: scale(0.95);
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.detail-modal.is-visible .detail-modal-content { transform: scale(1); }

.dm-header {
  padding: 20px 30px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(255,255,255,0.02);
  flex-shrink: 0; /* El header no se encoge */
}
.dm-title { margin: 0; font-size: 22px; color: #fff; letter-spacing: -0.5px; }
.dm-close { 
  background: rgba(255,255,255,0.1); 
  border: none; 
  color: #fff; 
  cursor: pointer; 
  width: 36px; height: 36px; 
  border-radius: 50%; 
  display:grid; place-items:center;
  transition: background 0.2s;
}
.dm-close:hover { background: rgba(255,255,255,0.25); }

.dm-body {
  padding: 30px;
  overflow-y: auto; /* Scroll solo si es absolutamente necesario */
  /* GRID DE 2 COLUMNAS AUTOMÁTICO */
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); 
  gap: 20px;
  align-content: start;
}

.dm-item {
  background: rgba(255,255,255,0.03);
  padding: 18px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.06);
  transition: transform 0.2s, background 0.2s;
}
.dm-item:hover {
  background: rgba(255,255,255,0.05);
  transform: translateY(-2px);
}
.dm-item h4 { margin: 0 0 8px; color: var(--blue1); font-size: 16px; display:flex; align-items:center; gap:10px; font-weight: 700; }
.dm-item p { margin: 0; font-size: 14px; color: rgba(255,255,255,0.75); line-height: 1.5; }

/* Listas en tarjetas (Beneficios rápidos) */
.benefit-list {
  margin: 15px 0 20px;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.benefit-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  line-height: 1.3;
  padding: 4px 0;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.benefit-icon { flex-shrink: 0; width: 20px; text-align: center; font-size: 14px; }

/* Botón Ver detalles */
.btn-details {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.15);
  color: var(--muted);
  width: 100%;
  margin-top: 10px;
  font-size: 12px;
  padding: 10px;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s;
  font-weight: 600;
}
.btn-details:hover {
  border-color: var(--text);
  color: #fff;
  background: rgba(255,255,255,0.08);
}

/* Estilos de Tiers (Base) */
.card-tier-1 { border-top: 4px solid var(--blue1); background: linear-gradient(180deg, rgba(96,216,255,0.05), rgba(0,0,0,0.2)); }
.card-tier-2 { border: 1px solid rgba(255,214,107,0.3); background: linear-gradient(180deg, rgba(255,214,107,0.08), rgba(0,0,0,0.4)); transform: scale(1.02); z-index: 5; }
.card-tier-3 { border-top: 4px solid var(--red1); background: linear-gradient(160deg, rgba(255,77,109,0.08), rgba(0,0,0,0.3)); }
.card-tier-4 { border: 1px solid rgba(179,136,255,0.4); background: linear-gradient(135deg, rgba(179,136,255,0.1), rgba(0,0,0,0.6)); }
.card-tier-5 { border: 1px solid rgba(255,255,255,0.5); background: radial-gradient(circle at 50% 0%, rgba(255,255,255,0.15), rgba(0,0,0,0.9)); }

/* Ajustes Light Mode */
:root[data-theme="light"] .detail-modal-content { background: #fff; border-color: rgba(0,0,0,0.1); color:#000; }
:root[data-theme="light"] .dm-title, :root[data-theme="light"] .dm-close { color: #000; }
:root[data-theme="light"] .dm-close:hover { background: rgba(0,0,0,0.1); }
:root[data-theme="light"] .dm-item { background: #f4f6f8; border-color: rgba(0,0,0,0.05); }
:root[data-theme="light"] .dm-item p { color: #555; }
:root[data-theme="light"] .badge-discount-circle { border-color: rgba(0,0,0,0.1); box-shadow: 0 5px 15px rgba(255,0,0,0.3); }

/* =========================================
   CÁPSULA DE AVISO (PRUEBA GRATUITA)
   ========================================= */
.capsule-trial {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 24px;
  border-radius: 99px;
  max-width: 95%;
  backdrop-filter: blur(4px);
  
  /* MODO OSCURO (Default) */
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

/* Icono (Regalo) */
.capsule-trial .icon-gift {
  font-size: 18px;
  color: var(--green1); /* Verde Neón (#8dff8a) */
  transition: color 0.3s;
}

/* Texto */
.capsule-trial span {
  font-size: 13px;
  line-height: 1.4;
  text-align: left;
  color: var(--muted);
}

.capsule-trial a {
  color: var(--text);
  text-decoration: underline;
  font-weight: 700;
  margin-left: 3px;
  cursor: pointer;
}

/* --- AJUSTES PARA TEMA CLARO (LIGHT MODE) --- */
:root[data-theme="light"] .capsule-trial {
  background: #ffffff;
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 5px 20px rgba(0,0,0,0.05);
}

:root[data-theme="light"] .capsule-trial .icon-gift {
  color: var(--green2); /* Verde Oscuro (#0aa85f) para contraste perfecto */
}

:root[data-theme="light"] .capsule-trial span {
  color: #555; /* Gris oscuro para lectura */
}

:root[data-theme="light"] .capsule-trial a {
  color: #000; /* Negro sólido */
}

/* =========================================================
   CORRECCIONES DEFINITIVAS TEMA CLARO (LIGHT MODE)
   ========================================================= */

/* 1. ARREGLO DE BOTONES "VER DETALLES" (HOVER) 
   Evita que el texto desaparezca al pasar el mouse */
:root[data-theme="light"] .btn-details {
  border-color: rgba(0, 0, 0, 0.15);
  color: #555;
  background: transparent;
}

:root[data-theme="light"] .btn-details:hover {
  background: rgba(0, 0, 0, 0.05);
  border-color: #000;
  color: #000 !important; /* Forza el negro siempre */
}

/* 2. ARREGLO DEL MODAL LEYENDA (TEXTOS INVISIBLES)
   Usamos !important para sobrescribir el style="color:#fff" del HTML */
:root[data-theme="light"] #modal-leyenda .dm-title,
:root[data-theme="light"] #modal-pack-leyenda .dm-title,
:root[data-theme="light"] #modal-leyenda .dm-item h4,
:root[data-theme="light"] #modal-pack-leyenda .dm-item h4 {
  color: #0f172a !important; /* Negro azulado oscuro */
  text-shadow: none !important; /* Quita el brillo de neón */
}

/* Arreglo para el ícono blanco dentro del modal leyenda */
:root[data-theme="light"] #modal-leyenda .dm-item h4 i,
:root[data-theme="light"] #modal-pack-leyenda .dm-item h4 i {
  color: #000 !important;
}

/* 3. DISEÑO DE TIERS (TARJETAS) EN TEMA CLARO */

/* TIER 1: INICIAL (Clean Blue) */
:root[data-theme="light"] .card-tier-1 {
  background: linear-gradient(180deg, #f0f9ff 0%, #ffffff 100%);
  border-top: 4px solid var(--blue2);
  box-shadow: 0 10px 30px rgba(96, 216, 255, 0.15);
}
:root[data-theme="light"] .card-tier-1 .nc-amount { color: var(--blue2) !important; }

/* TIER 2: INTERMEDIA (Elegant Gold) */
:root[data-theme="light"] .card-tier-2 {
  background: linear-gradient(160deg, #fffdf5 0%, #fff 60%);
  border: 1px solid rgba(255, 180, 0, 0.3);
  box-shadow: 0 15px 40px rgba(255, 190, 0, 0.15);
}
:root[data-theme="light"] .card-tier-2 .nc-amount { color: #d48806 !important; }
:root[data-theme="light"] .card-tier-2 h3 { color: #d48806 !important; }

/* TIER 3: AVANZADA (Dynamic Red) */
:root[data-theme="light"] .card-tier-3 {
  background: linear-gradient(180deg, #fff0f3 0%, #ffffff 100%);
  border-top: 4px solid #e11d48;
  box-shadow: 0 10px 30px rgba(255, 77, 109, 0.15);
}
:root[data-theme="light"] .card-tier-3 .nc-amount { color: #e11d48 !important; }

/* TIER 4: ÉLITE (Royal Purple) */
:root[data-theme="light"] .card-tier-4 {
  background: linear-gradient(135deg, #fdfaff 0%, #f3e8ff 100%);
  border: 1px solid rgba(147, 51, 234, 0.2);
  box-shadow: 0 15px 40px rgba(147, 51, 234, 0.15);
}
:root[data-theme="light"] .card-tier-4 .nc-amount { color: #7e22ce !important; }

/* TIER 5: LEYENDA (Divine Platinum) - ARREGLADO */
:root[data-theme="light"] .card-tier-5 {
  background: 
    radial-gradient(circle at 100% 0%, rgba(0,0,0,0.05), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);
  border: 1px solid #94a3b8;
  box-shadow: 0 20px 60px rgba(0,0,0,0.2);
  position: relative; /* Necesario para la corona absoluta */
  color: #000;
}

/* Forzar textos negros en la tarjeta Leyenda */
:root[data-theme="light"] .card-tier-5 h3,
:root[data-theme="light"] .card-tier-5 h4,
:root[data-theme="light"] .card-tier-5 .nc-amount {
  color: #0f172a !important;
  text-shadow: none !important;
}
:root[data-theme="light"] .card-tier-5 .badge {
  background: #0f172a !important;
  color: #fff !important;
  border: none;
}

/* LA CORONA: Ahora es una marca de agua en la esquina, no empuja el contenido */
:root[data-theme="light"] .card-tier-5::after {
  content: "👑"; 
  position: absolute;   /* Saca el elemento del flujo normal */
  bottom: -15px;        /* Lo pega abajo */
  right: -10px;         /* Lo pega a la derecha */
  font-size: 80px;      /* Tamaño grande */
  opacity: 0.07;        /* Muy sutil (marca de agua) */
  pointer-events: none; /* No interfiere con clics */
  filter: grayscale(100%); /* Elegante en escala de grises */
  z-index: 0;           /* Detrás del contenido */
}

/* 4. ARREGLO DE COLORES DE TÍTULOS EN PAQUETES (RECARGAS) */
:root[data-theme="light"] .price-old { color: #94a3b8; }
:root[data-theme="light"] .price-new { color: #0f172a; }
:root[data-theme="light"] .card h4 { color: #334155; } 

/* Colores específicos forzados */
:root[data-theme="light"] .card h4[style*="color:var(--green1)"] { color: #166534 !important; }
:root[data-theme="light"] .card h4[style*="color:var(--blue1)"] { color: #0369a1 !important; }
:root[data-theme="light"] .card h4[style*="color:var(--gold1)"] { color: #b45309 !important; }
:root[data-theme="light"] .card h4[style*="color:#b388ff"] { color: #7e22ce !important; }
:root[data-theme="light"] .card h4[style*="color:#fff"] { color: #0f172a !important; }

/* Arreglo badge Popular en Pro */
:root[data-theme="light"] .card-tier-2 .badge {
  background: var(--blue2) !important;
  color: #fff !important;
}

/* Cápsula Informativa (NC) */
.capsule-info {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 24px;
  border-radius: 99px;
  max-width: 90%;
  backdrop-filter: blur(6px);
  background: rgba(96, 216, 255, 0.05); /* Fondo azul muy sutil */
  border: 1px solid rgba(96, 216, 255, 0.15); /* Borde azul sutil */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  font-size: 13px;
  line-height: 1.4;
  color: var(--muted);
  text-align: left;
}

.capsule-info strong {
  color: var(--text); /* Blanco en modo oscuro */
}

.capsule-info .icon-info {
  font-size: 18px;
  color: var(--blue1); /* Azul Neón #60d8ff */
  flex-shrink: 0;
}

/* Soporte para Modo Claro */
:root[data-theme="light"] .capsule-info {
  background: #ffffff;
  border-color: rgba(96, 216, 255, 0.3);
  color: #555;
}
:root[data-theme="light"] .capsule-info strong {
  color: #000;
}
:root[data-theme="light"] .capsule-info .icon-info {
  color: var(--blue2); /* Azul más oscuro para contraste */
}

/* =========================================
   FIX: TARJETA DE GARANTÍA (YOUTUBE STUDIO)
   ========================================= */

/* --- MODO OSCURO (Default) --- 
   Recreamos el estilo que tenías en línea para que no se pierda */
#card-garantia {
  border-color: rgba(255, 214, 107, 0.3);
  background: linear-gradient(180deg, rgba(255, 214, 107, 0.08), rgba(0, 0, 0, 0));
}

/* --- MODO CLARO (Light Mode) --- 
   Aquí hacemos que destaque con fuerza */
:root[data-theme="light"] #card-garantia {
  /* Fondo: Un amarillo crema muy suave que degrada a blanco */
  background: linear-gradient(180deg, #fffdf0 0%, #ffffff 100%) !important;
  
  /* Borde: Dorado sólido para definir límites claramente */
  border: 1px solid #e0bc5e !important;
  
  /* Sombra: Resplandor dorado difuso */
  box-shadow: 0 15px 40px rgba(255, 180, 0, 0.15) !important;
  
  /* Texto: Forzamos el título a un tono dorado oscuro para contraste */
  color: #000;
}

:root[data-theme="light"] #card-garantia h3 {
  color: #b48509 !important; /* Dorado oscuro/bronce para el título */
}

/* Opcional: Si quieres que el texto pequeño dentro de esa tarjeta sea más negro */
:root[data-theme="light"] #card-garantia p {
  color: #334155 !important;
}

.policy-card-header {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
}

.policy-card-header .meta {
  margin-bottom: 0;
}

.policy-intro {
  max-width: 72ch;
}

.policy-pillars {
  display: grid;
  gap: 18px;
  margin-top: 22px;
}

.policy-pillar {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  padding: 20px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.10);
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
}

.policy-pillar-number {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  font-size: 20px;
  font-weight: 800;
  color: var(--gold1);
  background: radial-gradient(circle at 30% 30%, rgba(255,214,107,0.28), rgba(255,214,107,0.08));
  border: 1px solid rgba(255,214,107,0.28);
}

.policy-pillar h4 {
  margin: 0 0 10px;
  font-size: 18px;
  color: #fff;
}

.policy-pillar p:last-child,
.policy-footer p:last-child {
  margin-bottom: 0;
}

.policy-footer {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.10);
}

.guarantee-info-card h3 {
  color: var(--blue2);
}

:root[data-theme="light"] .policy-pillar {
  background: linear-gradient(180deg, #fffdf5 0%, #ffffff 100%);
  border-color: rgba(180,132,9,0.16);
}

:root[data-theme="light"] .policy-pillar-number {
  color: #8a6400;
  background: linear-gradient(180deg, rgba(255,214,107,0.32), rgba(255,214,107,0.12));
  border-color: rgba(180,132,9,0.24);
}

:root[data-theme="light"] .policy-pillar h4 {
  color: #7a5900;
}

:root[data-theme="light"] .policy-footer {
  border-top-color: rgba(0,0,0,0.10);
}

:root[data-theme="light"] .guarantee-info-card h3 {
  color: #0f5d86;
}

@media (max-width: 640px) {
  .policy-pillar {
    grid-template-columns: 1fr;
  }

  .policy-pillar-number {
    width: 42px;
    height: 42px;
  }
}

/* =========================================
   NUEVO: Tabs Interactivas (Cómo Funciona)
   ========================================= */
.tabs-container {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 30px;
  min-height: 450px;
}

/* Menú Izquierdo */
.tabs-menu {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-right: 1px solid rgba(255,255,255,0.05);
  padding-right: 20px;
}

.tab-btn {
  background: transparent;
  border: none;
  color: var(--muted);
  text-align: left;
  padding: 15px 20px;
  border-radius: 14px;
  cursor: pointer;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: all 0.3s ease;
  font-size: 15px;
}

.tab-btn i { font-size: 18px; width: 24px; text-align: center; opacity: 0.7; }

.tab-btn:hover {
  background: rgba(255,255,255,0.05);
  color: var(--text);
}

.tab-btn.active {
  background: linear-gradient(90deg, rgba(96,216,255,0.1), transparent);
  color: #fff;
  border-left: 3px solid var(--blue1);
}
.tab-btn.active i { color: var(--blue1); opacity: 1; }

/* Panel de Contenido */
.tabs-content { position: relative; }
.tab-panel {
  display: none;
  animation: fadeIn 0.4s ease;
}
.tab-panel.active { display: block; }

.panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 15px;
}
.panel-header h3 { margin: 0; font-size: 24px; }

/* Pasos numerados */
.process-steps {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin: 25px 0;
}
.process-steps li {
  display: flex;
  align-items: center;
  gap: 15px;
  background: rgba(0,0,0,0.2);
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.05);
}
.process-steps span {
  background: var(--surface2);
  width: 30px; height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 14px;
  color: var(--blue1);
}

.level-box {
  background: rgba(255,255,255,0.05);
  padding: 15px;
  border-radius: 12px;
  margin-bottom: 10px;
  display: flex;
  justify-content: space-between;
}

@keyframes fadeIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

/* Responsive Tabs */
@media (max-width: 800px) {
  .tabs-container { grid-template-columns: 1fr; padding: 20px; }
  .tabs-menu { 
    flex-direction: row; 
    overflow-x: auto; 
    border-right: none; 
    border-bottom: 1px solid var(--border); 
    padding-bottom: 10px; padding-right: 0;
  }
  .tab-btn { min-width: 140px; border-left: none; border-bottom: 3px solid transparent; }
  .tab-btn.active { border-left: none; border-bottom-color: var(--blue1); background: none; }
}


/* =========================================
   NUEVO: Bento Grid (Ecosistema)
   ========================================= */
.bento-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1000px;
  margin: 0 auto;
}

.bento-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}
.bento-card:hover {
  transform: translateY(-4px);
  background: rgba(255,255,255,0.08);
}

.bento-card.span-2 { grid-column: span 2; }
.bento-card.bg-gradient {
  background: linear-gradient(135deg, rgba(27,108,255,0.15), rgba(5,6,10,0.8));
  border-color: rgba(96,216,255,0.3);
}

.bento-icon {
  font-size: 24px;
  margin-bottom: 15px;
  color: var(--muted);
  width: 45px; height: 45px;
  background: rgba(0,0,0,0.3);
  border-radius: 12px;
  display: grid; place-items: center;
}
.bento-icon.em-blue { color: var(--blue1); }
.bento-icon.em-green { color: var(--green1); }
.bento-icon.em-gold { color: var(--gold1); }

/* FIX: no dejes que el "reset" de .em-* afecte a los iconos del bento (light mode) */
:root[data-theme="light"] .bento-icon.em-blue,
:root[data-theme="light"] .bento-icon.em-green,
:root[data-theme="light"] .bento-icon.em-gold,
:root[data-theme="light"] .bento-icon.em-red{
  display: grid;
  place-items: center;
  padding: 0;
  box-sizing: border-box;
}

/* (Opcional) que el cuadrito del icono se vea más “pro” en claro */
:root[data-theme="light"] .bento-icon{
  background: rgba(15,23,42,0.05);
  border: 1px solid rgba(15,23,42,0.08);
}


.bento-card h3 { margin: 0 0 10px; font-size: 18px; }
.bento-card p { font-size: 14px; line-height: 1.5; color: var(--muted); margin: 0; }

.mini-tags {
  display: flex; gap: 8px; margin-top: auto; padding-top: 15px;
  list-style: none; padding-left: 0; flex-wrap: wrap;
}
.mini-tags li {
  font-size: 11px;
  background: rgba(255,255,255,0.1);
  padding: 4px 10px;
  border-radius: 99px;
  color: var(--text);
}

.bento-content-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
@media (max-width: 768px) {
  .bento-grid { grid-template-columns: 1fr; }
  .bento-card.span-2 { grid-column: span 1; }
  .bento-content-row { flex-direction: column; align-items: flex-start; }
}

/* Light Mode Fixes */
:root[data-theme="light"] .tabs-container { background: #fff; border-color: rgba(0,0,0,0.1); }
:root[data-theme="light"] .tab-btn.active { color: var(--blue2); background: rgba(96,216,255,0.1); }
:root[data-theme="light"] .process-steps li { background: #f8fafc; border-color: rgba(0,0,0,0.05); }
:root[data-theme="light"] .bento-card { background: #fff; border-color: rgba(0,0,0,0.1); box-shadow: 0 4px 15px rgba(0,0,0,0.05); }
:root[data-theme="light"] .bento-card h3 { color: #000; }
:root[data-theme="light"] .mini-tags li { background: #eee; color: #555; }

/* =========================================
   OPTIMIZACIÓN DE TEXTOS DESTACADOS (LIGHT MODE)
   ========================================= */

/* Reset general para .em-* en modo claro.
   Quitamos el 'background-clip: text' para que el color
   sea un fondo real (pastilla) y no solo el color de la letra.
*/
:root[data-theme="light"] .em-blue:not(.bento-icon),
:root[data-theme="light"] .em-green:not(.bento-icon),
:root[data-theme="light"] .em-red:not(.bento-icon),
:root[data-theme="light"] .em-gold:not(.bento-icon) {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 8px;
  font-weight: 800;
  margin: 0 3px;

  -webkit-text-fill-color: initial !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  text-shadow: none !important;
  transition: all 0.3s ease;
}


/* --- AZUL (Ej: Éxito) --- */
:root[data-theme="light"] .em-blue {
  background: linear-gradient(135deg, #1b6cff, #0ea5e9); /* Azul intenso */
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(27, 108, 255, 0.3); /* Sombra azulada */
}

/* --- VERDE (Ej: Vivo, Ecosistema) --- */
:root[data-theme="light"] .em-green {
  background: linear-gradient(135deg, #16a34a, #22c55e); /* Verde hoja fuerte */
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(22, 163, 74, 0.3);
}

/* --- ROJO (Ej: Motor de Crecimiento) --- */
:root[data-theme="light"] .em-red {
  background: linear-gradient(135deg, #e11d48, #f43f5e); /* Rojo rosado vibrante */
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(225, 29, 72, 0.3);
}

/* --- DORADO (Ej: Moneda) --- */
:root[data-theme="light"] .em-gold {
  background: linear-gradient(135deg, #f59e0b, #fbbf24); /* Ámbar/Oro */
  /* IMPORTANTE: Texto oscuro en fondo amarillo para contraste AAA */
  color: #451a03 !important; 
  box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3);
}

/* =========================================
   MODERN COIN SECTION (Static & Clean)
   ========================================= */

.coin-modern-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr 1fr;
  gap: 24px;
  align-items: center;
  margin-top: 40px;
}

@media (max-width: 900px) {
  .coin-modern-grid { grid-template-columns: 1fr; gap: 40px; }
}

/* Tarjeta Base */
.coin-card-modern {
  position: relative;
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 24px;
  padding: 30px 20px;
  text-align: center;
  /* Mantenemos una transición suave solo para el Hover del mouse */
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

/* Hover Effect: Solo se mueve si el usuario pasa el mouse */
.coin-card-modern:hover {
  transform: translateY(-5px);
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  border-color: rgba(255,255,255,0.15);
}

/* Visual */
.coin-visual {
  position: relative;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.coin-img {
  width: 120px;
  height: 120px;
  object-fit: contain;
  z-index: 2;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.5));
  /* Sin animaciones, sin trucos de renderizado necesarios */
}

/* Brillo estático detrás de la moneda */
.glow-bg {
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  filter: blur(45px); /* Un poco más de blur para suavidad */
  opacity: 0.35;
  z-index: 1;
}
.glow-bg.blue { background: var(--blue1); }
.glow-bg.gold { background: var(--gold1); }
.glow-bg.red { background: var(--red1); }

/* Textos y Estructura */
.coin-header h3 { margin: 0; font-size: 20px; letter-spacing: -0.5px; }
.coin-subtitle {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--muted);
  margin-top: 5px;
  font-weight: 700;
}

.coin-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
  margin: 20px 0;
}

/* --- ACTUALIZACIÓN: Colores de íconos en Modo Oscuro --- */

.coin-features-list {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
  display: inline-block;
}

.coin-features-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  color: rgba(255,255,255,0.8);
  font-size: 14px;
}

/* Base del ícono (tamaño y alineación) */
.coin-features-list li i {
  width: 16px;
  text-align: center;
  /* Ya no usamos color: var(--muted) aquí para que no sean grises */
}

/* Asignación de colores específicos por Tier (Modo Oscuro) */
.tier-basic .coin-features-list li i {
  color: var(--blue1); /* Azul Neón (#60d8ff) */
}

.tier-main .coin-features-list li i {
  color: var(--gold1); /* Dorado Neón (#ffd66b) */
}

.tier-premium .coin-features-list li i {
  color: var(--red1);  /* Rojo Neón (#ff4d6d) */
}

/* --- ESTILOS TARJETA CENTRAL (NC) --- */
.tier-main {
  border-color: rgba(255, 214, 107, 0.3);
  background: linear-gradient(180deg, rgba(255, 214, 107, 0.05), rgba(0,0,0,0.2));
  transform: scale(1.05);
  z-index: 2;
  box-shadow: 0 20px 50px rgba(0,0,0,0.3);
}
.tier-main:hover {
  transform: scale(1.05) translateY(-5px);
}
.tier-main .coin-img { width: 150px; height: 150px; }
.tier-main .coin-visual { height: 160px; }

.popular-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--gold1);
  color: #000;
  padding: 4px 12px;
  border-radius: 99px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
  box-shadow: 0 0 15px rgba(255, 214, 107, 0.4);
}

.coin-desc-main {
  font-size: 13px;
  color: var(--text);
  line-height: 1.5;
  margin: -10px 0 20px;
  opacity: 0.9;
}

.economy-footer {
  text-align: center;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.05);
}
.economy-footer p { color: var(--muted); font-size: 14px; margin: 0; }
.economy-footer i { margin-right: 6px; color: var(--blue1); }

/* --- LIGHT MODE ADJUSTMENTS --- */
:root[data-theme="light"] .coin-card-modern {
  background: #ffffff;
  border-color: rgba(0,0,0,0.1);
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
:root[data-theme="light"] .coin-features-list li { color: #555; }
:root[data-theme="light"] .coin-divider { background: linear-gradient(90deg, transparent, rgba(0,0,0,0.08), transparent); }
:root[data-theme="light"] .coin-subtitle { color: #888; }
:root[data-theme="light"] .tier-main {
  background: linear-gradient(180deg, #fffdf5, #ffffff);
  border-color: rgba(255, 180, 0, 0.3);
}
:root[data-theme="light"] .coin-desc-main { color: #333; }
:root[data-theme="light"] .tier-basic .coin-features-list i { color: var(--blue2); }
:root[data-theme="light"] .tier-main .coin-features-list i { color: #b48509; }
:root[data-theme="light"] .tier-premium .coin-features-list i { color: #e11d48; }

/* =========================================
   FAQ Section (Clean & Professional)
   ========================================= */

.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 30px;
}

@media (max-width: 768px) {
  .faq-grid { grid-template-columns: 1fr; }
}

.faq-item {
  height: fit-content;
}

.faq-item details {
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.faq-item details:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.15);
}

.faq-item details[open] {
  background: rgba(255,255,255,0.06);
  border-color: var(--blue1); /* Highlight sutil al abrir */
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.faq-item summary {
  padding: 18px 20px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none; /* Ocultar triángulo default */
  user-select: none;
}
.faq-item summary::-webkit-details-marker { display: none; }

.faq-q {
  font-weight: 600;
  font-size: 15px;
  color: var(--text);
  line-height: 1.4;
}

.faq-icon {
  color: var(--muted);
  font-size: 12px;
  transition: transform 0.3s ease;
}

/* Rotar icono al abrir */
.faq-item details[open] summary .faq-icon {
  transform: rotate(180deg);
  color: var(--blue1);
}

.faq-a {
  padding: 0 20px 20px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
  border-top: 1px solid rgba(255,255,255,0.05);
  margin-top: -5px; /* Ajuste visual */
  padding-top: 15px;
  animation: fadeIn 0.3s ease;
}

.faq-a strong {
  color: var(--text);
}

/* Light Mode Support */
:root[data-theme="light"] .faq-item details {
  background: #ffffff;
  border-color: rgba(0,0,0,0.1);
}
:root[data-theme="light"] .faq-item details:hover {
  background: #f8fafc;
}
:root[data-theme="light"] .faq-item details[open] {
  border-color: var(--blue2);
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
:root[data-theme="light"] .faq-q { color: #0f172a; }
:root[data-theme="light"] .faq-a { color: #555; border-top-color: rgba(0,0,0,0.05); }
:root[data-theme="light"] .faq-a strong { color: #000; }

/* =========================================================
   FINAL LANDING POLISH OVERRIDES
   ========================================================= */

.header {
  box-shadow: 0 16px 36px rgba(0,0,0,0.18);
}

.header-inner,
.brand,
.brand img,
.brand .title strong,
.brand .title span,
.header-right {
  transition: padding .24s ease, gap .24s ease, transform .24s ease, opacity .24s ease, width .24s ease, height .24s ease, font-size .24s ease, background .24s ease, border-color .24s ease, box-shadow .24s ease;
}

body:not(.header-collapsed) .header-inner {
  min-height: 74px;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-right: calc(var(--pad) + 84px);
  gap: 12px;
}

body:not(.header-collapsed) .header .brand {
  gap: 10px;
}

body:not(.header-collapsed) .header .brand img {
  width: clamp(48px, 5vw, 56px);
  height: clamp(48px, 5vw, 56px);
  border-radius: 16px;
}

body:not(.header-collapsed) .header .brand .title {
  line-height: 1.02;
}

body:not(.header-collapsed) .header .brand .title strong {
  font-size: 15px;
}

body:not(.header-collapsed) .header .brand .title span {
  font-size: 11px;
}

body:not(.header-collapsed) .header-right {
  gap: 10px;
}

body:not(.header-collapsed) .header .nav-actions {
  gap: 8px;
}

body:not(.header-collapsed) .header .nav-actions .btn,
body:not(.header-collapsed) .header #motionToggle {
  padding: 9px 12px;
  border-radius: 12px;
}

body:not(.header-collapsed) .header .header-tools {
  gap: 8px;
}

body:not(.header-collapsed) .header .header-tools .tool {
  gap: 7px;
  padding: 3px 8px;
}

body:not(.header-collapsed) .header .tool-icon {
  width: 16px;
  height: 16px;
}

body:not(.header-collapsed) .header .tool-label,
body:not(.header-collapsed) .header .select,
body:not(.header-collapsed) .header #motionToggle {
  font-size: 11px;
}

body:not(.header-collapsed) .header .select {
  padding-top: 5px;
  padding-bottom: 5px;
}

body:not(.header-collapsed) .header #motionToggle {
  gap: 8px;
}

body:not(.header-collapsed) .header #motionToggle .motion-indicator {
  padding: 5px;
}

@media (min-width: 981px) {
  body:not(.header-collapsed) .header-right {
    flex-wrap: nowrap;
    gap: 8px;
  }

  body:not(.header-collapsed) .header .header-tools {
    flex-wrap: nowrap;
    margin-left: 0;
    gap: 6px;
  }

  body:not(.header-collapsed) .header .motion-toggle-text {
    display: none;
  }

  body:not(.header-collapsed) .header #motionToggle {
    padding-inline: 10px;
  }

  body:not(.header-collapsed) .header #motionToggle .motion-indicator {
    margin-left: 0;
  }
}

.header-collapse-btn {
  position: fixed;
  top: 18px;
  right: max(14px, calc((100vw - var(--max)) / 2 + var(--pad)));
  left: auto;
  bottom: auto;
  transform: none;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.16);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.16), rgba(255,255,255,0.04)),
    linear-gradient(145deg, rgba(96,216,255,0.16), rgba(27,108,255,0.32));
  box-shadow: 0 18px 42px rgba(0,0,0,0.38);
  z-index: 90;
}

.header-collapse-btn:hover {
  animation: none;
  transform: translateY(-1px);
}

.header-collapse-btn:active {
  transform: translateY(0) scale(0.98);
}

.header-collapse-btn.is-collapsed {
  background:
    linear-gradient(145deg, rgba(255,255,255,0.16), rgba(255,255,255,0.04)),
    linear-gradient(145deg, rgba(141,255,138,0.16), rgba(10,168,95,0.32));
}

@media (min-width: 1200px) {
  .header-collapse-btn {
    display: grid !important;
  }
}

body.header-collapsed .header {
  background: transparent;
  border-bottom-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

body.header-collapsed .header-inner {
  min-height: 0;
  padding: 0;
  gap: 0;
  max-width: none;
}

body.header-collapsed .header-right {
  display: none;
}

body.header-collapsed .brand {
  position: fixed;
  top: 16px;
  left: max(12px, calc((100vw - var(--max)) / 2 + var(--pad)));
  z-index: 82;
  gap: 8px;
  max-width: calc(100vw - 104px);
  padding: 8px 10px;
  border-radius: 16px;
  background: rgba(5,6,10,0.72);
  border: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(16px);
  box-shadow: 0 18px 42px rgba(0,0,0,0.28);
}

body.header-collapsed .brand img {
  width: 46px;
  height: 46px;
  border-radius: 14px;
}

body.header-collapsed .brand .title {
  min-width: 0;
  gap: 2px;
  line-height: 1.12;
}

body.header-collapsed .brand .title strong {
  font-size: 14px;
}

body.header-collapsed .brand .title span {
  display: block;
  font-size: 11px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

:root[data-theme="light"] .header-collapse-btn {
  border-color: rgba(15,23,42,0.12);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.95), rgba(255,255,255,0.82)),
    linear-gradient(145deg, rgba(96,216,255,0.08), rgba(27,108,255,0.16));
  color: #0f172a;
  box-shadow: 0 18px 34px rgba(15,23,42,0.14);
}

:root[data-theme="light"] body.header-collapsed .brand {
  background: rgba(255,255,255,0.94);
  border-color: rgba(15,23,42,0.10);
  box-shadow: 0 18px 34px rgba(15,23,42,0.12);
}

@media (max-width: 780px) {
  body:not(.header-collapsed) .header-inner {
    padding-right: calc(var(--pad) + 74px);
  }

  .header-collapse-btn {
    top: 12px;
    right: 14px;
  }

  body.header-collapsed .brand {
    top: 12px;
    left: 14px;
    max-width: calc(100vw - 92px);
  }
}

.guarantee-note {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  opacity: 1 !important;
}

.btn-inline-modal {
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 14px 32px rgba(10,168,95,0.18);
}

.refund-policy-content {
  max-width: 820px;
}

.refund-policy-body {
  display: block;
}

.refund-policy-intro {
  margin: 0 0 18px;
  color: var(--muted);
  line-height: 1.65;
}

.refund-policy-list {
  margin: 0 0 18px;
  padding-left: 22px;
  display: grid;
  gap: 14px;
  color: var(--text);
  line-height: 1.6;
}

.refund-example {
  margin: 0 0 18px;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.10);
  background: linear-gradient(180deg, rgba(255,214,107,0.08), rgba(255,255,255,0.03));
}

.refund-example h4 {
  margin: 0 0 10px;
  color: var(--gold1);
  font-size: 16px;
}

.refund-example p {
  margin: 0 0 10px;
  color: var(--muted);
  line-height: 1.65;
}

.refund-example p:last-child {
  margin-bottom: 0;
}

.refund-policy-link {
  color: var(--green1);
  font-weight: 800;
  text-decoration: none;
}

.refund-policy-link:hover {
  text-decoration: underline;
}

:root[data-theme="light"] .refund-policy-intro,
:root[data-theme="light"] .refund-example p,
:root[data-theme="light"] .refund-policy-list {
  color: #334155;
}

:root[data-theme="light"] .refund-example {
  background: linear-gradient(180deg, #fff8dc 0%, #ffffff 100%);
  border-color: rgba(180,132,9,0.18);
}

:root[data-theme="light"] .refund-policy-link {
  color: #0a8c52;
}

.price-block {
  position: relative;
  padding-bottom: 18px;
}

.nc-words {
  font-size: 11px;
  line-height: 1.45;
  font-weight: 700;
  color: var(--text);
}

.nc-sub {
  color: var(--muted);
}

.price-row {
  flex-wrap: wrap;
  gap: 6px 10px;
}

.price-old,
.price-new,
.price-period {
  white-space: nowrap;
}

.price-old {
  font-size: 13px;
}

.price-words {
  display: grid;
  gap: 4px;
  margin-top: 10px;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
}

.badge-discount-circle {
  position: absolute;
  top: 14px;
  right: 14px;
  min-width: 78px;
  width: auto;
  height: auto;
  padding: 9px 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.20);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  line-height: 1;
  overflow: hidden;
  transform: rotate(-6deg);
  box-shadow: 0 12px 24px rgba(0,0,0,0.32);
}

.badge-discount-circle::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,0.22), transparent 70%);
  pointer-events: none;
}

.badge-discount-circle.discount-70 {
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.32), transparent 35%),
    linear-gradient(145deg, #fff0a8, #d99c12);
  color: #3a2500;
}

.badge-discount-circle.discount-50 {
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.25), transparent 35%),
    linear-gradient(145deg, #ff6d7c, #c9183a);
  color: #fff;
}

.badge-discount-circle.discount-30 {
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.25), transparent 35%),
    linear-gradient(145deg, #8ee7ff, #25a8ff);
  color: #03233d;
}

.badge-discount-circle.discount-20 {
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.24), transparent 35%),
    linear-gradient(145deg, #3f84ff, #123d9a);
  color: #fff;
}

.badge-discount-circle.discount-10 {
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.24), transparent 35%),
    linear-gradient(145deg, #b6ff93, #28b463);
  color: #0c2a16;
}

.badge-discount-circle.discount-5 {
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.24), transparent 35%),
    linear-gradient(145deg, #3fd68a, #0a7d4b);
  color: #f4fff8;
}

.card-header-wrap {
  padding-right: 78px;
}

.card-tier-1 {
  border: 1px solid rgba(96,216,255,0.26);
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.18), transparent 24%),
    linear-gradient(160deg, rgba(96,216,255,0.18), rgba(5,12,26,0.92)),
    repeating-linear-gradient(135deg, rgba(96,216,255,0.05) 0 12px, transparent 12px 24px);
}

.card-tier-2 {
  border: 1px solid rgba(255,214,107,0.34);
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.16), transparent 22%),
    linear-gradient(160deg, rgba(255,214,107,0.20), rgba(22,16,4,0.92)),
    repeating-linear-gradient(120deg, rgba(255,214,107,0.06) 0 14px, transparent 14px 28px);
}

.card-tier-3 {
  border: 1px solid rgba(255,77,109,0.28);
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.15), transparent 22%),
    linear-gradient(160deg, rgba(255,77,109,0.18), rgba(28,7,13,0.94)),
    repeating-linear-gradient(125deg, rgba(255,77,109,0.05) 0 12px, transparent 12px 26px);
}

.card-tier-4 {
  border: 1px solid rgba(179,136,255,0.30);
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.16), transparent 22%),
    linear-gradient(160deg, rgba(179,136,255,0.18), rgba(18,10,28,0.94)),
    repeating-linear-gradient(130deg, rgba(179,136,255,0.05) 0 12px, transparent 12px 24px);
}

.card-tier-5 {
  border: 1px solid rgba(255,255,255,0.36);
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.22), transparent 22%),
    linear-gradient(160deg, rgba(255,255,255,0.16), rgba(7,10,16,0.96)),
    repeating-linear-gradient(135deg, rgba(255,255,255,0.05) 0 12px, transparent 12px 24px);
}

.card-tier-5 .price-new,
.card-tier-5 .nc-words,
.card-tier-5 .price-words,
.card-tier-5 .nc-sub,
.card-tier-5 .benefit-item span {
  color: rgba(255,255,255,0.92);
}

:root[data-theme="light"] .price-old {
  color: #64748b;
}

:root[data-theme="light"] .price-words,
:root[data-theme="light"] .nc-sub {
  color: #475569;
}

:root[data-theme="light"] .nc-words {
  color: #0f172a;
}

:root[data-theme="light"] .badge-discount-circle {
  border-color: rgba(15,23,42,0.12);
  box-shadow: 0 12px 22px rgba(15,23,42,0.16);
}

:root[data-theme="light"] .card-tier-1 {
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.8), transparent 20%),
    linear-gradient(165deg, #e9f7ff, #ffffff),
    repeating-linear-gradient(135deg, rgba(37,168,255,0.05) 0 12px, transparent 12px 24px);
}

:root[data-theme="light"] .card-tier-2 {
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.82), transparent 20%),
    linear-gradient(165deg, #fff7df, #ffffff),
    repeating-linear-gradient(125deg, rgba(212,136,6,0.05) 0 12px, transparent 12px 24px);
}

:root[data-theme="light"] .card-tier-3 {
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.82), transparent 20%),
    linear-gradient(165deg, #fff0f3, #ffffff),
    repeating-linear-gradient(125deg, rgba(225,29,72,0.05) 0 12px, transparent 12px 24px);
}

:root[data-theme="light"] .card-tier-4 {
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.84), transparent 20%),
    linear-gradient(165deg, #f7f0ff, #ffffff),
    repeating-linear-gradient(125deg, rgba(126,34,206,0.05) 0 12px, transparent 12px 24px);
}

:root[data-theme="light"] .card-tier-5 {
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.92), transparent 20%),
    linear-gradient(165deg, #f8fafc, #ffffff),
    repeating-linear-gradient(125deg, rgba(15,23,42,0.04) 0 12px, transparent 12px 24px);
}

:root[data-theme="light"] .card-tier-5 .price-new,
:root[data-theme="light"] .card-tier-5 .nc-words,
:root[data-theme="light"] .card-tier-5 .price-words,
:root[data-theme="light"] .card-tier-5 .nc-sub,
:root[data-theme="light"] .card-tier-5 .benefit-item span {
  color: #0f172a;
}

@media (max-width: 520px) {
  .card-header-wrap {
    padding-right: 72px;
  }

  .badge-discount-circle {
    min-width: 72px;
    padding: 8px 10px;
  }

  .price-row {
    flex-direction: column;
    gap: 2px;
  }
}

/* =========================================================
   NUYEXO UP LANDING REFINEMENTS
   ========================================================= */

main {
  display: flex;
  flex-direction: column;
}

main > .hero { order: 1; }
main > #servicios { order: 2; }
main > #solucion-integral { order: 3; }
main > #garantia { order: 4; }
main > #como-funciona { order: 5; }
main > #ecosistema { order: 6; }
main > #moneda { order: 7; }
main > #lanzamiento { order: 8; }
main > #preguntas-frecuentes { order: 9; }
main > #dudas { order: 10; }


.section-integral {
  padding-top: 20px;
}

.integral-solution-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(96,216,255,0.14);
  border-radius: 30px;
  padding: 34px;
  background:
    radial-gradient(circle at top left, rgba(96,216,255,0.16), transparent 28%),
    radial-gradient(circle at top right, rgba(255,77,109,0.14), transparent 28%),
    linear-gradient(180deg, rgba(8,10,18,0.96), rgba(7,10,18,0.90));
  box-shadow: 0 30px 90px rgba(0,0,0,0.34);
}

.integral-solution-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,0.05), transparent 42%);
}

.integral-solution-card > * {
  position: relative;
}

.integral-solution-copy {
  max-width: 760px;
  margin-bottom: 24px;
}

.integral-kicker {
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.74);
}

.integral-solution-card h2 {
  margin: 0;
  font-size: clamp(28px, 4vw, 38px);
  line-height: 1.08;
  letter-spacing: -0.4px;
}

.integral-lead {
  margin: 14px 0 0;
  max-width: 68ch;
  font-size: 16px;
  line-height: 1.75;
  color: rgba(255,255,255,0.82);
}

.integral-word {
  background: linear-gradient(135deg, var(--blue1), #7aa7ff 42%, var(--red1));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.integral-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.integral-item {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 22px;
  padding: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  backdrop-filter: blur(10px);
}

.integral-item h3 {
  margin: 0 0 10px;
  font-size: 18px;
  color: #fff;
}

.integral-item p {
  margin: 0;
  line-height: 1.65;
  color: rgba(255,255,255,0.78);
}

:root[data-theme="light"] .section-integral {
  padding-top: 20px;
}

:root[data-theme="light"] .integral-solution-card {
  border-color: rgba(15,23,42,0.08);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 20px 55px rgba(15,23,42,0.10);
}

:root[data-theme="light"] .integral-kicker {
  color: #475569;
}

:root[data-theme="light"] .integral-solution-card h2 {
  color: #0f172a;
}

:root[data-theme="light"] .integral-lead {
  color: #334155;
}

:root[data-theme="light"] .integral-word {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 10px;
  background: linear-gradient(135deg, #1b6cff, #ff4d6d);
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  text-shadow: none;
}

:root[data-theme="light"] .integral-item {
  background: #ffffff;
  border-color: rgba(15,23,42,0.08);
  box-shadow: 0 12px 30px rgba(15,23,42,0.06);
}

:root[data-theme="light"] .integral-item h3 {
  color: #0f172a;
}

:root[data-theme="light"] .integral-item p {
  color: #475569;
}

@media (max-width: 760px) {
  .integral-solution-card {
    padding: 24px;
  }

  .integral-grid {
    grid-template-columns: 1fr;
  }
}

.guarantee-grid {
  grid-template-columns: 1fr;
  max-width: 980px;
  margin: 0 auto;
}

.guarantee-grid > .card {
  grid-column: 1 / -1 !important;
}

.tabs-container-premium {
  grid-template-columns: 290px 1fr;
  min-height: auto;
  padding: 34px;
  border-radius: 30px;
  border: 1px solid rgba(96,216,255,0.14);
  background:
    radial-gradient(circle at top left, rgba(96,216,255,0.12), transparent 28%),
    radial-gradient(circle at top right, rgba(255,214,107,0.08), transparent 26%),
    linear-gradient(180deg, rgba(8,10,18,0.96), rgba(7,10,18,0.88));
  box-shadow: 0 30px 90px rgba(0,0,0,0.38);
}

.tabs-container-premium .tabs-menu {
  padding-right: 24px;
  min-width: 0;
}

.tabs-container-premium .tabs-content {
  display: grid;
  min-width: 0;
}

.tabs-container-premium .tab-panel {
  padding: 6px 0 0;
  min-width: 0;
}

.panel-header-split {
  align-items: flex-start;
  gap: 18px;
}

.panel-header-split > * {
  min-width: 0;
}

.panel-header-top {
  margin-bottom: 24px;
}

.panel-subtitle {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.6;
}

.panel-tag-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.panel-lead {
  margin: 0 0 24px;
  color: var(--text);
  line-height: 1.75;
  font-size: 15px;
}

.panel-grid {
  display: grid;
  gap: 16px;
}

.panel-grid-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.info-card {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 22px;
  padding: 18px 18px 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.info-card h4,
.analysis-section-head h4,
.note-card h4,
.level-item h4,
.showcase-card h4,
.content-type-card h4 {
  margin: 0 0 10px;
  font-size: 16px;
  color: var(--text);
}

.info-card p,
.analysis-section-head p,
.note-card p,
.level-item p,
.inline-action-card p,
.showcase-card p,
.content-type-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.feature-spotlight,
.note-card,
.comparison-card,
.inline-action-card {
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,0.10);
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.025));
  padding: 22px;
}

.feature-spotlight {
  margin-bottom: 24px;
}

.feature-spotlight h4 {
  margin: 0 0 10px;
  font-size: 17px;
}

.feature-lead {
  font-size: 16px;
  color: var(--text) !important;
  margin-bottom: 14px !important;
}

.feature-spotlight-gold {
  border-color: rgba(255,214,107,0.22);
  background: linear-gradient(180deg, rgba(255,214,107,0.10), rgba(255,255,255,0.03));
}

.feature-spotlight-blue {
  border-color: rgba(96,216,255,0.22);
  background: linear-gradient(180deg, rgba(96,216,255,0.10), rgba(255,255,255,0.03));
}

.analysis-section-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-end;
  margin-bottom: 18px;
}

.analysis-section-head > * {
  min-width: 0;
}

.analysis-section-head-tight {
  align-items: flex-start;
}

.level-stack-rich {
  display: grid;
  gap: 14px;
  margin-bottom: 24px;
}

.level-item {
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  padding: 18px 20px;
}

.level-item-gold {
  border-color: rgba(255,214,107,0.16);
}

.level-item-featured {
  border-color: rgba(96,216,255,0.26);
  box-shadow: 0 16px 40px rgba(27,108,255,0.14);
}

.note-card {
  margin-bottom: 24px;
}

.note-card-gold {
  border-color: rgba(255,214,107,0.22);
  background: linear-gradient(180deg, rgba(255,214,107,0.08), rgba(255,255,255,0.02));
}

.note-card-green {
  border-color: rgba(141,255,138,0.22);
  background: linear-gradient(180deg, rgba(141,255,138,0.08), rgba(255,255,255,0.02));
}

.note-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.comparison-table-wrap {
  overflow-x: auto;
  max-width: 100%;
}

.comparison-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 880px;
}

.comparison-table th,
.comparison-table td {
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding: 14px 12px;
  text-align: center;
  vertical-align: middle;
}

.comparison-table th:first-child,
.comparison-table td:first-child {
  text-align: left;
}

.comparison-table th {
  color: var(--text);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.table-yes {
  color: var(--green1);
  font-weight: 800;
}

.table-no {
  color: rgba(255,255,255,0.4);
  font-weight: 800;
}

.panel-cta-wrap,
.action-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

.inline-action-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}

.audit-panel,
.comparison-card,
.feature-spotlight,
.note-card,
.level-item,
.info-card {
  min-width: 0;
}

.btn-sky {
  border: none;
  background: linear-gradient(135deg, #b7f0ff, #58c3ff);
  box-shadow: 0 18px 42px rgba(88,195,255,0.25);
  color: #083a56 !important;
}

.detail-modal-content-wide {
  max-width: 980px;
}

.detail-modal-scroll {
  max-height: 70vh;
  overflow-y: auto;
  padding-right: 4px;
}

.mini-info-grid,
.showcase-grid,
.content-type-grid {
  display: grid;
  gap: 16px;
}

.mini-info-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 20px;
}

.showcase-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.showcase-card,
.content-type-card {
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  padding: 18px;
}

.showcase-thumb {
  min-height: 180px;
  border-radius: 18px;
  display: flex;
  align-items: flex-end;
  padding: 18px;
  margin-bottom: 16px;
  font-size: 26px;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
}

.thumb-tone-blue { background: linear-gradient(135deg, #0f4cff, #60d8ff); }
.thumb-tone-red { background: linear-gradient(135deg, #5a0816, #ff4d6d); }
.thumb-tone-gold { background: linear-gradient(135deg, #6b3c00, #ffbf47); }
.thumb-tone-green { background: linear-gradient(135deg, #0d5b31, #5fff9f); }
.thumb-tone-violet { background: linear-gradient(135deg, #2f175e, #b388ff); }
.thumb-tone-dark { background: linear-gradient(135deg, #05060a, #334155); }

.content-type-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.content-type-card h4 i {
  color: var(--blue1);
  margin-right: 8px;
}

.action-row-wide {
  justify-content: space-between;
}

:root[data-theme="light"] .tabs-container-premium,
:root[data-theme="light"] .feature-spotlight,
:root[data-theme="light"] .note-card,
:root[data-theme="light"] .comparison-card,
:root[data-theme="light"] .inline-action-card,
:root[data-theme="light"] .info-card,
:root[data-theme="light"] .level-item,
:root[data-theme="light"] .showcase-card,
:root[data-theme="light"] .content-type-card {
  background: #ffffff;
  border-color: rgba(15,23,42,0.08);
  box-shadow: 0 12px 30px rgba(15,23,42,0.06);
}

:root[data-theme="light"] .panel-subtitle,
:root[data-theme="light"] .info-card p,
:root[data-theme="light"] .analysis-section-head p,
:root[data-theme="light"] .note-card p,
:root[data-theme="light"] .level-item p,
:root[data-theme="light"] .showcase-card p,
:root[data-theme="light"] .content-type-card p {
  color: #475569;
}

:root[data-theme="light"] .comparison-table th,
:root[data-theme="light"] .comparison-table td {
  border-bottom-color: rgba(15,23,42,0.08);
}

:root[data-theme="light"] .table-no {
  color: #94a3b8;
}

@media (max-width: 960px) {
  .tabs-container-premium {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  .tabs-container-premium .tabs-menu {
    padding-right: 0;
  }

  .panel-grid-4,
  .mini-info-grid,
  .showcase-grid,
  .content-type-grid {
    grid-template-columns: 1fr;
  }

  .analysis-section-head,
  .panel-header-split,
  .note-card-head,
  .inline-action-card,
  .action-row-wide {
    flex-direction: column;
    align-items: flex-start;
  }

  .panel-tag-group {
    justify-content: flex-start;
  }
}

/* =========================================================
   DISCOVERY CAMPAIGN FOCUS
   ========================================================= */


#como-funciona .tabs-container-premium {
  grid-template-columns: 1fr;
}

#como-funciona .tabs-menu {
  display: none;
}

#como-funciona .tabs-content {
  display: block;
}

#como-funciona #tab-campana {
  display: block !important;
}

#como-funciona #tab-analisis,
#como-funciona #tab-image,
#como-funciona #tab-film {
  display: none !important;
}

/* =========================================================
   ARTICLE INLINE IMAGES
   ========================================================= */

body.article-page .story-figure {
  margin: 0 0 2rem;
  border-radius: 1.45rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.12);
  background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
  box-shadow: 0 22px 54px rgba(0,0,0,0.22);
  break-inside: avoid;
  page-break-inside: avoid;
  column-span: all;
  display: grid;
  justify-items: center;
  gap: clamp(0.5rem, 0.8vw, 0.75rem);
  padding: clamp(0.6rem, 1vw, 0.95rem);
}

body.article-page .story-figure img {
  display: block;
  width: auto;
  max-width: min(100%, var(--story-figure-max-width, 42rem));
  max-height: var(--story-figure-max-height, min(62vh, 38rem));
  height: auto;
  margin-inline: auto;
  object-fit: contain;
  border-radius: 1rem;
}

body.article-page .story-figure.story-figure--square img {
  max-width: min(100%, 36rem);
  max-height: min(56vh, 35rem);
}

body.article-page .story-figure.story-figure--portrait {
  width: min(100%, 30rem);
  margin-inline: auto;
  padding: clamp(0.45rem, 0.8vw, 0.75rem);
}

body.article-page .story-figure.story-figure--portrait img {
  max-width: 100%;
  max-height: min(74vh, 46rem);
}

body.article-page .story-figure__caption {
  margin: 0;
  width: min(100%, var(--story-figure-max-width, 42rem));
  font-size: clamp(0.88rem, 0.95vw, 0.98rem);
  line-height: 1.55;
  color: var(--page-muted, var(--muted));
  text-align: center;
  text-wrap: pretty;
}

body.article-page .story-figure.story-figure--portrait .story-figure__caption {
  width: 100%;
}

:root[data-theme="light"] body.article-page .story-figure__caption {
  color: color-mix(in srgb, var(--page-ink) 58%, var(--page-muted) 42%);
}

@media (prefers-color-scheme: light) {
  :root[data-theme="system"] body.article-page .story-figure__caption {
    color: color-mix(in srgb, var(--page-ink) 58%, var(--page-muted) 42%);
  }
}

body.article-page .story-figure + .story-paragraph {
  margin-top: 0.25rem;
}

:root[data-theme="light"] body.article-page .story-figure {
  border-color: rgba(15,23,42,0.08);
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  box-shadow: 0 18px 40px rgba(15,23,42,0.08);
}

@media (max-width: 640px) {
  body.article-page .story-figure img {
    max-width: 100%;
    max-height: min(56vh, 28rem);
  }

  body.article-page .story-figure.story-figure--square img {
    max-width: 100%;
    max-height: min(50vh, 24rem);
  }

  body.article-page .story-figure.story-figure--portrait {
    width: 100%;
    padding: 0.55rem;
  }

  body.article-page .story-figure.story-figure--portrait img {
    max-width: 100%;
    max-height: min(68vh, 32rem);
  }
}
