/**
 * Tema principal VioFull — neón / grid / coherente con offer-landing.css
 */
body.vf-home {
    --vf-neon: #22c55e;
    --vf-neon-glow: rgba(34, 197, 94, 0.35);
    --vf-bg-deep: #070707;
    --vf-bg-panel: #0e0e10;
    --vf-text: #f1f5f9;
    --vf-muted: #94a3b8;
    background: var(--vf-bg-deep);
    color: var(--vf-text);
}

body.vf-home .navbar {
    background: rgba(7, 7, 7, 0.92) !important;
    border-bottom: 1px solid rgba(34, 197, 94, 0.2);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.45);
}

body.vf-home .navbar-brand {
    background: linear-gradient(90deg, #fff 0%, var(--vf-neon) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

body.vf-home .navbar-nav .nav-link {
    color: var(--vf-muted) !important;
}

body.vf-home .navbar-nav .nav-link:hover,
body.vf-home .navbar-nav .nav-link:focus {
    color: var(--vf-neon) !important;
}

body.vf-home .navbar-nav .nav-link::after {
    background: var(--vf-neon);
}

body.vf-home .dropdown-menu {
    background: #141416;
    border: 1px solid rgba(34, 197, 94, 0.25);
}

body.vf-home .dropdown-item {
    color: var(--vf-text);
}

body.vf-home .dropdown-item:hover {
    background: rgba(34, 197, 94, 0.12);
    color: var(--vf-neon);
}

/* Hero */
body.vf-home .hero-section.vf-hero-neon {
    position: relative;
    min-height: 100vh;
    background: var(--vf-bg-deep);
    background-image:
        linear-gradient(rgba(34, 197, 94, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(34, 197, 94, 0.06) 1px, transparent 1px),
        radial-gradient(ellipse 80% 50% at 50% -20%, rgba(34, 197, 94, 0.18), transparent);
    background-size: 28px 28px, 28px 28px, 100% 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.vf-home .hero-section.vf-hero-neon::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 80%, rgba(37, 117, 252, 0.08), transparent 55%);
    pointer-events: none;
}

body.vf-home .hero-content {
    position: relative;
    z-index: 1;
}

body.vf-home .hero-content h1.display-3 {
    text-shadow: 0 0 40px var(--vf-neon-glow);
    background: none;
    -webkit-text-fill-color: initial;
    color: var(--vf-text);
}

body.vf-home .hero-content .lead {
    color: var(--vf-muted);
}

body.vf-home .hero-buttons .btn-primary {
    background: linear-gradient(135deg, var(--vf-neon), #16a34a);
    border: none;
    box-shadow: 0 4px 20px var(--vf-neon-glow);
}

body.vf-home .hero-buttons .btn-outline-light {
    border-color: rgba(34, 197, 94, 0.5);
    color: var(--vf-text);
}

body.vf-home .hero-buttons .btn-outline-light:hover {
    background: rgba(34, 197, 94, 0.15);
    border-color: var(--vf-neon);
    color: var(--vf-neon);
}

/* Secciones servicios */
body.vf-home section.py-5 {
    background: var(--vf-bg-deep) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}

body.vf-home section.py-5.bg-light {
    background: var(--vf-bg-panel) !important;
}

body.vf-home .section-title {
    color: var(--vf-text);
}

body.vf-home .section-subtitle {
    color: var(--vf-muted) !important;
}

body.vf-home .service-card {
    background: #141416;
    border: 1px solid rgba(34, 197, 94, 0.15);
    color: var(--vf-text);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

body.vf-home .service-card .card-text {
    color: var(--vf-muted);
}

body.vf-home .service-card .service-icon {
    color: var(--vf-neon);
}

body.vf-home .service-price {
    color: var(--vf-neon);
    font-weight: 700;
}

/* Catálogo integrado */
body.vf-home .vf-catalog-section {
    background: linear-gradient(180deg, var(--vf-bg-panel) 0%, var(--vf-bg-deep) 100%);
    border-top: 1px solid rgba(34, 197, 94, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

body.vf-home .vf-catalog-section .nav-pills .nav-link {
    color: var(--vf-muted);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
    padding: 0.5rem 1rem;
}

body.vf-home .vf-portal-card {
    background: #141416;
    border: 1px solid rgba(34, 197, 94, 0.2) !important;
    transition: transform 0.2s, box-shadow 0.2s;
}

body.vf-home .vf-portal-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(34, 197, 94, 0.12) !important;
}

body.vf-home .vf-portal-card .vf-portal-icon {
    font-size: 1.75rem;
    line-height: 1;
}

body.vf-home .vf-portal-card--wide {
    background: linear-gradient(145deg, #141416, #0d0d10);
}

body.vf-home .vf-catalog-section .nav-pills .nav-link.active {
    background: rgba(34, 197, 94, 0.2);
    color: var(--vf-neon);
    border-color: var(--vf-neon);
    box-shadow: 0 0 20px var(--vf-neon-glow);
}

body.vf-home .vf-offer-embed {
    max-width: 520px;
    margin: 0 auto;
    border: 1px solid rgba(34, 197, 94, 0.25);
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);
}

/* Evitar min-height 100vh del .offer-body cuando va embebido en la home */
body.vf-home .vf-offer-embed.offer-body {
    min-height: 0;
    margin: 0;
    background: var(--offer-bg, #0a0a0a);
}

body.vf-home .vf-offer-embed .offer-wrap {
    max-width: none;
    padding: 0;
}

body.vf-home .vf-catalog-intro .btn-outline-success {
    border-color: var(--vf-neon);
    color: var(--vf-neon);
}

body.vf-home .vf-catalog-intro .btn-outline-success:hover {
    background: rgba(34, 197, 94, 0.15);
}

body.vf-home .vf-paginas-globe {
    margin-bottom: 1.5rem;
    font-size: 2rem;
    line-height: 1;
}

body.vf-home .vf-offer-title-scale {
    font-size: clamp(1.5rem, 5vw, 2.1rem);
}

/* About */
body.vf-home #about {
    background: #0a0a0c !important;
}

body.vf-home #about .stat-number {
    color: var(--vf-neon);
}

/* Contact */
body.vf-home #contact {
    background: var(--vf-bg-deep);
}

body.vf-home #contact .section-title,
body.vf-home #contact .form-label {
    color: var(--vf-text);
}

body.vf-home #contact .form-control,
body.vf-home #contact .form-select {
    background: #141416;
    border-color: rgba(34, 197, 94, 0.25);
    color: var(--vf-text);
}

body.vf-home #contact .form-control:focus,
body.vf-home #contact .form-select:focus {
    border-color: var(--vf-neon);
    box-shadow: 0 0 0 0.2rem rgba(34, 197, 94, 0.2);
}

body.vf-home #contact .btn-primary {
    background: linear-gradient(135deg, var(--vf-neon), #16a34a);
    border: none;
}

body.vf-home .contact-link {
    color: inherit;
}

body.vf-home .contact-link .text-muted {
    color: var(--vf-muted) !important;
}

/* Footer */
body.vf-home footer.bg-dark {
    background: #050506 !important;
    border-top: 1px solid rgba(34, 197, 94, 0.15);
}
