/* GWF 2026 — dirección B «oscuro premium», sobre páginas de Elementor.
   Se activa con body.gwf-b (mu-plugin gwf-2026.php).
   Los contenedores manejan layout desde Elementor (padding, gap, ancho, grid);
   este archivo da tipografía, colores, botones y decoraciones vía clases. */

body.gwf-b {
  --gwf-bg: #0B0A12; --gwf-bg-2: #100E1A; --gwf-card: #15121F; --gwf-card-2: #1C1730; --gwf-card-3: #2A1F3D;
  --gwf-line: #2A2638; --gwf-line-2: #1F1B2C; --gwf-line-3: #3B2F55;
  --gwf-text: #F4F2FA; --gwf-text-2: #D9D5E6; --gwf-muted: #B9B4CC; --gwf-muted-2: #9C96B3; --gwf-faint: #8A84A0;
  --gwf-pink: #FF3D8B; --gwf-pink-deep: #D63375; --gwf-pink-text: #FF7AB0;
  --gwf-violet: #7B3FF2; --gwf-violet-deep: #6031BD; --gwf-violet-light: #AC86F6; --gwf-green: #4ADE80;
  --gwf-display: "Sora", system-ui, sans-serif; --gwf-font: "Inter", system-ui, sans-serif;
  background: var(--gwf-bg) !important;
  color: var(--gwf-text);
  font-family: var(--gwf-font);
  -webkit-font-smoothing: antialiased;

  /* Redefine los globales del kit de Elementor (ID 6, valores por defecto: celeste #6EC1E4, Roboto)
     SOLO en las páginas del rediseño. body.gwf-b (0,1,1) le gana a .elementor-kit-6 (0,1,0). */
  --e-global-color-primary: #F4F2FA;
  --e-global-color-secondary: #B9B4CC;
  --e-global-color-text: #B9B4CC;
  --e-global-color-accent: #FF3D8B;
  --e-global-typography-primary-font-family: "Sora";
  --e-global-typography-primary-font-weight: 800;
  --e-global-typography-secondary-font-family: "Sora";
  --e-global-typography-secondary-font-weight: 700;
  --e-global-typography-text-font-family: "Inter";
  --e-global-typography-text-font-weight: 400;
  --e-global-typography-accent-font-family: "Inter";
  --e-global-typography-accent-font-weight: 600;
}

/* Títulos: color y tipografía propios aunque el widget herede del kit */
body.gwf-b .elementor-widget-heading .elementor-heading-title { color: var(--gwf-text) !important; font-family: var(--gwf-display) !important; }
body.gwf-b .elementor-widget-text-editor { color: var(--gwf-muted); font-family: var(--gwf-font); }

/* Filas de contenedores (cifras, botones, header): los hijos toman su ancho natural,
   no el 100% que Elementor da por defecto. */
body.gwf-b .e-con.gwf-row-auto > .e-con,
body.gwf-b .e-con.gwf-row-auto > .e-con-inner > .e-con { --width: auto; width: auto; flex: 0 0 auto; }
body.gwf-b a { color: var(--gwf-pink-text); }
body.gwf-b a:hover { color: #FFA6C9; }
body.gwf-b :focus-visible { outline: 2px solid var(--gwf-pink-text); outline-offset: 3px; }

/* ---------- fondos de sección (clases en contenedores) ---------- */
.gwf-b .gwf-bg { background-color: var(--gwf-bg); }
.gwf-b .gwf-bg-alt { background-color: var(--gwf-bg-2); }
.gwf-b .gwf-bg-strip { background-color: #0F0D18; border-top: 1px solid var(--gwf-line-2); border-bottom: 1px solid var(--gwf-line-2); }
.gwf-b .gwf-bg-pink { background-color: var(--gwf-pink-deep); }
.gwf-b .gwf-bg-violet { background-color: var(--gwf-violet-deep); }

/* resplandores decorativos (en contenedores con position relative) */
.gwf-b .gwf-glow-tr, .gwf-b .gwf-glow-tl, .gwf-b .gwf-glow-c, .gwf-b .gwf-glow-violet { position: relative; overflow: hidden; }
.gwf-b .gwf-glow-tr::after, .gwf-b .gwf-glow-tl::after, .gwf-b .gwf-glow-c::after, .gwf-b .gwf-glow-violet::after {
  content: ""; position: absolute; border-radius: 999px; filter: blur(100px); pointer-events: none; z-index: 0;
}
.gwf-b .gwf-glow-tr::after { width: 640px; height: 640px; right: -140px; top: -260px; background: var(--gwf-pink); opacity: .18; }
.gwf-b .gwf-glow-tl::after { width: 620px; height: 620px; left: -200px; top: -220px; background: var(--gwf-violet); opacity: .22; }
.gwf-b .gwf-glow-c::after { width: 800px; height: 400px; left: 50%; top: 40px; margin-left: -400px; background: var(--gwf-pink); opacity: .18; }
.gwf-b .gwf-glow-violet::after { width: 800px; height: 400px; left: 50%; top: 40px; margin-left: -400px; background: var(--gwf-violet); opacity: .24; }
.gwf-b .gwf-glow-tr > *, .gwf-b .gwf-glow-tl > *, .gwf-b .gwf-glow-c > *, .gwf-b .gwf-glow-violet > * { position: relative; z-index: 1; }

/* ---------- tipografía (clases en widgets heading / text-editor) ---------- */
.gwf-b .elementor-heading-title { font-family: var(--gwf-display); color: var(--gwf-text); letter-spacing: -0.02em; }
body.gwf-b .gwf-eyebrow .elementor-heading-title, .gwf-b .gwf-eyebrow { font-family: var(--gwf-font) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .16em !important; text-transform: uppercase; color: var(--gwf-pink-text) !important; }
body.gwf-b .gwf-h1 .elementor-heading-title .gwf-accent, body.gwf-b .elementor-heading-title .gwf-accent { color: var(--gwf-pink) !important; }
body.gwf-b .gwf-h3 .elementor-heading-title { font-family: var(--gwf-font) !important; }
body.gwf-b .gwf-h2-color .elementor-heading-title { color: #fff !important; }
.gwf-b .gwf-on-color .gwf-eyebrow .elementor-heading-title { color: #FFE1EC !important; }
.gwf-b .gwf-h1 .elementor-heading-title { font-size: clamp(40px, 6vw, 66px); line-height: 1.03; font-weight: 800; letter-spacing: -0.03em; }
.gwf-b .gwf-h2 .elementor-heading-title { font-size: clamp(32px, 4vw, 44px); line-height: 1.08; font-weight: 800; }
.gwf-b .gwf-h2-color .elementor-heading-title { font-size: clamp(30px, 3.4vw, 38px); line-height: 1.1; font-weight: 800; color: #fff; }
.gwf-b .gwf-h3 .elementor-heading-title { font-family: var(--gwf-font); font-size: 22px; line-height: 1.25; font-weight: 700; letter-spacing: 0; }
.gwf-b .gwf-cta-title .elementor-heading-title { font-size: clamp(36px, 5vw, 56px); line-height: 1.04; font-weight: 800; letter-spacing: -0.03em; }
.gwf-b .elementor-heading-title .gwf-accent, .gwf-b .gwf-accent { color: var(--gwf-pink); }
.gwf-b .gwf-lead, .gwf-b .gwf-lead p { font-size: clamp(17px, 1.6vw, 19px); line-height: 1.55; color: var(--gwf-muted); margin: 0; }
.gwf-b .gwf-body, .gwf-b .gwf-body p { font-size: 16px; line-height: 1.6; color: var(--gwf-muted); margin: 0; }
.gwf-b .gwf-small, .gwf-b .gwf-small p { font-size: 13px; color: var(--gwf-muted-2); margin: 0; }
.gwf-b .gwf-source, .gwf-b .gwf-source p { font-size: 12px; color: var(--gwf-faint); margin: 0; }
.gwf-b .gwf-on-color, .gwf-b .gwf-on-color p, .gwf-b .gwf-on-color li { color: #FFF0F5; }
.gwf-b .gwf-text-center, .gwf-b .gwf-text-center .elementor-heading-title { text-align: center; }

/* ---------- botones (clases en widgets button) ---------- */
.gwf-b .elementor-button { font-family: var(--gwf-font); font-weight: 700; font-size: 16px; border-radius: 12px; padding: 16px 28px; line-height: 1.2; transition: transform .15s ease, background .15s ease; }
.gwf-b .gwf-btn-primary .elementor-button { background: var(--gwf-pink-deep); color: #fff; border: 0; }
.gwf-b .gwf-btn-primary .elementor-button:hover { background: #E23A80; color: #fff; transform: translateY(-1px); }
.gwf-b .gwf-btn-lg .elementor-button { font-size: 18px; padding: 18px 34px; }
.gwf-b .gwf-btn-ghost .elementor-button { background: transparent; color: #fff; border: 1px solid var(--gwf-pink); }
.gwf-b .gwf-btn-ghost .elementor-button:hover { background: rgba(255,61,139,.12); }
.gwf-b .gwf-btn-white .elementor-button { background: #fff; color: var(--gwf-bg); }
.gwf-b .gwf-btn-line .elementor-button { background: transparent; color: var(--gwf-text); border: 1px solid var(--gwf-line-3); }
.gwf-b .gwf-btn-link .elementor-button { background: transparent; color: var(--gwf-text); padding: 16px 6px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.gwf-b .gwf-link a, .gwf-b a.gwf-link { font-weight: 600; text-decoration: none; }

/* ---------- tarjetas (clase en contenedores) ---------- */
.gwf-b .gwf-card { background: var(--gwf-card); border: 1px solid var(--gwf-line); border-radius: 22px; }
.gwf-b .gwf-card-raised { background: var(--gwf-card-2); border: 1px solid var(--gwf-line-3); border-radius: 22px; }
.gwf-b .gwf-card-hot { background: var(--gwf-card-2); border: 2px solid var(--gwf-pink); border-radius: 22px; box-shadow: 0 0 70px rgba(255,61,139,.22); }
.gwf-b .gwf-card-shadow { box-shadow: 0 30px 80px rgba(0,0,0,.45); }
.gwf-b .gwf-step-num { width: 56px; height: 56px; border-radius: 999px; border: 2px solid var(--gwf-pink); display: flex; align-items: center; justify-content: center; font-family: var(--gwf-display); font-weight: 800; font-size: 20px; color: #fff; }
.gwf-b .gwf-step-num.is-violet { border-color: var(--gwf-violet-light); }
.gwf-b .gwf-step-num.is-fill { background: var(--gwf-pink-deep); border-color: var(--gwf-pink-deep); }
.gwf-b .gwf-price .elementor-heading-title { font-size: 42px; font-weight: 800; }
.gwf-b .gwf-tag { display: inline-block; background: var(--gwf-pink-deep); color: #fff; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; }

/* ---------- listas (icon-list) ---------- */
.gwf-b .gwf-list .elementor-icon-list-text { color: var(--gwf-muted); font-size: 16px; }
.gwf-b .gwf-list-light .elementor-icon-list-text { color: #FFF0F5; font-size: 17px; }
.gwf-b .gwf-list .elementor-icon-list-icon i, .gwf-b .gwf-list .elementor-icon-list-icon svg { color: var(--gwf-pink); fill: var(--gwf-pink); }
.gwf-b .gwf-list-light .elementor-icon-list-icon svg { fill: #fff; }
.gwf-b .gwf-pills .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 8px; }
.gwf-b .gwf-pills .elementor-icon-list-item { border: 1px solid var(--gwf-line-3); border-radius: 999px; padding: 8px 14px !important; margin: 0 !important; }
.gwf-b .gwf-pills .elementor-icon-list-text { color: var(--gwf-text-2); font-size: 14px; padding: 0 !important; }
.gwf-b .gwf-pills .elementor-icon-list-icon { display: none; }

/* ---------- FAQ (nested-accordion) ---------- */
.gwf-b .gwf-faq .e-n-accordion-item { border-bottom: 1px solid var(--gwf-line); }
.gwf-b .gwf-faq .e-n-accordion-item-title { background: transparent !important; border: 0 !important; padding: 22px 0 !important; }
.gwf-b .gwf-faq .e-n-accordion-item-title-text { color: var(--gwf-text) !important; font-family: var(--gwf-font); font-size: 18px; font-weight: 600; }
.gwf-b .gwf-faq .e-n-accordion-item-title-icon svg { fill: var(--gwf-pink-text) !important; }
.gwf-b .gwf-faq .e-n-accordion-item > [role="region"], .gwf-b .gwf-faq .e-n-accordion-item .e-con { background: transparent !important; border: 0 !important; padding: 0 0 22px 0 !important; }
.gwf-b .gwf-faq .elementor-widget-text-editor, .gwf-b .gwf-faq .elementor-widget-text-editor p { color: var(--gwf-muted); font-size: 16px; line-height: 1.6; }

/* ---------- tabla comparativa (HTML widget) ---------- */
.gwf-b .gwf-table { overflow-x: auto; border: 1px solid var(--gwf-line); border-radius: 20px; }
.gwf-b .gwf-table table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 16px; margin: 0; border: 0; }
.gwf-b .gwf-table th, .gwf-b .gwf-table td { text-align: left; padding: 18px 24px; border: 0; border-top: 1px solid var(--gwf-line-2); color: var(--gwf-text); background: transparent; vertical-align: top; }
.gwf-b .gwf-table thead th { background: var(--gwf-card); border-top: 0; color: var(--gwf-muted-2); font-weight: 700; }
.gwf-b .gwf-table .is-accent { color: var(--gwf-pink-text); }
.gwf-b .gwf-table .is-dim { color: var(--gwf-muted); }
.gwf-b .gwf-table tr.is-hl td { background: var(--gwf-card-2); }
.gwf-b .gwf-table tbody tr:nth-child(odd) td { background-color: transparent; }

/* ---------- cifras ---------- */
.gwf-b .gwf-stat-num .elementor-heading-title { font-size: 30px; font-weight: 800; }
.gwf-b .gwf-stat-num-lg .elementor-heading-title { font-size: 44px; font-weight: 800; }
.gwf-b .gwf-divider-top { border-top: 1px solid var(--gwf-line); }

/* ---------- ilustraciones (HTML widget, decorativas) ---------- */
.gwf-b .gwf-ill { font-family: var(--gwf-font); color: var(--gwf-text); }
.gwf-b .gwf-ill * { box-sizing: border-box; }
.gwf-ill .card { background: var(--gwf-card); border: 1px solid var(--gwf-line); border-radius: 22px; padding: 24px; display: flex; flex-direction: column; gap: 18px; box-shadow: 0 30px 80px rgba(0,0,0,.45); }
.gwf-ill .row { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.gwf-ill .kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 560px) { .gwf-ill .kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.gwf-ill .kpi { background: var(--gwf-bg); border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 4px; }
.gwf-ill .kpi span, .gwf-ill .muted { font-size: 12px; color: var(--gwf-muted-2); }
.gwf-ill .kpi strong { font-size: 20px; }
.gwf-ill .rows { display: flex; flex-direction: column; font-size: 14px; }
.gwf-ill .tr { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--gwf-line-2); }
.gwf-ill .tr.th { color: var(--gwf-muted-2); border-color: var(--gwf-line); }
.gwf-ill .tr:last-child { border-bottom: 0; }
.gwf-ill .live { color: var(--gwf-green); }
.gwf-ill .badge { align-self: flex-start; background: var(--gwf-pink-deep); color: #fff; font-size: 12px; font-weight: 700; padding: 5px 10px; border-radius: 8px; }
.gwf-ill .num { font-family: var(--gwf-display); font-size: 30px; font-weight: 800; }

.gwf-ill.showcase { position: relative; height: 520px; max-width: 560px; }
.gwf-ill.showcase .feat { position: absolute; left: 30px; top: 0; width: 280px; height: 400px; border-radius: 22px; background: var(--gwf-card-3); border: 1px solid var(--gwf-line-3); display: flex; flex-direction: column; justify-content: space-between; padding: 16px; box-shadow: 0 0 60px rgba(255,61,139,.25); }
.gwf-ill.showcase .back { position: absolute; left: 260px; top: 90px; width: 240px; height: 340px; border-radius: 22px; background: var(--gwf-card-2); border: 1px solid #2F2846; transform: rotate(4deg); }
.gwf-ill.showcase .panel { position: absolute; left: 0; top: 370px; width: 290px; background: var(--gwf-card); border: 1px solid #2F2846; border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 10px; }
@media (max-width: 560px) { .gwf-ill.showcase { height: 470px; } .gwf-ill.showcase .back { display: none; } .gwf-ill.showcase .feat { left: 0; width: 100%; max-width: 300px; } }

.gwf-ill.dir { background: var(--gwf-card); border: 1px solid var(--gwf-line); border-radius: 24px; padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.gwf-ill.dir .search { background: var(--gwf-bg); border: 1px solid var(--gwf-line); border-radius: 12px; padding: 12px 14px; font-size: 14px; color: var(--gwf-muted); }
.gwf-ill.dir .grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gwf-ill.dir .it { border: 1px solid var(--gwf-line); border-radius: 14px; overflow: hidden; opacity: .6; }
.gwf-ill.dir .img { height: 130px; background: var(--gwf-line-2); padding: 8px; }
.gwf-ill.dir .meta { padding: 10px; font-size: 12px; color: var(--gwf-muted-2); display: flex; flex-direction: column; gap: 2px; }
.gwf-ill.dir .meta strong { font-size: 13px; color: var(--gwf-text); }
.gwf-ill.dir .it.hot { opacity: 1; border: 2px solid var(--gwf-pink); box-shadow: 0 0 40px rgba(255,61,139,.3); }
.gwf-ill.dir .it.hot .img { background: #3A2547; }
.gwf-ill.dir .it.hot .meta { background: var(--gwf-card-2); }

/* ---------- header / footer 2026 ---------- */
.gwf-b .gwf-logo .elementor-heading-title { font-family: var(--gwf-display); font-weight: 800; font-size: 21px; letter-spacing: -0.01em; }
/* header más compacto, como la maqueta */
body.gwf-b .gwf-header .elementor-button { font-size: 15px; padding: 11px 20px; border-radius: 10px; }
body.gwf-b .gwf-header .gwf-btn-link .elementor-button { text-decoration: none; padding: 11px 8px; font-weight: 600; }
body.gwf-b .gwf-header .gwf-nav .elementor-nav-menu a { font-size: 15px; font-weight: 500; }
.gwf-b .gwf-logo .elementor-heading-title a { color: var(--gwf-text); }
.gwf-b .gwf-logo .gwf-slash { color: var(--gwf-pink); }
.gwf-b .gwf-menu a { color: var(--gwf-muted) !important; text-decoration: none; font-size: 15px; }
.gwf-b .gwf-menu a:hover { color: #fff !important; }
.gwf-b .gwf-menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 26px; }
.gwf-b .gwf-footer-col h2 { font-family: var(--gwf-font); font-size: 14px; font-weight: 700; color: var(--gwf-text); margin: 0 0 10px; letter-spacing: 0; }
.gwf-b .gwf-footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.gwf-b .gwf-footer-col a { color: var(--gwf-muted); text-decoration: none; }
.gwf-b .gwf-footer-col a:hover { color: #fff; }
.gwf-b .gwf-footer-legal { border-top: 1px solid var(--gwf-line-2); font-size: 12px; line-height: 1.6; color: var(--gwf-faint); }

@media (prefers-reduced-motion: reduce) { .gwf-b .elementor-button { transition: none; } }
