:root{
  --nv-bg: #0f172a; /* slate-900 */
  --nv-bg-2:#111827; /* gray-900 */
  --nv-card:#111827;
  --nv-text:#e5e7eb;
  --nv-muted:#94a3b8;
  --nv-accent:#10b981; /* emerald */
  --nv-link:#38bdf8; /* sky */
}
html,body{ height:100%; }
body.nv-body{ font-family:'Inter', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; background:var(--nv-bg); color:var(--nv-text); }

/* Hero */
.nv-hero{ position:relative; background: #0d1b2a; }
.nv-hero .overlay{ position:absolute; inset:0; background:radial-gradient(1000px 600px at 20% 30%, rgba(59,130,246,.25), transparent 60%), linear-gradient(to bottom, rgba(17,24,39,.6), rgba(17,24,39,.9)); }
.nv-hero .content{ position:relative; z-index:1; }

.card.nv-card{ background:rgba(17, 24, 39, .9); border:1px solid rgba(148,163,184,.15); color:var(--nv-text); }
.card.nv-card .card-title{ color:#fff; }
.card.nv-card a{ color:var(--nv-link); text-decoration:none; }
.card.nv-card a:hover{ text-decoration:underline; }

/* Sermones */
.video-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); gap:16px; }
.video-card{ background:var(--nv-card); border:1px solid rgba(148,163,184,.15); border-radius:12px; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }
.video-card:hover{ transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.35); }
.video-card img{ width:100%; aspect-ratio:16/9; object-fit:cover; }
.video-card .meta{ padding:12px; }

/* Reviews */
.review{ border-left:4px solid var(--nv-accent); padding-left:12px; margin-bottom:12px; }
.review .author{ font-weight:600; }

/* Map embed */
.map-embed{ width:100%; height:420px; border-radius:12px; overflow:hidden; outline:1px solid rgba(148,163,184,.2); }

/* Footer quote */
footer .opacity-75{ color:var(--nv-muted)!important; }

/* Utilities */
.section-title{ font-weight:800; letter-spacing:.3px; }
.text-muted-2{ color:var(--nv-muted)!important; }
.btn-accent{ background:var(--nv-accent); border-color:var(--nv-accent); color:#042315; }
.btn-accent:hover{ filter:brightness(1.05); }

/* Light mode support (toggle) */
:root.light{
  --nv-bg:#f8fafc; /* slate-50 */
  --nv-bg-2:#ffffff;
  --nv-card:#ffffff;
  --nv-text:#0f172a;
  --nv-muted:#475569;
}
body.light .navbar{ background:#0f172a!important; }
body.light .card.nv-card{ background:var(--nv-card); color:var(--nv-text); }

/* Menú móvil pantalla completa */
.nv-mobile-menu{ position:fixed; inset:0; background:rgba(2,6,23,.98); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .25s ease; z-index:1050; }
.nv-mobile-menu.open{ opacity:1; pointer-events:auto; }
.nv-mobile-menu .menu-inner{ position:relative; width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; animation:nvSlideIn .35s ease both; }
.nv-mobile-menu .nv-close{ position:absolute; top:20px; right:20px; filter:invert(1); }
.nv-mobile-menu .nv-menu-link{ color:white; text-decoration:none; }
.nv-mobile-menu .nv-menu-link:hover{ text-decoration:underline; }
@keyframes nvSlideIn{ from{ transform: translateY(8px); opacity:0 } to { transform:none; opacity:1 } }

/* Slideshow básico */
.nv-slideshow{ position:relative; }
.nv-slideshow .slide{ position:absolute; inset:0; opacity:0; transition: opacity .8s ease; background:#000; display:flex; align-items:center; justify-content:center; }
.nv-slideshow .slide.active{ opacity:1; }
.nv-slideshow img{ width:100%; height:100%; object-fit:cover; }

