@page {
    size: A4;
    margin: 8mm;
}

@media print {

    /* ========== VARIABLES DE COLOR ========== */
    :root {
        --color-primary: #24e2cb;
        --color-accent: #557be8;
        --color-text: #010a09;
        --color-background: #ffffff;
    }

    /* ========== RESET NUCLEAR ========== */
    * {
        box-shadow: none !important;
        text-shadow: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }

    html,
    body {
        width: 210mm;
        height: auto;
        margin: 0;
        padding: 0;
        background: white;
        font-family: "Stack Sans Text", sans-serif;
        color: var(--color-text);
        overflow: visible;
    }

    #print-button {
        display: none !important;
    }

    /* ========== RESETEAR .body COMPLETAMENTE ========== */
    .body {
        min-height: 0 !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        background: white !important;
        display: block !important;
        position: static !important;
        cursor: default !important;
    }

    /* ========== CV LAYOUT ========== */
    .cv-layout {
        width: 100%;
        max-width: 100%;
        height: auto;
        margin: 0;
        padding: 0;
        box-shadow: none;
        background: white;
        position: static;
    }

    /* ========== OCULTAR IMAGEN Y BOTÓN ========== */
    .author-image {
        /* display: none !important; */

        display: block !important;
        position: static !important;
        width: 15mm !important;
        height: 15mm !important;
        margin: 0 auto 1mm auto !important;
        padding: 0 !important;
        border-radius: 50% !important;
        object-fit: cover !important;
        object-position: center !important;
        background-color: white !important;
        box-shadow: 0 1px 3px rgba(1, 10, 9, 0.15) !important;
        transform: none !important;
        top: auto !important;
        left: auto !important;
    }

    button {
        display: none !important;
    }

    /* ========== HEADER ULTRA COMPACTO ========== */
    .cv-header {
        padding: 0 !important;
        margin: 0 0 3mm 0 !important;
        page-break-after: avoid;
        break-after: avoid;
    }

    .header-author-info {
        padding: 1mm !important;
        margin: 0 !important;
        gap: 0.5mm !important;
        display: grid;
        place-items: center;
    }

    .header-title {
        font-size: 18pt !important;
        font-weight: 700 !important;
        font-family: "Stack Sans Notch", sans-serif !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.1 !important;
        text-align: center;
        /* Degradado restaurado */
        background: linear-gradient(135deg, var(--color-primary), var(--color-accent)) !important;
        -webkit-background-clip: text !important;
        -webkit-text-fill-color: transparent !important;
        background-clip: text !important;
    }

    .header-role {
        font-size: 11pt !important;
        font-family: "Stack Sans Notch", sans-serif !important;
        color: var(--color-text) !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.2 !important;
        text-align: center;
    }

    .header-contact-list {
        padding: 1mm 0 !important;
        margin: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1mm !important;
        place-items: center;
        position: static !important;
        border-top: 1pt solid var(--color-text) !important;
        border-bottom: 1pt solid var(--color-text) !important;
    }

    .header-contact-list::before,
    .header-contact-list::after {
        display: none !important;
    }

    .contact-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 0.5mm !important;
    }

    .item-title {
        font-size: 7.5pt !important;
        font-weight: 600 !important;
        color: var(--color-text) !important;
        margin: 0 !important;
    }

    .item-link {
        display: flex !important;
        justify-content: center !important;
    }

    .link {
        font-size: 7.5pt !important;
        color: var(--color-text) !important;
        text-decoration: none !important;
        display: flex !important;
        align-items: center !important;
        gap: 0.5mm !important;
    }

    .link-span {
        font-size: 7.5pt !important;
        color: var(--color-text) !important;
    }

    .svg-icon,
    .image-svg {
        width: 3mm !important;
        height: 3mm !important;
        margin: 0 !important;
        color: var(--color-text) !important;
        fill: var(--color-text) !important;
    }

    .proton-icon {
        background-color: var(--color-text) !important;
    }

    /* ========== CV BODY ========== */
    .cv-body {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: 45% 55% !important;
        gap: 4mm !important;
        page-break-before: avoid;
        break-before: avoid;
    }

    /* ========== MAIN Y SIDEBAR ========== */
    .cv-main {
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 2.5mm !important;
        order: 1;
    }

    .cv-sidebar {
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 5mm !important; /* 2.5mm originalmente */
        order: 2;
        background: none !important;
        border: none !important;
    }

    /* ========== ARTÍCULOS ========== */
    .article {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5mm !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .article-header {
        padding: 0.75mm 2mm !important;
        margin: 0 0 1mm 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 1mm !important;
        border-left: 2pt solid var(--color-primary) !important;
        background: linear-gradient(90deg, rgba(36, 226, 203, 0.05) 0%, transparent 100%) !important;
        max-height: none !important;
    }

    .article-title {
        font-size: 10pt !important;
        font-weight: 700 !important;
        font-family: "Stack Sans Notch", sans-serif !important;
        color: var(--color-text) !important;
        margin: 0 !important;
        line-height: 1.2 !important;
    }

    .article-title em {
        font-size: 8pt !important;
        font-weight: 400 !important;
        font-style: italic !important;
    }

    .article-body {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5mm !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* ========== SOBRE MÍ ========== */
    .article-about-me .article-body {
        width: 100% !important;
        gap: 1mm !important;
    }

    .article-about-me .text {
        font-size: 8.5pt !important;
        line-height: 1.25 !important;
        color: var(--color-text) !important;
        margin: 0 !important;
        font-weight: 400 !important;
    }

    /* ========== CARDS GENERALES ========== */
    .project-card,
    .job-card,
    .course-card,
    .lang-card {
        width: 100% !important;
        padding: 1.5mm !important;
        margin: 0 !important;
        gap: 1mm !important;
        border-left: 1.5pt solid var(--color-primary) !important;
        background: white !important;
        box-shadow: none !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        display: grid !important;
        transition: none !important;
    }

    .card-header {
        padding: 0.75mm 1.5mm !important;
        margin: 0 !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 1mm !important;
        background: linear-gradient(90deg, rgba(85, 123, 232, 0.08) 0%, transparent 100%) !important;
        border-left: 1pt solid var(--color-accent) !important;
    }

    .project-card .card-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 1mm !important;
    }

    .card-title {
        font-size: 8pt !important;
        font-weight: 600 !important;
        color: var(--color-text) !important;
        margin: 0 !important;
        line-height: 1.2 !important;
    }

    .card-date {
        font-size: 8pt !important;
        font-weight: 500 !important;
        color: var(--color-accent) !important;
        margin: 0 !important;
    }

    .card-description {
        font-size: 8pt !important;
        font-weight: 400 !important;
        font-style: italic !important;
        color: var(--color-text) !important;
        margin: 0 !important;
        line-height: 1.2 !important;
    }

    .card-body {
        padding: 0.75mm 1.5mm 0 1.5mm !important;
        margin: 0 !important;
        display: grid !important;
        gap: 0.75mm !important;
    }

    .project-card .card-body {
        gap: 1mm !important;
    }

    .card-place {
        font-size: 8.5pt !important;
        font-weight: 700 !important;
        color: var(--color-text) !important;
        margin: 0 !important;
    }

    .text-span {
        font-size: 8pt !important;
        line-height: 1.2 !important;
        color: var(--color-text) !important;
        margin: 0 !important;
        font-weight: 400 !important;
    }

    .card-technologies {
        font-size: 8pt !important;
        line-height: 1.2 !important;
        color: var(--color-text) !important;
        margin: 0 !important;
    }

    .card-technologies .text-span {
        font-weight: 400 !important;
    }

    .card-duration {
        font-size: 8pt !important;
        color: var(--color-text) !important;
        margin: 0 !important;
    }

    /* ========== TECNOLOGÍAS ========== */
    .article-technologies .article-body {
        gap: 4mm !important;
    }

    .tech-category {
        display: grid !important;
        gap: 2mm !important;
        margin: 0 !important;
    }

    .tech-category-title {
        font-size: 8.5pt !important;
        font-weight: 600 !important;
        color: var(--color-text) !important;
        opacity: 0.7 !important;
        margin: 0 !important;
    }

    .tech-list {
        width: 100% !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 1mm !important;
    }

    .tech-pill {
        font-size: 7.5pt !important;
        padding: 0.5mm 2mm !important;
        border: 1pt solid var(--color-primary) !important;
        border-radius: 6pt !important;
        background: white !important;
        color: var(--color-text) !important;
        line-height: 1.15 !important;
        box-shadow: none !important;
        transition: none !important;
        transform: none !important;
    }

    /* ========== PROYECTOS ========== */
    .article-proyects .article-body {
        gap: 4mm !important;
    }

    .project-card .link {
        display: block !important;
        margin-top: 0.5mm !important;
    }

    /* ========== EDUCACIÓN, EXPERIENCIA, IDIOMAS ========== */
    .article-education .article-body,
    .article-experience .article-body,
    .article-languages .article-body {
        gap: 2mm !important;
    }

    /* ========== ELIMINAR EFECTOS HOVER ========== */
    .link:hover,
    .tech-pill:hover,
    .project-card:hover,
    .job-card:hover,
    .course-card:hover,
    .lang-card:hover {
        transform: none !important;
        color: var(--color-text) !important;
        border-left-color: var(--color-text) !important;
        background: none !important;
    }

    /* ========== AJUSTE FINAL - ESCALAR SI ES NECESARIO ========== */
    /* Si aún no cabe en una página, descomenta esto: */
    /*
    .cv-layout {
        transform: scale(0.92);
        transform-origin: top center;
    }
    */
}