/* ==========================================================
   YUMKAAX - paginas publicas (landing + autenticacion)
   Complemento de learnhub.css (Bootstrap 5.3 + LearnHub)
   ========================================================== */

:root {
  --yk-green: #3F7D20;
  --yk-green-dark: #2F5E18;
  --yk-green-deep: #1F3D10;
  --yk-accent: #7ED957;
  --yk-soft: rgba(63, 125, 32, 0.08);
}

html { scroll-padding-top: 80px; }
body { background-color: #fff; }

/* ---------- Marca ---------- */
.yk-brand { text-decoration: none; color: #111827; }
.yk-brand img { width: 40px; height: 40px; border-radius: 10px; object-fit: cover; }
.yk-brand-text { font-weight: 800; letter-spacing: .04em; font-size: 1.2rem; color: #111827; }
.yk-brand-text span { color: var(--yk-green); }
.yk-brand-sub { display: block; margin-top: .2rem; font-size: .58em; font-weight: 700; letter-spacing: .24em; color: var(--yk-green-dark); }

/* ---------- Navbar ---------- */
.yk-navbar { padding-top: .75rem; padding-bottom: .75rem; }
.yk-navbar .nav-link { font-weight: 500; color: #374151; }
.yk-navbar .nav-link:hover { color: var(--yk-green); }

/* Selector de idioma (includehtml/selectorIdioma.php, icono boxicons -> Tabler) */
.yk-lang .language-selector {
  display: inline-flex; align-items: center; gap: 4px;
  border: 1px solid var(--bs-border-color); border-radius: 50rem;
  padding: .35rem .75rem; background: #fff; color: #374151;
}
.yk-lang .language-selector select {
  border: 0; background: transparent; outline: none; cursor: pointer;
  font-size: .875rem; font-weight: 500; color: #374151; padding: 0 2px;
}
.yk-lang .language-selector i.bx { font-style: normal; color: var(--yk-green); font-size: 1rem; line-height: 1; }

/* Clases bx que se generan desde JS (sin cargar boxicons): mapeo a Tabler */
i.bx { font-family: "tabler-icons" !important; font-style: normal; font-weight: normal; display: inline-block; line-height: 1; -webkit-font-smoothing: antialiased; }
i.bx-globe::before { content: "\eb54"; }
i.bx-hide::before { content: "\ecf0"; }
i.bx-show::before { content: "\ea9a"; }
i.bx-info-circle::before { content: "\eac5"; }

/* ---------- Hero ---------- */
.yk-hero { overflow: hidden; }
.yk-hero .container { position: relative; z-index: 1; }
.yk-hero h1 .hero-highlight { color: var(--yk-green); }
.yk-hero-img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.yk-float-pill { width: max-content; max-width: 230px; }
.yk-stat-value { font-size: 1.35rem; font-weight: 800; color: #111827; line-height: 1.1; }

/* ---------- Encabezados de seccion ---------- */
.yk-eyebrow { letter-spacing: .125rem; }

/* ---------- Cursos / niveles ---------- */
.yk-course-img { aspect-ratio: 16 / 10; object-fit: cover; }
.yk-course-num {
  position: absolute; right: 1rem; bottom: -1.25rem;
  width: 2.75rem; height: 2.75rem; border-radius: 50%;
  background: var(--yk-green); color: #fff; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  border: 3px solid #fff; box-shadow: 0 4px 10px rgba(0,0,0,.12);
}

/* ---------- Matriz ---------- */
.yk-matrix-tree { display: flex; flex-direction: column; align-items: center; gap: .9rem; }
.yk-matrix-row { display: flex; gap: .5rem; justify-content: center; flex-wrap: wrap; }
.yk-node {
  width: 48px; height: 48px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--yk-soft); color: var(--yk-green); font-weight: 700;
  border: 2px solid rgba(63,125,32,.25);
}
.yk-node.you { width: 64px; height: 64px; background: var(--yk-green); color: #fff; border-color: var(--yk-green); box-shadow: 0 8px 20px rgba(63,125,32,.3); }
.yk-node.sm { width: 40px; height: 40px; font-size: .8rem; }
.yk-node.xs { width: 32px; height: 32px; font-size: .7rem; }
.yk-earning-row { display: flex; justify-content: space-between; align-items: center; padding: .6rem 0; border-bottom: 1px dashed var(--bs-border-color); }
.yk-earning-row:last-child { border-bottom: 0; }

/* ---------- Membresia ---------- */
.yk-residual-bar { height: 8px; border-radius: 50rem; background: var(--yk-soft); overflow: hidden; }
.yk-residual-bar span { display: block; height: 100%; background: var(--yk-green); border-radius: 50rem; }

/* ---------- Pricing ---------- */
.yk-plan-price { font-size: 2.25rem; font-weight: 800; color: #111827; }

/* ---------- FAQ ---------- */
.yk-faq .accordion-item { border: 1px solid var(--bs-border-color); border-radius: 1rem !important; overflow: hidden; margin-bottom: .75rem; }
.yk-faq .accordion-button { font-weight: 600; }
.yk-faq .accordion-button:not(.collapsed) { background: var(--yk-soft); color: var(--yk-green); box-shadow: none; }

/* ---------- CTA ---------- */
.yk-cta {
  background: linear-gradient(135deg, var(--yk-green-deep) 0%, var(--yk-green) 100%);
  position: relative; overflow: hidden;
}
.yk-cta::after {
  content: ""; position: absolute; width: 420px; height: 420px; border-radius: 50%;
  right: -120px; top: -160px; background: rgba(126, 217, 87, .18); filter: blur(10px);
}
.yk-cta > * { position: relative; z-index: 1; }

/* ---------- Footer ---------- */
.yk-footer a { color: #4B5563; text-decoration: none; }
.yk-footer a:hover { color: var(--yk-green); }

/* ==========================================================
   AUTENTICACION (login, register, recuperacion, recover_password)
   ========================================================== */
.yk-auth { min-height: 100vh; display: flex; background: #fff; }
.yk-auth-main { flex: 1 1 50%; display: flex; flex-direction: column; min-height: 100vh; padding: 1.5rem 1rem; }
.yk-auth-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; max-width: 560px; width: 100%; margin: 0 auto; }
.yk-auth-body { flex: 1; display: flex; align-items: center; justify-content: center; padding: 2rem 0; }
.yk-auth-card { width: 100%; max-width: 460px; }
.yk-auth-card.wide { max-width: 560px; }
.yk-auth-icon { width: 3rem; height: 3rem; border-radius: 1rem; background: var(--yk-soft); color: var(--yk-green); font-size: 1.5rem; }
.yk-auth-foot { max-width: 560px; width: 100%; margin: 0 auto; }

.yk-auth-aside {
  flex: 1 1 50%; position: relative; overflow: hidden; color: #fff;
  display: flex; align-items: flex-end; padding: 3rem;
  background: var(--yk-green-deep) url("../images/hero-img.jpg") center / cover no-repeat;
  position: sticky; top: 0; height: 100vh;
}
.yk-auth-aside::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(31,61,16,.15) 0%, rgba(31,61,16,.55) 45%, rgba(31,61,16,.92) 100%);
}
.yk-auth-aside.has-media { align-items: center; justify-content: center; background-image: none; background: linear-gradient(135deg, var(--yk-green-deep) 0%, var(--yk-green) 100%); }
.yk-auth-aside.has-media::before { background: radial-gradient(circle at 80% 10%, rgba(126,217,87,.25), transparent 50%); }
.yk-auth-aside > .yk-aside-inner { position: relative; z-index: 1; width: 100%; max-width: 560px; }
.yk-auth-aside h2 { color: #fff; }
.yk-auth-aside h2 .hero-highlight { color: var(--yk-accent); }
.yk-auth-aside .yk-aside-stat { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); border-radius: 1rem; padding: .75rem 1rem; backdrop-filter: blur(6px); }
.yk-auth-aside .yk-aside-stat strong { display: block; font-size: 1.25rem; }
.yk-auth-aside .yk-aside-stat small { opacity: .85; }
.yk-auth-aside iframe, .yk-auth-aside video { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 1rem; box-shadow: 0 20px 40px rgba(0,0,0,.3); }
.yk-auth-aside .yk-aside-html img { max-width: 100%; height: auto; border-radius: 1rem; }
.yk-benefits { list-style: none; padding: 0; margin: 1.5rem 0 0; }
.yk-benefits li { display: flex; align-items: center; gap: .6rem; margin-bottom: .6rem; }
.yk-benefits i { color: var(--yk-accent); font-size: 1.25rem; }

.yk-auth .form-label { font-weight: 500; font-size: .9rem; color: #374151; }
.yk-auth .form-control, .yk-auth .form-select { border-radius: .75rem; padding-top: .7rem; padding-bottom: .7rem; }
.yk-auth .input-group .form-control { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.yk-auth .input-group-text { background: #fff; cursor: pointer; border-top-right-radius: .75rem; border-bottom-right-radius: .75rem; color: #6B7280; }
.yk-auth .btn-lg { border-radius: .75rem; }
.yk-auth .progress { height: 6px; }
.yk-auth .password_ocultar { font-size: .8rem; color: var(--bs-secondary-color); font-weight: 400; }
.yk-auth .form-check-label.terms-text { font-size: .875rem; color: #4B5563; }
.yk-auth .terms-text span { color: var(--yk-green); font-weight: 600; cursor: pointer; text-decoration: underline; }
.yk-section-title { display: flex; align-items: center; gap: .5rem; font-size: .8rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--yk-green); margin-bottom: 1rem; }
.yk-divider { display: flex; align-items: center; gap: 1rem; margin: 1.5rem 0; color: #9CA3AF; font-size: .85rem; }
.yk-divider::before, .yk-divider::after { content: ""; flex: 1; height: 1px; background: var(--bs-border-color); }

/* Sponsor (HTML generado en PHP de register.php) */
.sponsor-card { background: var(--yk-soft); border: 1px solid rgba(63,125,32,.18); border-radius: 1rem; padding: .85rem 1rem; margin-bottom: 1.5rem; }
.sponsor-card .sponsor-info { display: flex; align-items: center; gap: .6rem; color: var(--yk-green-dark); }
.sponsor-card .sponsor-info i { font-size: 1.35rem; }
.sponsor-options { display: flex; flex-direction: column; gap: .5rem; }
.sponsor-titulo { margin: 0 0 .6rem; font-size: .875rem; font-weight: 600; color: var(--yk-green-dark); }
.sponsor-option { position: relative; display: block; cursor: pointer; margin: 0; }
.sponsor-option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sponsor-option .option-content { display: flex; align-items: center; gap: .6rem; padding: .6rem .75rem; border: 1px solid rgba(63,125,32,.18); border-radius: .75rem; color: var(--yk-green-dark); transition: border-color .15s, background-color .15s; }
.sponsor-option .option-content i { font-size: 1.25rem; color: var(--yk-green); flex-shrink: 0; }
.sponsor-option .sponsor-check { margin-left: auto; visibility: hidden; }
.sponsor-option input:checked + .option-content { border-color: var(--yk-green); background: rgba(63,125,32,.1); font-weight: 600; }
.sponsor-option input:checked + .option-content .sponsor-check { visibility: visible; }
.sponsor-option input:focus-visible + .option-content { outline: 2px solid var(--yk-green); outline-offset: 2px; }

/* intl-tel-input */
.yk-auth .iti { width: 100%; }
.yk-auth .iti__country-list { z-index: 9999; max-height: 220px; overflow-y: auto; }

/* Autocompletado email */
.email-autocomplete-wrapper { position: relative; }
.email-suggestions { display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 1050; background: #fff; border: 1px solid var(--bs-border-color); border-radius: 0 0 .75rem .75rem; max-height: 220px; overflow-y: auto; box-shadow: 0 8px 20px rgba(0,0,0,.08); }
.email-suggestions .email-suggestion-item { padding: .5rem .85rem; cursor: pointer; font-size: .9rem; color: #111827; }
.email-suggestions .email-suggestion-item:hover,
.email-suggestions .email-suggestion-item.active { background: var(--yk-green); color: #fff; }

/* Aviso codigo expirado (recover_password) */
.yk-alert-soft { background: #FFF8E6; border: 1px solid #F5D78A; border-radius: 1rem; padding: 1rem; }

/* Modales legales */
.yk-modal .modal-content { border-radius: 1.25rem; border: 0; }
.yk-modal .modal-header { border-bottom: 1px solid var(--bs-border-color); }

@media (max-width: 991.98px) {
  .yk-auth { flex-direction: column; }
  .yk-auth-aside { position: relative; height: auto; min-height: 260px; padding: 2rem 1.25rem; order: 2; }
  .yk-auth-main { min-height: auto; }
}
@media (max-width: 575.98px) {
  .yk-hero h1 { font-size: 2.1rem; }
  .yk-float-pill { display: none !important; }
  .yk-auth-top .yk-brand-text { font-size: 1.05rem; }
}

/* ==========================================================
   SELECTOR DE TEMA (boton luna/sol)
   ========================================================== */
.yk-theme-toggle {
  --bs-btn-padding-x: 0; --bs-btn-padding-y: 0;
  width: 2.5rem; height: 2.5rem; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; border: 1px solid var(--bs-border-color);
  background: #fff; color: #374151; font-size: 1.15rem; line-height: 1;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.yk-theme-toggle:hover { color: var(--yk-green); border-color: var(--yk-green); background: var(--yk-soft); }
.yk-theme-toggle:focus-visible { outline: 0; box-shadow: 0 0 0 .25rem rgba(63,125,32,.35); }
.yk-theme-toggle:active { transform: scale(.94); }
.yk-theme-toggle .yk-icon-sun { display: none; }
[data-bs-theme="dark"] .yk-theme-toggle .yk-icon-sun { display: inline-block; }
[data-bs-theme="dark"] .yk-theme-toggle .yk-icon-moon { display: none; }

/* Transicion suave al cambiar de tema (la activa yumkaax-theme.js solo al pulsar) */
html.yk-theme-anim, html.yk-theme-anim *, html.yk-theme-anim *::before, html.yk-theme-anim *::after {
  transition: background-color .3s ease, border-color .3s ease, color .2s ease, box-shadow .3s ease !important;
}

/* ==========================================================
   MODO OSCURO (data-bs-theme="dark" en <html>)
   Paleta alineada con el panel interno
   ========================================================== */
[data-bs-theme="dark"] {
  --yk-d-bg: #0B140D;
  --yk-d-bg-2: #0F1912;
  --yk-d-surface: #121D16;
  --yk-d-surface-2: #182619;
  --yk-d-border: #22322A;
  --yk-d-text: #E6EFE7;
  --yk-d-text-2: #C3D1C7;
  --yk-d-muted: #8FA698;
  --yk-d-accent: #7ED957;
  --yk-d-accent-2: #95E373;
  --yk-soft: rgba(126, 217, 87, 0.10);

  color-scheme: dark;
  --bs-body-bg: #0B140D;
  --bs-body-bg-rgb: 11, 20, 13;
  --bs-body-color: #C3D1C7;
  --bs-body-color-rgb: 195, 209, 199;
  --bs-emphasis-color: #E6EFE7;
  --bs-emphasis-color-rgb: 230, 239, 231;
  --bs-heading-color: #E6EFE7;
  --bs-secondary-color: #8FA698;
  --bs-secondary-color-rgb: 143, 166, 152;
  --bs-secondary-bg: #121D16;
  --bs-secondary-bg-rgb: 18, 29, 22;
  --bs-tertiary-color: rgba(143, 166, 152, .7);
  --bs-tertiary-bg: #0F1912;
  --bs-tertiary-bg-rgb: 15, 25, 18;
  --bs-border-color: #22322A;
  --bs-border-color-translucent: rgba(126, 217, 87, .12);
  --bs-link-color: #95E373;
  --bs-link-color-rgb: 149, 227, 115;
  --bs-link-hover-color: #B6EE9C;
  --bs-link-hover-color-rgb: 182, 238, 156;
  --bs-primary-text-emphasis: #95E373;
  --bs-primary-bg-subtle: rgba(126, 217, 87, .12);
  --bs-primary-border-subtle: rgba(126, 217, 87, .35);
}
[data-bs-theme="dark"] body { background-color: var(--yk-d-bg); color: var(--yk-d-text-2); }
[data-bs-theme="dark"] ::selection { background: rgba(126,217,87,.35); color: #fff; }

/* Utilidades fijas de LearnHub */
[data-bs-theme="dark"] .bg-white { background-color: var(--yk-d-bg) !important; }
[data-bs-theme="dark"] .bg-light,
[data-bs-theme="dark"] .bg-light.bg-opacity-50 { background-color: var(--yk-d-bg-2) !important; }
[data-bs-theme="dark"] .text-dark { color: var(--yk-d-text) !important; }
[data-bs-theme="dark"] .text-muted { color: var(--yk-d-muted) !important; }
[data-bs-theme="dark"] .text-primary { color: var(--yk-d-accent) !important; }
[data-bs-theme="dark"] .link-primary { color: var(--yk-d-accent-2) !important; text-decoration-color: rgba(149,227,115,.5) !important; }
[data-bs-theme="dark"] .link-primary:hover { color: #B6EE9C !important; }
[data-bs-theme="dark"] .border,
[data-bs-theme="dark"] .border-top,
[data-bs-theme="dark"] .border-bottom { border-color: var(--yk-d-border) !important; }
[data-bs-theme="dark"] .border-primary,
[data-bs-theme="dark"] .border.border-primary { border-color: rgba(126,217,87,.45) !important; }
[data-bs-theme="dark"] .bg-primary.bg-opacity-10 { background-color: rgba(126,217,87,.12) !important; }
[data-bs-theme="dark"] .shadow-sm { box-shadow: 0 1px 2px rgba(0,0,0,.45) !important; }
[data-bs-theme="dark"] .shadow-lg { box-shadow: 0 18px 40px rgba(0,0,0,.55) !important; }
[data-bs-theme="dark"] .card-lift:hover,
[data-bs-theme="dark"] .card-lift:focus { box-shadow: 0 16px 32px rgba(0,0,0,.55), 0 0 0 1px rgba(126,217,87,.25) !important; }

/* Tarjetas */
[data-bs-theme="dark"] .card {
  --bs-card-bg: var(--yk-d-surface);
  --bs-card-border-color: var(--yk-d-border);
  --bs-card-color: var(--yk-d-text-2);
  --bs-card-title-color: var(--yk-d-text);
}

/* Botones */
[data-bs-theme="dark"] .btn-primary {
  --bs-btn-color: #fff; --bs-btn-bg: #3F7D20; --bs-btn-border-color: #3F7D20;
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #4A9126; --bs-btn-hover-border-color: #4A9126;
  --bs-btn-active-color: #fff; --bs-btn-active-bg: #356B1B; --bs-btn-active-border-color: #356B1B;
}
[data-bs-theme="dark"] .btn-light {
  --bs-btn-color: var(--yk-d-text); --bs-btn-bg: var(--yk-d-surface-2); --bs-btn-border-color: var(--yk-d-border);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #203324; --bs-btn-hover-border-color: #2E4635;
  --bs-btn-active-color: #fff; --bs-btn-active-bg: #203324; --bs-btn-active-border-color: #2E4635;
}
[data-bs-theme="dark"] .yk-cta .btn-light {
  --bs-btn-color: #1F3D10; --bs-btn-bg: #fff; --bs-btn-border-color: #fff;
  --bs-btn-hover-color: #1F3D10; --bs-btn-hover-bg: #E9F7E1; --bs-btn-hover-border-color: #E9F7E1;
}

/* Marca: el logo tiene fondo blanco -> "chip" blanco redondeado */
[data-bs-theme="dark"] .yk-brand img { background: #fff; padding: 3px; border-radius: 12px; box-shadow: 0 0 0 1px rgba(126,217,87,.25), 0 4px 12px rgba(0,0,0,.35); }
[data-bs-theme="dark"] .yk-brand,
[data-bs-theme="dark"] .yk-brand-text { color: var(--yk-d-text); }
[data-bs-theme="dark"] .yk-brand-text span { color: var(--yk-d-accent); }
[data-bs-theme="dark"] .yk-brand-sub { color: var(--yk-d-accent); }

/* Navbar */
[data-bs-theme="dark"] .yk-navbar {
  background-color: rgba(11, 20, 13, .88) !important;
  -webkit-backdrop-filter: saturate(140%) blur(10px); backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid var(--yk-d-border);
  box-shadow: 0 6px 20px rgba(0,0,0,.35) !important;
}
[data-bs-theme="dark"] .yk-navbar .nav-link { color: var(--yk-d-text-2); }
[data-bs-theme="dark"] .yk-navbar .nav-link:hover,
[data-bs-theme="dark"] .yk-navbar .nav-link.active { color: var(--yk-d-accent); }

/* Selector de idioma y boton de tema */
[data-bs-theme="dark"] .yk-lang .language-selector { background: var(--yk-d-surface); border-color: var(--yk-d-border); color: var(--yk-d-text); }
[data-bs-theme="dark"] .yk-lang .language-selector select { color: var(--yk-d-text); }
[data-bs-theme="dark"] .yk-lang .language-selector select option { background: var(--yk-d-surface); color: var(--yk-d-text); }
[data-bs-theme="dark"] .yk-lang .language-selector i.bx { color: var(--yk-d-accent); }
[data-bs-theme="dark"] .yk-theme-toggle { background: var(--yk-d-surface); border-color: var(--yk-d-border); color: #F5D76E; }
[data-bs-theme="dark"] .yk-theme-toggle:hover { background: var(--yk-d-surface-2); border-color: rgba(126,217,87,.5); color: #FFE48A; }
[data-bs-theme="dark"] .yk-theme-toggle:focus-visible { box-shadow: 0 0 0 .25rem rgba(126,217,87,.35); }

/* Hero */
[data-bs-theme="dark"] .yk-hero { background: radial-gradient(1100px 600px at 85% 15%, rgba(63,125,32,.22), transparent 60%), var(--yk-d-bg) !important; }
[data-bs-theme="dark"] .yk-hero .circle-bg { background-color: rgba(63,125,32,.16); }
[data-bs-theme="dark"] .yk-hero h1 { color: var(--yk-d-text); }
[data-bs-theme="dark"] .yk-hero h1 .hero-highlight { color: var(--yk-d-accent); }
[data-bs-theme="dark"] .yk-hero .lead { color: var(--yk-d-text-2); }
[data-bs-theme="dark"] .yk-float-pill > div { background-color: var(--yk-d-surface) !important; border-color: var(--yk-d-border) !important; color: var(--yk-d-text); box-shadow: 0 10px 24px rgba(0,0,0,.5) !important; }
[data-bs-theme="dark"] .yk-stat-value,
[data-bs-theme="dark"] .yk-plan-price { color: var(--yk-d-text); }
[data-bs-theme="dark"] .yk-eyebrow { color: var(--yk-d-accent-2) !important; }

/* Cursos */
[data-bs-theme="dark"] .yk-course-num { border-color: var(--yk-d-surface); box-shadow: 0 4px 12px rgba(0,0,0,.5); }

/* Matriz */
[data-bs-theme="dark"] .yk-node { background: rgba(126,217,87,.10); color: var(--yk-d-accent); border-color: rgba(126,217,87,.35); }
[data-bs-theme="dark"] .yk-node.you { background: var(--yk-green); color: #fff; border-color: var(--yk-d-accent); box-shadow: 0 8px 24px rgba(126,217,87,.25); }

/* Membresia */
[data-bs-theme="dark"] .yk-residual-bar { background: rgba(126,217,87,.12); }
[data-bs-theme="dark"] .yk-residual-bar span { background: linear-gradient(90deg, #3F7D20, #7ED957); }

/* FAQ (acordeon) */
[data-bs-theme="dark"] .yk-faq {
  --bs-accordion-bg: var(--yk-d-surface);
  --bs-accordion-color: var(--yk-d-text-2);
  --bs-accordion-border-color: var(--yk-d-border);
  --bs-accordion-btn-color: var(--yk-d-text);
  --bs-accordion-btn-bg: var(--yk-d-surface);
  --bs-accordion-active-color: var(--yk-d-accent);
  --bs-accordion-active-bg: rgba(126,217,87,.08);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(126,217,87,.25);
}
[data-bs-theme="dark"] .yk-faq .accordion-item { background: var(--yk-d-surface); border-color: var(--yk-d-border); }
[data-bs-theme="dark"] .yk-faq .accordion-button { background: var(--yk-d-surface); color: var(--yk-d-text); }
[data-bs-theme="dark"] .yk-faq .accordion-button:not(.collapsed) { background: rgba(126,217,87,.08); color: var(--yk-d-accent); }
[data-bs-theme="dark"] .yk-faq .accordion-body { color: var(--yk-d-text-2); }

/* CTA */
[data-bs-theme="dark"] .yk-cta { background: linear-gradient(135deg, #16300C 0%, #2F6118 55%, #3F7D20 100%); box-shadow: 0 0 0 1px rgba(126,217,87,.2), 0 24px 48px rgba(0,0,0,.45); }

/* Footer */
[data-bs-theme="dark"] .yk-footer { background-color: #08100A !important; border-top: 1px solid var(--yk-d-border); color: var(--yk-d-muted); }
[data-bs-theme="dark"] .yk-footer h4 { color: var(--yk-d-text); }
[data-bs-theme="dark"] .yk-footer a:not(.yk-brand) { color: var(--yk-d-muted); }
[data-bs-theme="dark"] .yk-footer a:not(.yk-brand):hover { color: var(--yk-d-accent); }

/* Modales (terminos / privacidad) */
[data-bs-theme="dark"] .modal {
  --bs-modal-bg: var(--yk-d-surface);
  --bs-modal-color: var(--yk-d-text-2);
  --bs-modal-border-color: var(--yk-d-border);
  --bs-modal-header-border-color: var(--yk-d-border);
  --bs-modal-footer-border-color: var(--yk-d-border);
}
[data-bs-theme="dark"] .modal-backdrop { --bs-backdrop-bg: #000; --bs-backdrop-opacity: .7; }
[data-bs-theme="dark"] .yk-modal .modal-content { background: var(--yk-d-surface); color: var(--yk-d-text-2); box-shadow: 0 0 0 1px var(--yk-d-border), 0 30px 60px rgba(0,0,0,.6); }
[data-bs-theme="dark"] .yk-modal .modal-title { color: var(--yk-d-text); }
/* El contenido legal llega como HTML de la BD (puede traer colores en linea) */
[data-bs-theme="dark"] .yk-modal .modal-body,
[data-bs-theme="dark"] .yk-modal .modal-body p,
[data-bs-theme="dark"] .yk-modal .modal-body li,
[data-bs-theme="dark"] .yk-modal .modal-body span,
[data-bs-theme="dark"] .yk-modal .modal-body div,
[data-bs-theme="dark"] .yk-modal .modal-body td { color: var(--yk-d-text-2) !important; background-color: transparent !important; }
[data-bs-theme="dark"] .yk-modal .modal-body h1, [data-bs-theme="dark"] .yk-modal .modal-body h2,
[data-bs-theme="dark"] .yk-modal .modal-body h3, [data-bs-theme="dark"] .yk-modal .modal-body h4,
[data-bs-theme="dark"] .yk-modal .modal-body h5, [data-bs-theme="dark"] .yk-modal .modal-body h6,
[data-bs-theme="dark"] .yk-modal .modal-body strong, [data-bs-theme="dark"] .yk-modal .modal-body b { color: var(--yk-d-text) !important; background-color: transparent !important; }
[data-bs-theme="dark"] .yk-modal .modal-body a { color: var(--yk-d-accent-2) !important; }

/* SweetAlert2 */
[data-bs-theme="dark"] .swal2-popup { background: var(--yk-d-surface) !important; color: var(--yk-d-text-2); box-shadow: 0 0 0 1px var(--yk-d-border), 0 30px 60px rgba(0,0,0,.6); }
[data-bs-theme="dark"] .swal2-title { color: var(--yk-d-text) !important; }
[data-bs-theme="dark"] .swal2-content,
[data-bs-theme="dark"] .swal2-html-container { color: var(--yk-d-text-2) !important; }
[data-bs-theme="dark"] .swal2-container.swal2-shown,
[data-bs-theme="dark"] .swal2-container.swal2-backdrop-show { background-color: rgba(0,0,0,.7) !important; }
[data-bs-theme="dark"] .swal2-icon.swal2-success [class^="swal2-success-circular-line"],
[data-bs-theme="dark"] .swal2-icon.swal2-success .swal2-success-fix { background-color: var(--yk-d-surface) !important; }
[data-bs-theme="dark"] .swal2-input,
[data-bs-theme="dark"] .swal2-textarea { background: var(--yk-d-bg-2); color: var(--yk-d-text); border-color: var(--yk-d-border); }
[data-bs-theme="dark"] .swal2-footer { border-top-color: var(--yk-d-border); color: var(--yk-d-muted); }
[data-bs-theme="dark"] .swal2-close { color: var(--yk-d-muted); }

/* ---------- Autenticacion en modo oscuro ---------- */
[data-bs-theme="dark"] .yk-auth { background: var(--yk-d-bg); }
[data-bs-theme="dark"] .yk-auth-main { background: radial-gradient(900px 500px at 0% 0%, rgba(63,125,32,.14), transparent 60%), var(--yk-d-bg); }
[data-bs-theme="dark"] .yk-auth-icon { background: rgba(126,217,87,.12); color: var(--yk-d-accent); }
[data-bs-theme="dark"] .yk-auth .form-label { color: var(--yk-d-text-2); }
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select { background-color: var(--yk-d-bg-2); border-color: #2A3D31; color: var(--yk-d-text); }
[data-bs-theme="dark"] .form-control::placeholder { color: #6E8577; }
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus { background-color: var(--yk-d-surface); border-color: #5FAF3A; color: var(--yk-d-text); box-shadow: 0 0 0 .25rem rgba(126,217,87,.18); }
[data-bs-theme="dark"] .form-control:disabled,
[data-bs-theme="dark"] .form-control[readonly] { background-color: var(--yk-d-surface); color: var(--yk-d-muted); }
[data-bs-theme="dark"] .form-select option { background: var(--yk-d-surface); color: var(--yk-d-text); }
[data-bs-theme="dark"] .form-check-input { background-color: var(--yk-d-bg-2); border-color: #3A5143; }
[data-bs-theme="dark"] .form-check-input:checked { background-color: #3F7D20; border-color: #3F7D20; }
[data-bs-theme="dark"] .yk-auth .input-group-text { background: var(--yk-d-bg-2); border-color: #2A3D31; color: var(--yk-d-muted); }
[data-bs-theme="dark"] .yk-auth .input-group-text:hover { color: var(--yk-d-accent); }
[data-bs-theme="dark"] input:-webkit-autofill,
[data-bs-theme="dark"] input:-webkit-autofill:hover,
[data-bs-theme="dark"] input:-webkit-autofill:focus { -webkit-text-fill-color: var(--yk-d-text); -webkit-box-shadow: 0 0 0 1000px var(--yk-d-bg-2) inset; caret-color: var(--yk-d-text); }
[data-bs-theme="dark"] .yk-auth .progress { background-color: var(--yk-d-surface-2); }
[data-bs-theme="dark"] .yk-auth .form-check-label.terms-text { color: var(--yk-d-text-2); }
[data-bs-theme="dark"] .yk-auth .terms-text span { color: var(--yk-d-accent-2); }
[data-bs-theme="dark"] .yk-section-title { color: var(--yk-d-accent-2); }
[data-bs-theme="dark"] .yk-divider { color: var(--yk-d-muted); }
[data-bs-theme="dark"] .yk-auth-main a:not(.btn):not(.yk-brand) { color: var(--yk-d-accent-2); }
[data-bs-theme="dark"] .yk-auth-aside { background-color: #0F240A; border-left: 1px solid var(--yk-d-border); }
[data-bs-theme="dark"] .yk-auth-aside::before { background: linear-gradient(180deg, rgba(11,20,13,.25) 0%, rgba(11,20,13,.65) 45%, rgba(11,20,13,.95) 100%); }
[data-bs-theme="dark"] .yk-auth-aside.has-media { background: linear-gradient(135deg, #0F240A 0%, #2A5716 100%); }

/* Sponsor (register) */
[data-bs-theme="dark"] .sponsor-card { background: rgba(126,217,87,.08); border-color: rgba(126,217,87,.25); }
[data-bs-theme="dark"] .sponsor-card .sponsor-info,
[data-bs-theme="dark"] .sponsor-option .option-content { color: var(--yk-d-text); }
[data-bs-theme="dark"] .sponsor-card .sponsor-info i,
[data-bs-theme="dark"] .sponsor-option .option-content i { color: var(--yk-d-accent); }
[data-bs-theme="dark"] .sponsor-titulo { color: var(--yk-d-text); }
[data-bs-theme="dark"] .sponsor-option .option-content { border-color: rgba(126,217,87,.25); }
[data-bs-theme="dark"] .sponsor-option input:checked + .option-content { border-color: var(--yk-d-accent); background: rgba(126,217,87,.12); }
[data-bs-theme="dark"] .sponsor-option input:focus-visible + .option-content { outline-color: var(--yk-d-accent); }

/* Autocompletado email */
[data-bs-theme="dark"] .email-suggestions { background: var(--yk-d-surface); border-color: var(--yk-d-border); box-shadow: 0 12px 28px rgba(0,0,0,.5); }
[data-bs-theme="dark"] .email-suggestions .email-suggestion-item { color: var(--yk-d-text); }
[data-bs-theme="dark"] .email-suggestions .email-suggestion-item:hover,
[data-bs-theme="dark"] .email-suggestions .email-suggestion-item.active { background: #3F7D20; color: #fff; }

/* Aviso suave (recover_password) */
[data-bs-theme="dark"] .yk-alert-soft { background: rgba(240,177,0,.10); border-color: rgba(240,177,0,.35); color: #F3DFA2; }

/* intl-tel-input */
[data-bs-theme="dark"] .iti__country-list { background-color: var(--yk-d-surface); border-color: var(--yk-d-border); color: var(--yk-d-text); box-shadow: 0 12px 28px rgba(0,0,0,.55); }
[data-bs-theme="dark"] .iti__country.iti__highlight { background-color: rgba(126,217,87,.14); }
[data-bs-theme="dark"] .iti__divider { border-bottom-color: var(--yk-d-border); }
[data-bs-theme="dark"] .iti__dial-code { color: var(--yk-d-muted); }
[data-bs-theme="dark"] .iti__selected-dial-code { color: var(--yk-d-text); }
[data-bs-theme="dark"] .iti__arrow { border-top-color: var(--yk-d-muted); }
[data-bs-theme="dark"] .iti__arrow--up { border-top-color: transparent; border-bottom-color: var(--yk-d-muted); }
[data-bs-theme="dark"] .iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag,
[data-bs-theme="dark"] .iti--separate-dial-code .iti__selected-flag { background-color: rgba(126,217,87,.08); }
[data-bs-theme="dark"] .iti__search-input { background: var(--yk-d-bg-2); color: var(--yk-d-text); border-color: var(--yk-d-border); }
[data-bs-theme="dark"] .yk-course-img { filter: brightness(.9) saturate(.95); }
