@font-face {
    font-family: 'Benton Sans';
    src: url('/wp-content/themes/portalBPO/fonts/benton-sans/BentonSansBBVA-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'BentonSansBBVA-Medium';
    src: url('/wp-content/themes/portalBPO/fonts/benton-sans/BentonSansBBVA-Medium.ttf') format('truetype');
    font-weight: 500; 
    font-style: normal;
}
@font-face {
    font-family: 'BentonSansBBVA-Book';
    src: url('/wp-content/themes/portalBPO/fonts/benton-sans/BentonSansBBVA-Book.ttf') format('truetype');
    font-weight: 350; 
    font-style: normal;
}
@font-face {
    font-family: 'Benton Sans';
    src: url('/wp-content/themes/portalBPO/fonts/benton-sans/BentonSansBBVA-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Tiempos Headline';
    src: url('/wp-content/themes/portalBPO/fonts/tiempos-headline/TiemposHeadline-Regular.woff2') format('woff2'),
         url('/wp-content/themes/portalBPO/fonts/tiempos-headline/TiemposHeadline-Regular.woff') format('woff'),
         url('/wp-content/themes/portalBPO/fonts/tiempos-headline/TiemposHeadline-Regular.ttf') format('truetype'),
         url('/wp-content/themes/portalBPO/fonts/tiempos-headline/TiemposHeadline-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Tiempos Headline';
    src: url('/wp-content/themes/portalBPO/fonts/tiempos-headline/TiemposHeadline-Bold.woff2') format('woff2'),
         url('/wp-content/themes/portalBPO/fonts/tiempos-headline/TiemposHeadline-Bold.woff') format('woff'),
         url('/wp-content/themes/portalBPO/fonts/tiempos-headline/TiemposHeadline-Bold.ttf') format('truetype'),
         url('/wp-content/themes/portalBPO/fonts/tiempos-headline/TiemposHeadline-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'TiemposHeadline-Bold';
    src: url('/wp-content/themes/portalBPO/fonts/tiempos-headline/TiemposHeadline-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
.cb-site-main {
    padding: 0;
    margin: 0;
}
.cb-container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}
.cb-hero-banner {
    position: relative;
    width: 90%; 
    max-width: 1270px;
    height: 250px; 
    margin: 0px auto; 
    border-radius: 12px;
    overflow: hidden; 
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    
    background-image: none; 
    
    display: flex;
    align-items: center; 
    justify-content: center; 
}

/* ESTILO: Estiliza la imagen para que se comporte como un fondo */
.cb-hero-banner .cb-banner-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; 
    object-position: 55% center; 
    z-index: 0; 
}

/* Wrapper: Contiene el título y overlay */
.cb-hero-banner .cb-banner-wrapper {
    position: absolute; 
    top: 0;
    left: 0;
    width: 100% !important; 
    height: 100% !important;
    display: flex;
    align-items: center; 
    justify-content: center; 
    z-index: 10; 
    visibility: visible !important;
    opacity: 1 !important;
}

/* Overlay aplicado al WRAPPER (con filtro grisáceo/ahumado) */
.cb-hero-banner .cb-banner-wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgb(0 19 145 / 20%), rgb(0 19 145 / 23%), rgb(0 19 145 / 22%));}

.cb-hero-banner .cb-banner-title {
    position: relative !important;
    z-index: 99 !important; 
    color: white !important; 
    font-size: 48px !important; 
    text-align: center !important;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5) !important;
    font-family: 'TiemposHeadline-Bold', sans-serif !important; 
    width: 90% !important;
    max-width: 800px !important;
    margin: 0 auto !important;
    display: block !important; 
}

@media (max-width: 991px) {
    .cb-hero-banner {
        width: 100%; 
        height: auto; 
        min-height: 250px;
        border-radius: 16px; 
        width: calc(100% - 32px); 
        margin: 20px 16px; 
        margin-left: auto;
        margin-right: auto;
        margin-top: -1px !important;
    }

    .cb-hero-banner .cb-banner-title {
        font-family: 'TiemposHeadline-Bold',sans-serif !important;
        font-size: 40px !important; 
        line-height: 1.2 !important;
        width: 95% !important;
        text-align: start;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .cb-hero-banner {
        width: calc(98% - 30px); 
    }

    .cb-hero-banner .cb-banner-title {
        font-family: 'TiemposHeadline-Bold',sans-serif !important;
        font-size: 36px !important; 
        line-height: 1.2 !important;
        width: 95% !important;
        text-align: start;
    }
}

/* --- ESTILOS SECCIÓN PREGUNTAS (CONTACTO) --- */

.pregunta {
    padding: 60px 0; 
}
.pregunta .container {
    background-color: #ffffff;
    border-radius: 12px; 
    padding: 50px 60px; 
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.07); 
    max-width: 1270px; 
    margin-left: auto; 
    margin-right: auto; 
}

.pregunta .head-title {
    text-align: center;
    font-family: 'Tiempos Headline', sans-serif; 
    color: #070E46;
    font-size: 40px; 
    font-weight: 700;
    margin: 0 auto 50px auto; 
    z-index: 10;
    display: block;
}

.pregunta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; 
    gap: 40px 60px; 
}

.pregunta-block .contact-icon {
    margin-bottom: 15px;
}

.pregunta-block .contact-icon img {
    height: 20px; 
    width: auto;
}

.pregunta-block .block-title {
    font-family: 'BentonSansBBVA-Medium', sans-serif;
    font-size: 24px;
    color: #070E46; 
    margin-bottom: 10px;
}

/* Contenido de cada bloque (números, texto, enlaces) */
.pregunta-block .block-content {
    font-family: 'BentonSansBBVA-Book', sans-serif;
    font-size: 15.01px;
    color: #070E46; 
    line-height: 1.6; 
}

/* Estilo para los enlaces de "Jurídica" y "Natural" */
.pregunta-block .block-content a {
    color: #001391; 
    text-decoration: none;
    font-family: 'BentonSansBBVA-Medium', sans-serif;
}

@media (min-width: 992px) {
    .pregunta-block .block-content a {
        text-decoration: underline;
    }
}

.pregunta-block .block-content a:hover {
    text-decoration: underline;
}

@media (min-width: 992px) and (max-width: 1280px) {
    .pregunta .container {
        max-width: 926px;
    }
}

/* --- AJUSTES PARA MÓVILES (Responsive) --- */
@media (max-width: 991px) {
    .pregunta .container {
        padding: 30px 20px; 
        margin-left: 20px;
        margin-right: 20px;
        width: auto;
    }
    .pregunta .head-title {
        font-size: 40px; 
        margin-bottom: 30px;
        text-align: left;
    }
    .pregunta-grid {
        display: flex;
        flex-direction: column;
        gap: 35px; 
    }
    /* Reordenar bloques en móvil y tablet */
    .pregunta-block:nth-child(2) {
        order: 3;
    }
    .pregunta-block:nth-child(3) {
        order: 2;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .pregunta .container {
        margin-left: 28px !important;
        width: 93% !important;
    }
}

/* --- ESTILOS SECCIÓN UBICACIÓN DE OFICINAS Y MAPA  --- */
.office-location-section {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 14px 60px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.07);
    max-width: 1270px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 100px; 
}
/* Contenedor principal de la grilla 2 columnas */
.location-content-grid {
    display: grid;
    grid-template-columns: 1fr 1.3fr; 
    gap: 80px; 
    align-items: center; 
    padding: 60px 0;
}

.office-main-title {
    font-family: 'Tiempos Headline', serif; 
    color: #070E46; 
    font-size: 48px; 
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 20px;
}
.office-body-text {
    font-family: 'BentonSansBBVA-Book', sans-serif;
    color: #070E46; 
    font-size: 20px; 
    line-height: 1.5;
}

.location-map-block {
    width: 100%;
    border-radius: 8px;
    overflow: hidden; 
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.location-map-block iframe {
    width: 100% !important; 
    height: 380px !important; 
    display: block;
    border: none !important;
}
@media (min-width: 992px) and (max-width: 1280px) {
    .office-location-section {
        max-width: 926px;
    }
}
/* --- AJUSTES PARA MÓVILES (Responsive) --- */
@media (max-width: 992px) {
    .office-main-title {
        font-size: 36px;
    }
    .office-location-section {
        padding: 24px 24px;
        margin-left: 20px;
        margin-right: 20px;
        width: auto;
    }
}

@media (max-width: 991px) {
    .location-content-grid {
        grid-template-columns: 1fr; /* Una sola columna */
        gap: 40px; 
    }
    
    .location-map-block iframe {
        height: 500px !important; 
        position: relative;
        top: -20px;
    }
    
    /* Centrado de texto en móvil */
    .office-main-title, .location-text-block, .office-body-text {
        text-align: left;
        margin-left: auto;
        margin-right: auto;
        position: relative;
        top: -22px;
    }
     .location-content-grid {
        gap: 0px;
        padding: 38px 0;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    /* 1. Reducimos el padding interno y ajustamos márgenes para ganar espacio a los lados */
    .office-location-section {
        margin-left: 28px;
        margin-right: 28px;
        padding: 15px 15px; 
    }
    
    /* 2. Reducimos la separación entre el texto y el mapa */
    .location-content-grid {
        gap: 30px; 
        padding: 20px 0;
    }

    /* 3. ¡LA CLAVE! Quitamos el ancho fijo de 654px y le damos 100% */
    .location-map-block {
        width: 100%; 
        max-width: 100%;
    }
    
    .location-map-block iframe {
        width: 100% !important;
        height: 450px !important;
        max-width: 100% !important;
        top: 0; /* Reseteamos por si hereda el top negativo de móviles */
    }

    /* 4. Aseguramos que el texto se alinee a la izquierda y reseteamos posiciones raras */
    .office-main-title, .location-text-block, .office-body-text {
        text-align: left;
        top: 0; 
        margin-left: 0;
    }
    
    .office-main-title {
        margin-bottom: 15px;
    }
}