@media print {

    /* --- Reseteo y Tipografía Base --- */
    @page {
        margin: 1.5cm;
    }

    body {
        background: #ffffff !important;
        color: #000000 !important;
        font-family: 'Inter', sans-serif;
        font-size: 10pt;
        line-height: 1.4;
        padding: 0;
        margin: 0;
    }

    main, .card {
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        max-width: 100% !important;
    }

    a {
        color: #000 !important;
        text-decoration: none !important;
    }

    a[href]:after {
        content: "" !important;
    }

    /* --- Ocultar Elementos Innecesarios --- */
    /* **CAMBIO:** Se elimina .item .material-icons para que los iconos de sección sean visibles */
    .language-switcher, .footer, .social-icon, .social-row, .avatar {
        display: none !important;
    }

    /* --- Jerarquía Visual y Cabecera --- */
    .header h1 {
        font-size: 24pt;
        font-weight: 600;
        margin: 0;
        color: #000 !important;
    }
    .title {
        font-size: 14pt;
        font-weight: 400;
        color: #333 !important;
        margin-top: 0.25rem;
    }
    .contact {
        font-size: 9.5pt;
    }

    h2 {
        border-bottom: 1.5px solid #000 !important;
        font-size: 15pt;
        padding-bottom: 0.2rem;
        margin: 1.5rem 0 1rem 0 !important;
        page-break-after: avoid; /* Evita títulos huérfanos */
    }

    .content > section:first-child h2 {
        margin-top: 0 !important;
    }

    h3 {
        font-size: 12pt;
        color: #000 !important;
        margin: 0;
    }

    /* --- Estructura y Layout --- */
    .grid, .content {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    .profile {
        page-break-after: auto !important;
    }

    /* Reordenamos los elementos para la impresión */
    .content            { order: 1; }
    .sidebar            { order: 2; }
    .education-section  { order: 1; }
    .experience-section { order: 2; }

    .experience-section, .education-section {
        margin: 0 !important;
    }

    .sidebar {
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: 0 !important;
    }

    /* Formato de dos columnas para Skills */
    .sidebar .list.list--icon {
        column-count: 2;
        column-gap: 2.5rem;
        padding-left: var(--gap-mid);
    }

    .sidebar .list.list--icon {
        break-inside: avoid;
    }

    /* **MODIFICADO:** Solución robusta para alinear fechas con Flexbox. */
    .item {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        padding: 0 0 1rem 0 !important;
        margin: 0 0 1rem 0 !important;
        border: none !important;
        box-shadow: none !important;
        transition: none !important;
        break-inside: avoid;
    }

    .item h3 {
        display: flex;       /* Permite alinear el icono y el texto */
        align-items: center; /* Alinea verticalmente el icono */
        padding-right: 1rem; /* Espacio de seguridad */
    }

    .date {
        margin-left: auto;   /* <-- CLAVE: Empuja la fecha al extremo derecho */
        padding-left: 1rem;  /* <-- Espacio de seguridad */
        flex-shrink: 0;
        font-style: italic;
        color: #555;
        margin-right: 2.4rem;        
    }

    /* El párrafo o la lista de detalles ocupa todo el ancho en la línea siguiente */
    .item .list--sublist, .item p {
        width: 100%;
        margin: 0.25rem 0 0 0;
    }

    /* **NUEVO:** Estilos para que los iconos de sección se vean bien */
    .item .material-icons {
        display: inline-block !important;
        font-size: 1.2em;
        margin-right: 0.5rem;
        vertical-align: middle; /* Ayuda a la alineación vertical */
    }

    .phone {
        display: inline-flex !important; /* Lo volvemos a mostrar */
    }

    .experience-section .list--items,
    .education-section .list--items {
        gap: 0 !important;
    }
}
