/* =============================================================
   PROACTIVE360 — landing.css
   Estilos centralizados para las páginas de landing pública.
   Enlazado desde layouts/public.blade.php con filemtime.
   ============================================================= */

/* -------------------------------------------------------------
   1. VARIABLES DE DISEÑO
   ------------------------------------------------------------- */
:root {
    /* Fondos */
    --ld-bg:              #080c14;
    --ld-bg-section:      #0d1525;
    --ld-bg-nav:          rgba(8, 12, 20, 0.88);

    /* Texto */
    --ld-text:            #f1f5f9;
    --ld-text-muted:      #b0bac8;
    --ld-text-subtle:     #8494a7;
    --ld-text-faint:      #94a3b8;

    /* Acentos */
    --ld-cyan:            #38bdf8;
    --ld-indigo:          #6366f1;
    --ld-violet:          #a855f7;
    --ld-violet-light:    #a78bfa;
    --ld-violet-faint:    #c084fc;
    --ld-emerald:         #10b981;
    --ld-emerald-text:    #34d399;
    --ld-green:           #22c55e;
    --ld-green-light:     #d1fae5;
    --ld-amber:           #f59e0b;
    --ld-red:             #f87171;
    --ld-red-text:        #fca5a5;

    /* Bordes */
    --ld-border:          rgba(255, 255, 255, 0.08);
    --ld-border-subtle:   rgba(255, 255, 255, 0.05);
    --ld-border-faint:    rgba(255, 255, 255, 0.06);
    --ld-border-cyan:     rgba(56, 189, 248, 0.2);
    --ld-border-cyan-md:  rgba(56, 189, 248, 0.3);
    --ld-border-violet:   rgba(139, 92, 246, 0.2);

    /* Glows */
    --ld-glow-cyan-color:   rgba(56, 189, 248, 0.18);
    --ld-glow-cyan-sm:      rgba(56, 189, 248, 0.08);
    --ld-glow-cyan-xs:      rgba(56, 189, 248, 0.06);
    --ld-glow-indigo-color: rgba(99, 102, 241, 0.14);
    --ld-glow-indigo-sm:    rgba(99, 102, 241, 0.08);
    --ld-glow-indigo-xs:    rgba(99, 102, 241, 0.07);
    --ld-glow-violet-color: rgba(139, 92, 246, 0.12);
    --ld-glow-emerald-sm:   rgba(16, 185, 129, 0.06);
    --ld-glow-blur-lg:      100px;
    --ld-glow-blur-xl:      120px;
    --ld-glow-blur-2xl:     130px;

    /* Gradientes */
    --ld-gradient:        linear-gradient(135deg, #38bdf8 0%, #6366f1 55%, #a855f7 100%);
    --ld-gradient-text:   linear-gradient(135deg, #38bdf8 0%, #6366f1 50%, #a855f7 100%);
    --ld-gradient-violet: linear-gradient(135deg, #a78bfa, #818cf8);
    --ld-gradient-cta:    linear-gradient(135deg, #7c3aed, #6366f1);

    /* Colores por fase/etapa del servicio (referencia documental) */
    --ld-fase-1: #38bdf8;
    --ld-fase-2: #6366f1;
    --ld-fase-3: #10b981;
    --ld-fase-4: #f59e0b;
    --ld-fase-5: #a855f7;
    --ld-fase-6: #22c55e;

    /* Tipografia */
    --ld-font-display: var(--font-display, 'Plus Jakarta Sans', sans-serif);
    --ld-font-mono:    var(--font-mono, ui-monospace, 'Cascadia Code', monospace);

    /* Scroll offset navbar fija h-16 */
    --ld-scroll-offset: 5rem;
}

/* -------------------------------------------------------------
   2. BASE & LAYOUT
   ------------------------------------------------------------- */
[id] { scroll-margin-top: var(--ld-scroll-offset); }

.ld-page-bg {
    background: var(--ld-bg);
    color: var(--ld-text);
}

/* -------------------------------------------------------------
   3. TIPOGRAFIA
   ------------------------------------------------------------- */
.ld-text           { color: var(--ld-text); }
.ld-text-muted     { color: var(--ld-text-muted); }
.ld-text-subtle    { color: var(--ld-text-subtle); }
.ld-text-faint     { color: var(--ld-text-faint); }
.ld-text-cyan      { color: var(--ld-cyan); }
.ld-text-cyan-bold { color: var(--ld-cyan); font-weight: 600; }
.ld-text-indigo    { color: var(--ld-indigo); }
.ld-text-violet    { color: var(--ld-violet-light); }
.ld-text-violet-faint { color: var(--ld-violet-faint); }
.ld-text-emerald   { color: var(--ld-emerald); }
.ld-text-emerald-light { color: var(--ld-emerald-text); }
.ld-text-green     { color: var(--ld-green); }
.ld-text-green-light { color: var(--ld-green-light); }
.ld-text-amber     { color: var(--ld-amber); }
.ld-text-red       { color: var(--ld-red); }
.ld-text-red-light { color: var(--ld-red-text); }

.ld-heading {
    font-family: var(--ld-font-display);
    color: var(--ld-text);
}
.ld-heading-bold {
    font-family: var(--ld-font-display);
    color: var(--ld-text);
    font-weight: 600;
}
.ld-font-mono { font-family: var(--ld-font-mono); }

.ld-gradient-text {
    background: var(--ld-gradient-text);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 900;
}
.ld-gradient-text-violet {
    background: var(--ld-gradient-violet);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.ld-badge-violet {
    font-family: var(--ld-font-mono);
    color: #c084fc;
    background: rgba(168, 85, 247, 0.2);
    border: 1px solid rgba(168, 85, 247, 0.4);
}

/* -------------------------------------------------------------
   4. SECCIONES
   Patron: class="ld-section-dark [nombre-seccion]"
   Las clases especificas empiezan vacias como hooks para uso futuro.
   ------------------------------------------------------------- */
.ld-section-dark {
    background: var(--ld-bg-section);
    color: var(--ld-text);
}
.ld-section-bg {
    background: var(--ld-bg);
}
.ld-section-footer-bg {
    background: linear-gradient(180deg, var(--ld-bg-section) 0%, #060a12 100%);
    border-top: 1px solid var(--ld-border);
}
.ld-section-pasos-bg {
    background: linear-gradient(135deg, #0f0c24 0%, #100c2a 50%, #0c0f1e 100%);
}

/* Hooks por sección — id= como selector específico.
   La clase genérica (ld-section-dark / ld-section-bg) define el fondo.
   El id permite estilos exclusivos sin clases redundantes. */
#hero            {}
#situaciones     {}
#como-funciona   {}
#red-proactive   {}
#para-quien      {}
#pasos           {}
#que-incluye     {}
#mantenimiento   {}
#preguntas       {}
#contacto        {}
#contacto-serv   {}

/* -------------------------------------------------------------
   5. DECORATIVOS — GLOWS RADIALES DE FONDO
   ------------------------------------------------------------- */
.ld-glow-hero-cyan {
    background: radial-gradient(circle, var(--ld-glow-cyan-color) 0%, transparent 65%);
    filter: blur(var(--ld-glow-blur-lg));
}
.ld-glow-hero-indigo {
    background: radial-gradient(circle, var(--ld-glow-indigo-color) 0%, transparent 65%);
    filter: blur(var(--ld-glow-blur-xl));
}
.ld-glow-situaciones {
    background: radial-gradient(circle, var(--ld-glow-emerald-sm) 0%, transparent 65%);
    filter: blur(var(--ld-glow-blur-2xl));
}
.ld-glow-para-quien {
    background: radial-gradient(circle, var(--ld-glow-indigo-sm) 0%, transparent 65%);
    filter: blur(var(--ld-glow-blur-lg));
}
.ld-glow-pasos {
    background: radial-gradient(circle, var(--ld-glow-indigo-xs) 0%, transparent 60%);
    filter: blur(var(--ld-glow-blur-lg));
}
.ld-glow-contacto {
    background: radial-gradient(circle, var(--ld-glow-cyan-xs) 0%, transparent 65%);
    filter: blur(var(--ld-glow-blur-xl));
}
.ld-glow-contacto-sm {
    background: radial-gradient(circle, rgba(56, 189, 248, 0.08) 0%, transparent 65%);
    filter: blur(var(--ld-glow-blur-xl));
}
.ld-glow-ellipse-cyan {
    background: radial-gradient(ellipse, rgba(56, 189, 248, 0.06) 0%, transparent 70%);
    filter: blur(60px);
}
.ld-glow-ellipse-violet {
    background: radial-gradient(ellipse, rgba(139, 92, 246, 0.12) 0%, transparent 65%);
    filter: blur(80px);
}
.ld-divider-violet {
    background: linear-gradient(90deg, transparent 0%, rgba(139, 92, 246, 0.4) 50%, transparent 100%);
}

/* -------------------------------------------------------------
   6. COMPONENTES
   ------------------------------------------------------------- */

/* NAV */
.ld-nav {
    background: var(--ld-bg-nav);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--ld-border);
}
.ld-nav-scroll {
    background: rgba(6, 10, 20, 0.9);
    border-bottom: 1px solid rgba(56, 189, 248, 0.12);
}
.ld-nav-mobile-menu {
    background: rgba(8, 14, 28, 0.98);
    border: 1px solid rgba(56, 189, 248, 0.2);
    box-shadow: 0 0 0 1px rgba(255,255,255,0.04), 0 0 40px rgba(56,189,248,0.07), 0 30px 60px rgba(0,0,0,0.6);
}
.ld-nav-mobile-border { border-top: 1px solid var(--ld-border); }
.ld-nav-logo-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
    flex-shrink: 0;
}
.ld-nav-logo-img {
    height: 44px;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 4px 14px rgba(56, 189, 248, 0.4));
    flex-shrink: 0;
}
.ld-nav-brand-name {
    font-family: var(--ld-font-display);
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1;
    color: #ffffff;
    white-space: nowrap;
}
.ld-nav-brand-badge {
    display: block;
    width: 100%;
    font-family: var(--ld-font-mono);
    font-size: 0.38rem;
    font-weight: 400;
    text-transform: uppercase;
    padding: 1px 0;
    border-radius: 3px;
    text-align: center;
    color: #e9d5ff;
    background: rgba(168, 85, 247, 0.1);
    border: 1px solid rgba(168, 85, 247, 0.28);
    line-height: 1;
    letter-spacing: 0.7em;
    text-indent: 0.7em;
    box-sizing: border-box;
}
.ld-nav-brand-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.ld-nav-brand-tagline {
    width: 100%;
    margin-top: 4px;
}

/* FORMULARIO CONTACTO */
.ld-form-fieldset {
    border: none;
    margin: 0;
    padding: 0;
    min-width: 0;
}
.ld-form-input {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--ld-text);
}
.ld-form-select {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--ld-text);
}
.ld-form-select option { background: #0d1525; }
.ld-form-checkbox {
    accent-color: var(--ld-cyan);
    width: 1rem;
    height: 1rem;
}
.ld-form-error-text  { color: var(--ld-red); }
.ld-form-error-banner {
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.2);
    color: var(--ld-red-text);
}
.ld-form-success-banner {
    background: rgba(16, 185, 129, 0.06);
    border: 1px solid rgba(16, 185, 129, 0.2);
}
.ld-form-success-icon  { color: var(--ld-emerald); }
.ld-form-success-title { color: var(--ld-text); }
.ld-form-context-box   { background: rgba(255, 255, 255, 0.018); }
.ld-form-context-item {
    background: rgba(56, 189, 248, 0.06);
    border: 1px solid rgba(56, 189, 248, 0.18);
}
.ld-form-disabled-notice {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
}
.ld-form-disabled-title  { color: var(--ld-text); }
.ld-form-disabled-text   {
    color: var(--ld-text-subtle);
    border-top: 1px solid rgba(139, 92, 246, 0.2);
}
.ld-form-context-panel {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--ld-text-muted);
}

/* FOOTER */
.ld-footer {
    background: linear-gradient(180deg, var(--ld-bg-section) 0%, #060a12 100%);
    border-top: 1px solid var(--ld-border);
}

/* PANEL MOCKUP */
.ld-panel-root {
    background: rgba(8, 14, 28, 0.95);
    border: 1px solid rgba(56, 189, 248, 0.2);
    box-shadow: 0 0 0 1px rgba(255,255,255,0.04), 0 0 40px rgba(56,189,248,0.07), 0 30px 60px rgba(0,0,0,0.6);
}
.ld-panel-header {
    background: rgba(6, 10, 20, 0.9);
    border-bottom: 1px solid rgba(56, 189, 248, 0.12);
}
.ld-panel-logo-link {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
    width: fit-content;
}
.ld-panel-logo-img {
    height: 44px;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 4px 14px rgba(56, 189, 248, 0.4));
    flex-shrink: 0;
}
.ld-panel-sidebar {
    background: rgba(6, 10, 20, 0.8);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.ld-panel-dot-green  { background: #22C55E; opacity: .8; }
.ld-panel-dot-amber  { background: #F59E0B; opacity: .8; }
.ld-panel-dot-red    { background: #EF4444; opacity: .8; }
.ld-panel-content {
    background: rgba(8, 14, 28, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.07);
}
.ld-panel-progress-bar {
    width: 78%;
    background: var(--ld-gradient);
    box-shadow: 0 0 10px rgba(56, 189, 248, 0.4);
}
.ld-panel-progress-track { background: rgba(255, 255, 255, 0.07); }
.ld-panel-status-ok {
    background: #22c55e;
    box-shadow: 0 0 10px #22c55e;
}
.ld-panel-nav-item {
    color: var(--ld-text-subtle);
    border-color: rgba(255, 255, 255, 0.06);
}
.ld-panel-nav-active {
    color: var(--ld-cyan);
    background: rgba(56, 189, 248, 0.06);
    border-color: rgba(56, 189, 248, 0.15);
}

/* -------------------------------------------------------------
   7. ELEMENTOS DE UI VARIOS
   ------------------------------------------------------------- */
.ld-card-highlight {
    background: rgba(16, 24, 39, 0.75);
    border: 1px solid var(--ld-border);
    border-left: 3px solid var(--ld-cyan);
}
.ld-card-ghost {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--ld-text);
}
.ld-card-ghost-muted {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--ld-text-muted);
}
.ld-panel-ghost {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.ld-panel-ghost-xs {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
}
.ld-panel-ghost-xxs {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
}
.ld-panel-ghost-mini {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.ld-panel-row-alt {
    background: rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.ld-border-bottom { border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.ld-border-top    { border-top: 1px solid var(--ld-border); }
.ld-border-cyan   { border-color: rgba(56, 189, 248, 0.2); }

/* Chips / etiquetas por color */
.ld-chip-cyan       { background: rgba(56, 189, 248, 0.1); border: 1px solid rgba(56, 189, 248, 0.2); }
.ld-chip-cyan-sm    { background: rgba(56, 189, 248, 0.05); border: 1px solid rgba(56, 189, 248, 0.15); }
.ld-chip-cyan-xs    { background: rgba(56, 189, 248, 0.04); border: 1px solid rgba(56, 189, 248, 0.15); }
.ld-chip-cyan-accent { color: var(--ld-cyan); background: rgba(56, 189, 248, 0.1); border: 1px solid rgba(56, 189, 248, 0.3); }
.ld-chip-cyan-bright { color: var(--ld-cyan); background: rgba(56, 189, 248, 0.12); border: 1px solid rgba(56, 189, 248, 0.3); }
.ld-chip-cyan-subtle { color: var(--ld-cyan); background: rgba(56, 189, 248, 0.08); border: 1px solid rgba(56, 189, 248, 0.25); }
.ld-chip-indigo     { background: rgba(99, 102, 241, 0.08); border: 1px solid rgba(99, 102, 241, 0.2); }
.ld-chip-violet-xs  { background: rgba(139, 92, 246, 0.05); border: 1px solid rgba(139, 92, 246, 0.12); }
.ld-chip-violet-sm  { background: rgba(139, 92, 246, 0.07); border: 1px solid rgba(139, 92, 246, 0.2); }
.ld-chip-violet     { background: rgba(139, 92, 246, 0.1); border: 1px solid rgba(139, 92, 246, 0.2); }
.ld-chip-violet-md  { background: rgba(139, 92, 246, 0.05); border: 1px solid rgba(139, 92, 246, 0.18); }
.ld-chip-amber      { background: rgba(245, 158, 11, 0.1); border: 1px solid rgba(245, 158, 11, 0.2); }
.ld-chip-red        { background: rgba(239, 68, 68, 0.1); border: 1px solid rgba(239, 68, 68, 0.2); }
.ld-chip-slate      { background: rgba(100, 116, 139, 0.08); border: 1px solid rgba(100, 116, 139, 0.2); }

/* Accesibilidad: elemento oculto visualmente */
.ld-sr-only {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Boton CTA variante violeta */
.ld-btn-cta-violet {
    background: var(--ld-gradient-cta);
    border: none;
    box-shadow: 0 0 20px rgba(139, 92, 246, 0.3);
}

/* Nota / aclaracion interna (servicio) */
.ld-note-box {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(139, 92, 246, 0.12);
    color: var(--ld-text-subtle);
}

/* Tabla comparacion fila alternada */
.ld-table-row-alt { border-bottom: 1px solid rgba(255, 255, 255, 0.05); }

/* Grid de logos auto-ajustable */
.ld-grid-logos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 10px;
}

/* Tarjeta plan de mantenimiento */
.ld-plan-card {
    background: linear-gradient(135deg, rgba(16, 24, 39, 0.95) 0%, rgba(8, 12, 20, 0.98) 100%);
    border: 1px solid rgba(56, 189, 248, 0.3);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
}

/* Tabla oscura (panel de datos) */
.ld-table-dark {
    background: rgba(8, 14, 28, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.07);
}

/* Lineas del boton hamburger (mobile nav) */
.ld-hamburger-line { background-color: var(--ld-text); }
/* --- SERVICIO — Clases adicionales ---------------------------------------- */

/* Sección mantenimiento — gradiente violeta profundo */
.ld-section-violet {
    background: linear-gradient(135deg, #0f0c24 0%, #100c2a 50%, #0c0f1e 100%);
}

/* Chip cyan con texto — tags de tecnología (#diferenciacion) */
.ld-chip-cyan-tag {
    background: rgba(56, 189, 248, 0.06);
    border: 1px solid rgba(56, 189, 248, 0.15);
    color: var(--ld-text-muted);
}

/* Chip violeta — card de ítem de mantenimiento */
.ld-chip-violet-accent {
    background: rgba(139, 92, 246, 0.1);
    border: 1px solid rgba(139, 92, 246, 0.2);
}

/* Card violeta — box "La continuidad natural del proyecto" */
.ld-card-violet {
    background: rgba(139, 92, 246, 0.07);
    border: 1px solid rgba(139, 92, 246, 0.2);
}

/* Botón violeta — CTA mantenimiento */
.ld-btn-violet {
    background: linear-gradient(135deg, #7c3aed, #6366f1);
    border: none;
    box-shadow: 0 0 20px rgba(139, 92, 246, 0.3);
}

/* Glows violeta */
.ld-glow-violet-ellipse {
    background: radial-gradient(ellipse, rgba(139, 92, 246, 0.12) 0%, transparent 65%);
    filter: blur(80px);
}
.ld-glow-violet-circle {
    background: radial-gradient(circle, rgba(99, 102, 241, 0.07) 0%, transparent 60%);
    filter: blur(100px);
}

/* Panel void — aviso técnico en mantenimiento */
.ld-panel-void {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(139, 92, 246, 0.12);
    color: var(--ld-text-subtle);
}

/* Borde separador violeta fino */
.ld-border-violet-sm {
    border-top: 1px solid rgba(139, 92, 246, 0.2);
}

/* Borde muy sutil */
.ld-border-subtle {
    border-color: rgba(255, 255, 255, 0.06);
}

/* Borde cyan fino */
.ld-border-cyan-sm {
    border-color: rgba(56, 189, 248, 0.15);
}

/* Fila cabecera de tabla */
.ld-table-header-row {
    background: rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
