/* ============================================================== */
/* ESTILOS ESPECÍFICOS DE LA SUBPÁGINA (Perfil / Currículum)      */
/* ============================================================== */

/* 1. EL ESCUDO DEL TÍTULO PRINCIPAL (Bloquea herencias de global.css) */
.ngc-main-title {
    color: var(--ngc-text-main);
    font-size: 1.8rem;
    font-weight: 800;
    text-transform: uppercase;
    text-align: center;
    text-shadow: none !important; /* Adiós al neón difuso */
    margin-bottom: 20px;
    letter-spacing: 1px;
}

/* --- VARIABLES ESPECÍFICAS DEL CV --- */
:root {
    --ngc-cv-pill-bg: rgba(0, 0, 0, 0.4);
    --ngc-cv-pill-border: 1px solid rgba(255, 255, 255, 0.05);
}

[data-theme="light"] {
    --ngc-cv-pill-bg: rgba(0, 0, 0, 0.06);
    --ngc-cv-pill-border: 1px solid rgba(0, 0, 0, 0.1);
}

.hidden-mobile { display: block; }

/* --- TARJETA PRINCIPAL (CV) --- */
.ngc-full-container {
    width: 100%; background: var(--ngc-glass); backdrop-filter: var(--ngc-blur);
    border: var(--ngc-border-glass); 
    border-radius: 12px; /* Reducido a 12px */
    /* Eliminado el border-left grueso para unificar */
    padding: 25px 20px;
    display: flex; flex-direction: column; gap: 20px;
    box-shadow: 0 4px 15px var(--card-shadow), var(--ngc-glass-edge); /* Sombra estándar */
    margin-bottom: 15px;
}

/* --- FOTO MARCO PREMIUM --- */
.ngc-photo-landscape {
    position: relative; width: 100%; border-radius: 12px; overflow: hidden; padding: 4px; 
    display: flex; justify-content: center; align-items: center; 
    background: var(--ngc-privacy-border);
    box-shadow: 0 5px 15px var(--card-shadow);
}
.ngc-photo-landscape::after {
    content: ''; position: absolute; inset: 4px; background: var(--ngc-glass); 
    border-radius: 10px; z-index: 0;
}
.ngc-photo-landscape img {
    width: 100%; height: auto; display: block; object-fit: cover; border-radius: 9px;
    z-index: 1; position: relative;
}

/* --- TEXTOS DEL PERFIL --- */
.ngc-content-area { width: 100%; text-align: left; }

.ngc-user-name { 
    display: block; color: var(--ngc-text-main); font-size: 1.15rem; 
    font-weight: 800; margin-bottom: 6px; line-height: 1.2; letter-spacing: 1px; 
}

.cv-personal-info {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 12px;
    margin-top: 10px; border-top: 1px solid var(--ngc-privacy-border); padding-top: 12px;
}
.cv-personal-info span {
    font-size: 0.75rem; color: var(--ngc-text-muted); text-transform: uppercase;
    letter-spacing: 1px; background: var(--ngc-cv-pill-bg); padding: 4px 10px; border-radius: 20px;
    border: var(--ngc-cv-pill-border); font-weight: 600;
}

.cv-section-title {
    color: var(--ngc-text-muted); font-size: 0.8rem; text-transform: uppercase;
    letter-spacing: 1.5px; margin-bottom: 15px; font-weight: 700;
    border-bottom: 1px solid var(--ngc-privacy-border); padding-bottom: 5px;
}
.cv-section-title i { color: var(--ngc-neon); margin-right: 5px;}

/* LISTA DE CREDENCIALES */
.cv-item { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 15px; }
.cv-item:last-child { margin-bottom: 0; }

.cv-icon { color: var(--success-green); font-size: 1rem; margin-top: 2px; }

.cv-item-text { display: flex; flex-direction: column; gap: 2px; }
.cv-item-text strong { font-size: 0.9rem; color: var(--ngc-text-main); font-weight: 700; }
.cv-item-text span { font-size: 0.75rem; color: var(--ngc-text-muted); }

/* CTA FORMAL */
.btn-cta-formal {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    width: 100%; padding: 12px; background: var(--ngc-glass);
    border: 1px solid var(--ngc-privacy-border); border-radius: 12px; color: var(--ngc-text-main);
    font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px;
    text-decoration: none; transition: all 0.3s ease; margin-top: 5px;
}
.btn-cta-formal:hover { 
    border-color: var(--ngc-neon); color: var(--ngc-neon);
    background: rgba(var(--ngc-neon-rgb), 0.1); 
    box-shadow: 0 6px 20px var(--card-shadow); /* Elevación física, sin resplandor radiactivo */
    transform: translateY(-2px);
}

/* --- CONTENEDORES CON ESTILO NGC --- */
.ngc-banner, details {
    background: var(--ngc-glass); 
    backdrop-filter: var(--ngc-blur); 
    -webkit-backdrop-filter: var(--ngc-blur);
    border: var(--ngc-border-glass); 
    /* ELIMINADO: border-left: 4px solid var(--ngc-neon); */
    border-radius: 12px; /* Reducido de 16px a 12px para igualar a Servicios */
    width: 100%; 
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px var(--card-shadow), var(--ngc-glass-edge);
}

details[open] { 
    border-color: var(--ngc-neon); /* Solo dibuja una línea fina y elegante al abrir */
    box-shadow: 0 8px 25px var(--card-shadow), var(--ngc-glass-edge);
}

details:hover .icon-box i { 
    color: var(--ngc-neon); 
    transition: all 0.3s ease; 
}

.ngc-banner { padding: 15px 20px; display: flex; flex-direction: column; gap: 8px; }
.ngc-banner span { color: var(--ngc-text-main); font-weight: 700; text-transform: uppercase; font-size: 0.85rem; letter-spacing: 1px; }
.ngc-banner span i { color: var(--ngc-neon); }
.ngc-banner p { margin: 0; color: var(--ngc-text-muted); font-size: 0.85rem; line-height: 1.5; }

summary {
    padding: 15px 20px; display: flex; align-items: center; justify-content: space-between;
    font-weight: 600; letter-spacing: 1px; text-transform: uppercase; font-size: 0.85rem;
    min-height: 45px; cursor: pointer; list-style: none; user-select: none;
}
summary::-webkit-details-marker { display: none; }

.summary-title { display: flex; align-items: center; gap: 12px; color: var(--ngc-text-main); text-shadow: none !important; }
.ngc-content { padding: 5px 20px 20px 20px; font-size: 0.9rem; line-height: 1.6; color: var(--ngc-text-muted); animation: fadeIn 0.3s ease; background: var(--content-bg); }
.ngc-content strong { color: var(--ngc-text-main); font-weight: 700;}

.icon-box { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; color: var(--ngc-text-muted); transition: all 0.3s ease;}
.chevron { transition: transform 0.3s ease; opacity: 0.6; }
details[open] .chevron { transform: rotate(180deg); opacity: 1; color: var(--ngc-neon); }
details[open] .icon-box i { color: var(--ngc-neon); }

@keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

/* ======================================================= */
/*      ADAPTACIÓN RESPONSIVE (TABLET Y ESCRITORIO)        */
/* ======================================================= */
@media (min-width: 1024px) {
    body { padding-top: 40px; align-items: flex-start; }
    
    .layout-desktop {
        display: grid;
        grid-template-columns: 420px 1fr;
        gap: 30px;
        align-items: start;
    }

    .col-izquierda {
        position: sticky;
        top: 40px;
        display: flex;
        flex-direction: column;
        gap: 15px; 
        max-height: calc(100vh - 80px);
        overflow-y: auto;
        padding-right: 5px; 
    }
    
    .col-izquierda::-webkit-scrollbar { width: 0px; }

    .col-derecha {
        display: flex;
        flex-direction: column;
        gap: 15px; 
        min-height: calc(100vh - 80px);
    }
    
    .ngc-full-container, .ngc-banner, details { margin-bottom: 0; }
    .ngc-main-title { text-align: left; }
}

/* ======================================================= */
/*      REORDENAMIENTO EN MÓVILES (Perfil)                 */
/* ======================================================= */
@media (max-width: 1023px) {
    .col-izquierda, .col-derecha {
        display: block;
    }
    
    .hidden-mobile { 
        display: none !important; 
    }

    .ngc-full-container, .ngc-banner, details {
        margin-bottom: 12px !important;
    }
    
    .ngc-main-title {
        margin-bottom: 12px !important;
    }

    .footer-gnc-compact {
        margin-top: 0 !important;
    }
    }

