﻿@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/roboto-v30-latin-300.eot');
    src: local(''), url('../fonts/roboto-v30-latin-300.eot?#iefix') format('embedded-opentype'), url('../fonts/roboto-v30-latin-300.woff2') format('woff2'), url('../fonts/roboto-v30-latin-300.woff') format('woff'), url('../fonts/roboto-v30-latin-300.ttf') format('truetype'), url('../fonts/roboto-v30-latin-300.svg#Roboto') format('svg');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/roboto-v30-latin-regular.eot');
    src: local(''), url('../fonts/roboto-v30-latin-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/roboto-v30-latin-regular.woff2') format('woff2'), url('../fonts/roboto-v30-latin-regular.woff') format('woff'), url('../fonts/roboto-v30-latin-regular.ttf') format('truetype'), url('../fonts/roboto-v30-latin-regular.svg#Roboto') format('svg');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/roboto-v30-latin-700.eot');
    src: local(''), url('../fonts/roboto-v30-latin-700.eot?#iefix') format('embedded-opentype'), url('../fonts/roboto-v30-latin-700.woff2') format('woff2'), url('../fonts/roboto-v30-latin-700.woff') format('woff'), url('../fonts/roboto-v30-latin-700.ttf') format('truetype'), url('../fonts/roboto-v30-latin-700.svg#Roboto') format('svg');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/roboto-v30-latin-900.eot');
    src: local(''), url('../fonts/roboto-v30-latin-900.eot?#iefix') format('embedded-opentype'), url('../fonts/roboto-v30-latin-900.woff2') format('woff2'), url('../fonts/roboto-v30-latin-900.woff') format('woff'), url('../fonts/roboto-v30-latin-900.ttf') format('truetype'), url('../fonts/roboto-v30-latin-900.svg#Roboto') format('svg');
}

/* ============================================= */
/* PAE System: Design Tokens & Base Styles       */
/* ============================================= */
:root {
    /* Colores */
    --pae-color-primary: #6c757d;
    --pae-color-primary-dark: #5a6268;
    --pae-color-secondary: #343a40; /* Gris oscuro para textos/fondos */
    --pae-color-secondary-dark: #008E3A; /* Color de resalte */
    --pae-color-logo1: #E0252B;
    --pae-color-logo2: #008E3A;
    --pae-color-logo3: #2E4296;
    --pae-color-logo4: #D5543B;
    --pae-color-logo5: #20B4B1;
    --pae-color-accent: #007bff; /* Un acento azul para enlaces */
    --pae-color-background: #f8f9fa;
    --pae-color-surface: #ffffff;
    --pae-color-text-primary: #343a40;
    --pae-color-text-secondary: #6c757d;
    --pae-color-text-light: #ffffff;
    --pae-color-text-dark: #1a1a1a;
    --pae-color-border: #dee2e6;
    --pae-color-footer-bg: #575756;
    --pae-color-placeholder: #ced4da;
    --pae-color-background-light: #E8F0F0; /* Gris azulado para fondos de sección */
    --pae-color-neutral-900: #1a202c; /* Texto principal */
    --pae-color-neutral-700: #4a5568; /* Texto secundario/descripciones */
    --pae-color-neutral-200: #e2e8f0; /* Bordes */
    --pae-color-neutral-150: #f2f2f2; /* Fondo de la página */
    --pae-color-neutral-100: #f7fafc;
    --pae-color-table-primary: #f1f1f1;
    --pae-color-table-secondary: #fefefe;
    /* Tipografía */
    --pae-font-family-base: "Roboto", Helvetica, Arial, sans-serif;
    --pae-font-weight-light: 300;
    --pae-font-weight-normal: 400;
    --pae-font-weight-bold: 700;
    --pae-font-weight-bolder: 900;
    --pae-font-size-h0: 2.8rem;
    --pae-font-size-h1: 1.9rem;
    --pae-font-size-h2: 1.6rem;
    --pae-font-size-h3: 1.4rem;
    --pae-font-size-h4: 1.12rem;
    --pae-font-size-h5: 1rem;
    --pae-font-size-h6: 0.87rem;
    --pae-font-size-p: 1rem;
    /* Espaciado */
    --pae-spacing-sm: 0.5rem;
    --pae-spacing-md: 1rem;
    --pae-spacing-lg: 1.5rem;
    --pae-spacing-xl: 2.5rem;
    --pae-spacing-xxl: 4rem;
    /* Bordes y Sombras */
    --pae-border-radius-sm: 0.3rem;
    --pae-border-radius-md: 0.5rem;
    --pae-border-radius-lg: 1rem;
    --pae-border-radius-xl: 1.5rem;
    --pae-border-radius-xxl: 2.5rem;
    --pae-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    --pae-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --pae-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --pae-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    /* Transiciones */
    --pae-transition-fast: all 0.2s ease-in-out;
    --pae-transition-base: all 0.3s ease-in-out;
    /* Layout */
    --pae-container-width: 1200px;
    --pae-container-padding: 1.5rem;
    /* fondos gaussianos */
    --pae-color-overlay-dark: rgba(26, 32, 44, 0.75); /* Basado color-neutral-900 con 75% de opacidad oscura*/
    --pae-color-overlay-light: rgba(248, 249, 250, 0.85); /* Un blanco ligeramente traslúcido */
    --pae-color-overlay-gray: rgba(52, 52, 52, 0.5); /* Un gris ligeramente traslúcido */
}

@media (max-width: 48em) {
    :root {
        --pae-font-size-h0: 2rem;
        --pae-font-size-h1: 1.6rem;
        --pae-font-size-h2: 1.4rem;
        --pae-font-size-h3: 1.1;
        --pae-font-size-h4: 1rem;
        --pae-font-size-h5: 0.9rem;
        --pae-font-size-h6: 0.8rem;
    }
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--pae-font-family-base);
    background-color: var(--pae-color-surface);
    color: var(--pae-color-text-primary);
}

img {
    max-width: 100%;
    height: auto;
    display: inline-block;
}

.pae-container {
    max-width: var(--pae-container-width);
    margin-left: auto;
    margin-right: auto;
    padding: 0 var(--pae-spacing-lg);
}

.pae-container-mov {
    margin-left: auto;
    margin-right: auto;
    padding: 0 var(--pae-spacing-lg);
}

.center{
    text-align:center;
}

.h0,
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
    cursor: auto;
    line-height: 1.2;
    text-rendering: optimizeLegibility;
}

.h0 small,
h1 small, .h1 small,
h2 small, .h2 small,
h3 small, .h3 small,
h4 small, .h4 small,
h5 small, .h5 small,
h6 small, .h6 small {
    line-height: 0;
}

.h0 {
    font-size: var(--pae-font-size-h0);
}

h1,.h1 {
    font-size: var(--pae-font-size-h1);
}

h2, .h2 {
    font-size: var(--pae-font-size-h2);
}

h3, .h3 {
    font-size: var(--pae-font-size-h3);
}

h4, .h4 {
    font-size: var(--pae-font-size-h4);
}

h5, .h5 {
    font-size: var(--pae-font-size-h5);
}

h6, .h6 {
    font-size: var(--pae-font-size-h6);
}

.pae-color-logo1 {
    background-color: var(--pae-color-logo1);
    color:var(--pae-color-text-light);
}

.pae-color-logo2 {
    background-color: var(--pae-color-logo2);
    color: var(--pae-color-text-light);
}
.pae-color-logo3 {
    background-color: var(--pae-color-logo3);
    color: var(--pae-color-text-light);
}
.pae-color-logo4 {
    background-color: var(--pae-color-logo4);
    color: var(--pae-color-text-light);
}

.pae-color-logo5 {
    background-color: var(--pae-color-logo5);
    color: var(--pae-color-text-light);
}

    .pae-color-logo1:is(:hover, :focus),
    .pae-color-logo2:is(:hover, :focus),
    .pae-color-logo3:is(:hover, :focus),
    .pae-color-logo4:is(:hover, :focus) {
        /* Oscurece el color de fondo usando un filtro de brillo */
        /* El valor '0.9' reduce el brillo en un 10%, oscureciéndolo un poco. */
        filter: brightness(1.1);
        /* Opcional: añade una transición suave para que el efecto no sea brusco */
        transition: filter 0.3s ease;
    }

/* ============================================= */
/* PAE Component: Header (Optimized)             */
/* ============================================= */
.pae-header {
    background-color: var(--pae-color-surface);
    display: flex;
    align-items: center;
    margin-bottom: var(--pae-spacing-md);
    margin-top: var(--pae-spacing-md);
}


.pae-header__container {
    display: flex;
    align-items: center;
    width: 100%; 
    justify-content: space-between;
}

.pae-header__logo {
    display: inline-block;
}
.pae-header__logo1 {
    width:35%
}

.pae-header__logo2 img{
    height: 5rem;
}

    .pae-header__logo img {
        display: block;
    }




/* ============================================= */
/* PAE Component: Header (Vista Móvil)           */
/* ============================================= */
@media (max-width: 64em) {
    .pae-header {
        margin-bottom: 0rem;
    }

    .pae-header__logo1 {
        width: auto;
        max-width: 350px;
    }

    .pae-header__logo img {
        height: auto;
    }

    .pae-header__logo--mobile-hidden {
        display: none;
    }

    .pae-nav__toggle {
        display: block;
    }

    .pae-container-mov {
        padding: 0;
    }

    .pae-container {
        padding: 0 var(--pae-spacing-md);
    }
}


/* ============================================= */
/* PAE Component: Hero Carousel (Nueva Propuesta)*/
/* ============================================= */

.pae-hero {
    position: relative;
    width: 100%;
    height: 60vh; /* Altura del 60% de la ventana, puedes ajustarlo */
    min-height: 450px;
    overflow: hidden;
    background-color: var(--pae-color-placeholder);
}

.pae-hero__track {
    display: flex;
    height: 100%;
    transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}

.pae-hero__slide {
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center;
    color: var(--pae-color-text-light);
    justify-content: flex-end;
}

.pae-hero__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.1); /* Capa oscura para legibilidad */
    z-index: 1;
}

.pae-hero__content {
    position: relative;
    z-index: 2;
    padding: var(--pae-spacing-sm) var(--pae-spacing-lg);
    text-align: center;
    max-width: 860px;
    background-color: var(--pae-color-overlay-light);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: var(--pae-border-radius-lg);
    color: var(--pae-color-text-primary);
    bottom: 7rem;
}

.pae-hero__title {
    font-size: var(--pae-font-size-h0);
/*    font-weight: var(--pae-font-weight-bolder);*/
    margin-bottom: var(--pae-spacing-md);
    line-height: normal;
}

.pae-hero__text {
    font-size: var(--pae-font-size-h3);
    line-height: 1.2;
}

/* Sección de botones de acción flexible */
.pae-hero__actions {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    z-index: 2;
    padding-left: var(--pae-spacing-xxl);
    padding-right: var(--pae-spacing-xxl);
}

.pae-hero__action-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
    padding: var(--pae-spacing-md);
    text-align: center;
    text-decoration: none;
    transition: var(--pae-transition-base);
    border-right: 2px solid rgba(255, 255, 255, 0.7);
    height: 6rem;
    line-height: 1.1;
    cursor: pointer;
}

    .pae-hero__action-btn:last-child {
        border-right: none;
    }

    .pae-hero__action-btn:hover,
    .pae-hero__action-btn:focus {
        color: #FFF;
    
    }

/* Controles de navegación (flechas) */
.pae-hero__control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    background-color: rgba(255, 255, 255, 0.8);
    border: none;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--pae-color-text-primary);
    transition: var(--pae-transition-base);
}

    .pae-hero__control:hover {
        background-color: var(--pae-color-surface);
        transform: translateY(-50%) scale(1.1);
    }

.pae-hero__control--prev {
    left: var(--pae-spacing-lg);
}

.pae-hero__control--next {
    right: var(--pae-spacing-lg);
}

/* Paginación (puntos) */
.pae-hero__dots {
    position: absolute;
    bottom: calc(var(--pae-spacing-xxl) + 34px); /* Posicionado sobre los botones de acción */
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    gap: var(--pae-spacing-sm);
}

.pae-hero__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    border: 2px solid transparent;
    cursor: pointer;
    transition: var(--pae-transition-base);
}

.pae-hero__dot--is-active {
    background-color: var(--pae-color-surface);
    border-color: var(--pae-color-secondary-dark);
}

@media (max-width: 48em) {
    .pae-hero {
        height: 80vh;
    }

    .pae-hero__title {
        font-size: var(--pae-font-size-h1);
    }

    .pae-hero__text {
        /*font-size: var(--pae-font-size-h6);*/
        display:none;
    }

    .pae-hero__actions {
        flex-direction: column;
    }

    .pae-hero__action-btn {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    .pae-hero__dots {
        display: none;
    }
    /* Ocultar dots en móvil para más espacio */
    .pae-hero__content {
        bottom: 24rem;
    }

}

/* ============================================= */
/* PAE Component: Tarjetas de Información        */
/* ============================================= */
.pae-info-cards {
    padding: var(--pae-spacing-xxl) 0;
}

.pae-info-cards__grid {
    display: grid;
    /* Crea 2 columnas en desktop y 1 en móvil automáticamente */
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: var(--pae-spacing-md);
}


/* Estilo principal de la tarjeta */

.pae-card {
    background-color: var(--pae-color-neutral-150);
    padding: var(--pae-spacing-xl);
    display: flex;
    flex-direction: column;
    gap: var(--pae-spacing-md);
    transition: var(--pae-transition-base);
}

    .pae-card:hover {
        transform: translateY(-5px);
    }

.pae-card__header {
    display: flex;
    align-items: center;
    gap: var(--pae-spacing-md);
    overflow: hidden;
}


.pae-card__icon {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 1px solid var(--pae-color-border);
    display: grid;
    place-content: center;
    background-color: #fff;
}

.pae-card__title {
    font-size: var(--pae-font-size-h0);
    color: var(--pae-color-text-primary);
    margin: 0;
}

/*.pae-card__text {
    color: var(--pae-color-text-secondary);
       margin: 0;
    flex-grow: 1; 
}*/

.pae-card__text {
    color: var(--pae-color-text-primary);
     margin: 0;
    flex-grow: 1;
    text-align: justify;
}

/* Empuja las acciones al final de la tarjeta */
.pae-card__actions {
    margin-top: auto;
}

@media (max-width: 48em) {
    .pae-card {
        padding: var(--pae-spacing-lg);
    }
}


/* ============================================= */
/* PAE Component: Grupo de Input (Select + Botón) */
/* ============================================= */
.pae-input-group {
    display: flex;
    width: 100%;
}

.pae-select {
    /* Reseteo de estilos nativos */
    appearance: none;
    -webkit-appearance: none;
    /* Estilos del PAE System */
    flex-grow: 1; /* Ocupa el espacio disponible */
    background-color: var(--pae-color-background);
    border: 1px solid var(--pae-color-border);
    padding: var(--pae-spacing-md);
    /*font-size: var(--pae-font-size-p);*/
    color: var(--pae-color-text-secondary);
    cursor: pointer;
    border-radius: var(--pae-border-radius-md) 0 0 var(--pae-border-radius-md);
    /* Flecha personalizada */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right var(--pae-spacing-md) center;
    background-size: 1em;
}

.pae-button--icon {
    flex-shrink: 0; /* No se encoge */
    background-color: var(--pae-color-secondary-dark); /* Color rojo */
    color: var(--pae-color-text-light);
    border: none;
    border-radius: 0 var(--pae-border-radius-md) var(--pae-border-radius-md) 0;
    padding: 0 var(--pae-spacing-sm);
    display: grid;
    place-content: center;
    cursor: pointer;
    transition: var(--pae-transition-base);
}

    .pae-button--icon:hover {
        background-color: #a71910; /* Rojo más oscuro */
    }

/* ============================================= */
/* PAE Component: Contenido Dividido (Split)     */
/* ============================================= */
.pae-split-content {
    /* ANTES: display: grid; */
    /* AHORA: Usamos Flexbox para un control proporcional más directo. */
    display: flex;
    background-color: var(--pae-color-back-card, #f2f2f2);
    /* align-items: stretch (valor por defecto) hace que ambas columnas tengan la misma altura. */
}

.pae-split-content__text-wrapper {
    /* Definimos la base del ancho en 60% */
    flex: 1 1 60%;
    padding: var(--pae-spacing-xxl) var(--pae-spacing-xl);
    display: flex; /* Para centrar el contenido interno */
    align-items: center;
    justify-content: center;
}

.pae-split-content__media-wrapper {
    /* Definimos la base del ancho en 40% */
    flex: 1 1 40%;
    min-height: 400px;
}

/* El resto de los estilos internos se mantienen igual */
.pae-split-content__content {
    max-width: 600px;
    text-align: left; /* Ajustado de 'center' a 'left' para coincidir con el diseño original */
}

.pae-split-content__title {
    font-size: var(--pae-font-size-h0);
    font-weight: var(--pae-font-weight-bold);
    color: var(--pae-color-text-primary);
    margin-bottom: var(--pae-spacing-lg);
    line-height: 1.1;
}

.pae-split-content__text {
    font-size: var(--pae-font-size-h3);
    color: var(--pae-color-text-primary);
    margin-bottom: var(--pae-spacing-xl);
    text-align: justify;
}

.pae-split-content__media-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ============================================= */
/* PAE Component: Vista Móvil (Responsivo)       */
/* ============================================= */
@media (max-width: 48em) {
    .pae-split-content {
        /* Apila los elementos verticalmente: texto arriba, imagen abajo. */
        flex-direction: column;
    }

    .pae-split-content__text-wrapper {
        /* En móvil, el orden es importante, no se necesita flex-basis */
        padding: var(--pae-spacing-lg) var(--pae-spacing-md);
    }

    .pae-split-content__media-wrapper {
        min-height: 0px;
    }

}

/* ============================================= */
/* PAE Component: Modificador de Botón Sólido    */
/* ============================================= */

.pae-button--solid {
    display: inline-block;
    background-color: var(--pae-color-secondary-dark);
    color: var(--pae-color-text-light);
    padding: var(--pae-spacing-sm) var(--pae-spacing-xl);
    border-radius: 1rem;
    text-decoration: none;
     transition: var(--pae-transition-base);
    border: none;
    font-size: var(--pae-font-size-h3);
}
    .pae-button--solid:hover,
    .pae-button--solid:focus {
        background-color: #a71910; /* Rojo más oscuro */
        transform: scale(1.05);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    }

/* ============================================= */
/* PAE Component: Features Section               */
/* ============================================= */
.pae-features {
    padding: var(--pae-spacing-xl) 0;
    background-color: var(--pae-color-surface); /* Fondo blanco para la sección */
}

.pae-features__main-title {
    text-align: left;
    font-size: var(--pae-font-size-h0);
    font-weight: var(--pae-font-weight-bolder);
    color: var(--pae-color-text-primary);
    margin-bottom: var(--pae-spacing-md);
}

.pae-features__grid {
    display: grid;
    /* Crea 3 columnas en desktop que se adaptan a 1 o 2 en pantallas menores */
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--pae-spacing-md);
}s

/* ============================================= */
/* PAE Component: Feature Card                   */
/* ============================================= */

.pae-feature-card {
    display: block;
    background-color: var(--pae-color-neutral-150);
    padding: var(--pae-spacing-md) 2rem;
    text-decoration: none;
    color: inherit;
    transition: var(--pae-transition-base);
}

.pae-feature-card:hover,
.pae-feature-card:focus {
    transform: translateY(-8px);
    /* box-shadow: var(--pae-box-shadow);
    background-color: var(--pae-color-surface); */
}

.pae-feature-card__icon {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background-color: var(--pae-color-surface);
    border: 1px solid var(--pae-color-border);
    display: grid;
    place-items: center;
    margin-bottom: var(--pae-spacing-lg);
}

.pae-feature-card__title {
    font-size: var(--pae-font-size-h2);
    font-weight: var(--pae-font-weight-bold);
    color: var(--pae-color-text-primary);
    margin-bottom: var(--pae-spacing-sm);
    padding-right: var(--pae-spacing-md);
}

.pae-feature-card__text {
    font-size: var(--pae-font-size-h3);
    color: var(--pae-color-text-primary);
}

.pae-feature-card__text svg {
    /* Estilos para el ícono de enlace externo */
    display: inline-block;
    vertical-align: middle;
    margin-left: var(--pae-spacing-sm);
    color: var(--pae-color-secondary);
    transition: var(--pae-transition-base);
    width: 1.5rem;
    height: 1.5rem;
}

.pae-feature-card:hover .pae-feature-card__text svg {
    transform: scale(1.2);
}

@media (max-width: 48em) {
    .pae-feature-card {
        padding: var(--pae-spacing-md) var(--pae-spacing-md);
    }
}

/* ============================================= */
/* PAE Component: Enlaces Rápidos (Quick Links)  */
/* ============================================= */
.pae-quick-links {
    margin-bottom: var(--pae-spacing-xl);
}

.pae-quick-links__grid {
    display: grid;
    /* Diseño responsivo: 4 columnas en desktop, se ajusta a menos
      columnas en pantallas más pequeñas (tablet/móvil).
    */
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--pae-spacing-sm);
}

.pae-quick-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--pae-spacing-md);
    text-decoration: none;
    color: var(--pae-color-text-primary);
    transition: var(--pae-transition-base);
    background-color: var(--pae-color-background-light);
    padding-top: var(--pae-spacing-xl);
    padding-bottom: var(--pae-spacing-md);
}

.pae-quick-link:hover,
.pae-quick-link:focus {
    transform: translateY(-8px);
}

.pae-quick-link__icon-wrapper {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background-color: var(--pae-color-surface); /* Círculo blanco */
    border: 1px solid var(--pae-color-border);
    display: grid;
    place-items: center;
    transition: var(--pae-transition-base);
}

.pae-quick-link:hover .pae-quick-link__icon-wrapper,
.pae-quick-link:focus .pae-quick-link__icon-wrapper {
    border-color: var(--pae-color-accent); /* Borde rojo al pasar el cursor */
    box-shadow: var(--pae-box-shadow);
}

.pae-quick-link__icon {
    width: 120px; /* Ajusta el tamaño del icono dentro del círculo */
    height: 120px;
}

.pae-quick-link__label {
    text-align: center;
    line-height: 1.4;
    font-size: var(--pae-font-size-h3);
}

/* ============================================= */
/* PAE Component: Contacto / Footer              */
/* ============================================= */
.pae-contact {
    padding-top: var(--pae-spacing-xxl) 0;
    background-color: var(--pae-color-surface);
}

.pae-contact__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--pae-spacing-xl);
    margin-bottom: 2rem;
}

.pae-contact__title {
    font-size: var(--pae-font-size-h0);
    font-weight: var(--pae-font-weight-bold);
    color: var(--pae-color-text-primary);
    margin-bottom: var(--pae-spacing-xl);
}
/* Oculta títulos secundarios visualmente pero los mantiene para accesibilidad */
.pae-contact__title--hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.pae-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--pae-spacing-lg);
}

.pae-contact-list--espacio {
    padding-top: 6.5rem;
}


.pae-contact-list__text {
    font-size: var(--pae-font-size-h3);
    color: var(--pae-color-secondary);
}

.pae-contact-list__item {
    display: flex;
    align-items: flex-start; /* Alinea el icono con la primera línea de texto */
    gap: var(--pae-spacing-md);
    font-size: var(--pae-font-size-p);
    color: var(--pae-color-text-secondary);
}
.pae-contact-list__item strong {
    color: var(--pae-color-text-primary);
}
.pae-contact-list__item a {
    color: inherit;
    text-decoration: none;
}
.pae-contact-list__item a:hover {
    text-decoration: none;
  /*  color: var(--pae-color-secondary-dark);*/
}

.pae-contact-icon {
    flex-shrink: 0; /* Evita que el icono se encoja */
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background-color: var(--pae-color-secondary-dark); /* Fondo rojo */
    color: var(--pae-color-text-light); 
    display: grid;
    place-items: center;
}

    .pae-contact-icon > a {
        background-color: transparent;
        text-decoration: none;
        cursor: pointer;
    }

    .pae-contact-icon > a:hover .pae-contact-icon > a:focus {
        background-color: transparent;
        color: var(--pae-color-text-light);
        cursor: pointer;
    }

/* ============================================= */
/* PAE Component: Enlaces a Redes Sociales       */
/* ============================================= */
.pae-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pae-spacing-md);
    margin-top: var(--pae-spacing-xl);
}

.pae-social-links a {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--pae-color-text-primary);
    color: var(--pae-color-text-light);
    transition: var(--pae-transition-base);
}

.pae-social-links a:hover,
.pae-social-links a:focus {
    transform: scale(1.1) rotate(10deg);
    background-color: var(--pae-color-secondary-dark);
}

/* ============================================= */
/* PAE Component: Columna del Mapa               */
/* ============================================= */
.pae-contact__column--map a {
    display: block;
    height: 100%;
}
.pae-contact__column--map img {
    width: 100%;
    height: 100%;
    min-height: 250px;
    object-fit: cover;
}

@media (max-width: 64em) {

    .pae-contact-list {
        gap: var(--pae-spacing-sm);
    }
    .pae-contact__grid {
        gap: var(--pae-spacing-lg);
    }

}

@media (max-width: 48em) {
.pae-contact-list--espacio {
    padding-top: 0rem;
}

}

/* ============================================= */
/* PAE Component: Footer (Contenedor Principal)  */
/* ============================================= */
.pae-footer {
    /* El footer principal no necesita estilos si sus hijos los controlan */
    background-color: var(--pae-color-surface); /* Fondo blanco por defecto */
}


/* ============================================= */
/* PAE Component: Barra Inferior del Footer      */
/* ============================================= */
.pae-footer-bar {
    padding: var(--pae-spacing-lg) 0;
    background-color: var(--pae-color-footer-bg); /* Fondo gris oscuro */
    color: var(--pae-color-text-light); /* Texto blanco */
}

.pae-footer-bar__container {
    display: flex;
    justify-content: space-between; /* Alinea los elementos a los extremos */
    align-items: center;
    flex-wrap: wrap; /* Permite que los elementos se apilen en pantallas pequeñas */
    gap: var(--pae-spacing-md);
}

.pae-footer-bar__text {
    margin: 0; /* Resetea el margen por defecto del párrafo */
    font-size: var(--pae-font-size-h4);
}

.pae-footer-bar__logo {
    height: 45px; /* Ajusta la altura del logo según sea necesario */
    width: auto;
}

/* Ajuste para móvil: centrar el contenido si se apila */
@media (max-width: 48em) {
    .pae-footer-bar__container {
        justify-content: center; /* Centra los elementos cuando no caben en una línea */
        text-align: center;
    }
}

.pae-container-form {
    margin-bottom: var(--pae-spacing-xl);
}

.pae-container-form__head {
    padding: 1.5rem 1.5rem 0.5rem 1.5rem;
    border-radius: 1rem 1rem 0rem 0rem;
}

.pae-container-form__head_det {
    padding: 2rem;
    background-color: white;
    border-radius: 1rem;
}

.pae-container-form__body {
    padding: 0.5rem 1.5rem 1.5rem 1.5rem;
    border-radius: 0rem 0rem 1rem 1rem;-
}

.pae-container-form__body_det {
    background-color: white;
}

@media screen and (max-width: 48em) {

    .pae-container-form__head {
        padding: 0.5rem;
        border-radius: 0.5rem 0rem;
    }

    .pae-container-form__head_det {
        padding: 1rem;
        background-color: white;
        border-radius: 0.5rem;
    }

    .pae-container-form__body {
        padding: 0rem 0.5rem 0.5rem 0.5rem;
        border-radius: 0rem 0.5rem;
    }

    .pae-container-form__body_det {
        background-color: white;
    }
}

/* ========================= */
/* PAE Component: Table      */
/* ======================== */

.pae-table {
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: var(--pae-spacing-md);
    border-radius: 0;
    font-size: var(--pae-font-size-h5);
    width: 100%;
}


.pae-table__body {
    border: 1px solid var(--pae-color-table-primary);
    background-color: var(--pae-color-table-secondary);
}


.pae-table__row--even {
    background-color: var(--pae-color-table-primary);
}


.pae-table__cell {
    margin: 0;
    padding: var(--pae-spacing-sm) var(--pae-spacing-md); /* Normalizado a variables */
}


.pae-table__cell--icons {
    width: 60px;
    text-align: center;
}


.pae-table-wrapper {
    overflow-x: auto; /* Permite el scroll solo en el eje X */
    width: 100%;
}

.pae-table--scroll {
    display: table;
    width: 100%;
}


@@media screen and (max-width: 48em) {
    .pae-table--scroll {
        display: block;
    }
    /* Opcional: Mejorar legibilidad en móvil */
    .pae-table__cell {
        padding: var(--pae-spacing-xs);
    }
}