/* ================================================================
   MAPFRE DIVI MENU — Frontend CSS v1.5.0
   ================================================================ */


/* #page-container,
#et-boc {
    overflow: visible !important;
} */

/* header.et-l.et-l--header {
    position: sticky;
    top: 0;
    z-index: 10000;
    width: 100%;
} */

/* Fondo blanco explícito cuando el header tiene la clase del plugin */
header.et-l.et-l--header.mapfre-menu-header {
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 10000;
    width: 100%;
}

/* Box-shadow cuando el header está fijo y el usuario ha hecho scroll */
header.et-l.et-l--header.mapfre-nav--scrolled,
header.et-l.et-l--header.mapfre-menu-header.mapfre-nav--scrolled {
    box-shadow: 0 2px 8px 0 rgba(26, 26, 26, 0.16);
}

/* Border-bottom cuando hay algún dropdown abierto  */
header.et-l.et-l--header.mapfre-menu-header:has(.mapfre-nav__item[aria-expanded="true"]){
    border-bottom: 1px solid #1a1a1a;
}
/* REPLICAR */
.et_pb_section.mapfre-menu-header-section {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0;
    max-height: 88px;
}

.et_pb_section.mapfre-menu-header-section .et_pb_row {
    padding: 0;
}

/* REPLICAR */

/* ── ACCESIBILIDAD ───────────────────────────────────────────── */

.mapfre-nav :focus-visible {
    outline: 2px solid #006AFF;
    outline-offset: 10px;
    border-radius: 2px;
}

/* Focus visible */
.mapfre-nav__link:focus-visible,
.mapfre-nav__trigger:focus-visible {
    /* outline: none;
    border: 2px solid #006AFF;
    border-radius: 50px; */
    outline: 2px solid #006AFF;
    border-radius: 25px;
    outline-offset: -14px;
}

/* ── BARRA DE NAVEGACIÓN ─────────────────────────────────────── */
.mapfre-nav {
    position: relative;
    z-index: 1000;
    width: 100%;
    /* box-shadow: 0 2px 6px rgba(0, 0, 0, .07); */
    /* border-bottom: 1px solid #1a1a1a; */
}


.mapfre-nav__inner {
    display: flex;
    align-items: center;
    /* max-width: 1280px; */
    max-width: 100%;
    margin: 0 auto;
    /* padding: 16px 32px; */
    padding: 24px 80px;
    /* min-height: 76px; */
    max-height: 88px;
    gap: 0;
}

/* ── LOGO ────────────────────────────────────────────────────── */
.mapfre-nav__logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-right: 48px;
    text-decoration: none;
}
.mapfre-nav__logo img {
    width: auto;
    height: auto;
    max-height: 32px; /* salvaguarda si logo_height no está configurado */
    display: block;
}

/* ── LISTA DE ÍTEMS ──────────────────────────────────────────── */
.et-l--header ul.mapfre-nav__list {
    display: flex;
    align-items: stretch;
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1;
    /* height: 76px; */
    height: 88px;
    justify-content: center;
}

.mapfre-nav__item {
    position: static;
    display: flex;
    align-items: stretch;
}

/* ── LINKS Y TRIGGERS ────────────────────────────────────────── */
.mapfre-nav__link,
.mapfre-nav__trigger {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 18px;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    font-family: inherit;
    position: relative;
    transition: color .2s ease;
    color: #1a1a1a;
}

/* Subrayado animado desktop */
.mapfre-nav__link::after,
.mapfre-nav__trigger::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    right: 50%;
    height: 3px;
    background: currentColor;
    border-radius: 3px 3px 0 0;
    transition: left .25s ease, right .25s ease;
}

.mapfre-nav__link:hover::after,
.mapfre-nav__trigger:hover::after {
    left: 18px;
    right: 18px;
}

.mapfre-nav__link--active::after,
.mapfre-nav__trigger.mapfre-nav__link--active::after {
    left: 18px !important;
    right: 18px !important;
}

/* ── FLECHA DESKTOP ──────────────────────────────────────────── */
.mapfre-nav__arrow {
    transition: transform .2s ease;
}

.mapfre-nav__arrow path {
    fill: currentColor;
}

/* Rotar cuando el ítem está abierto */
.mapfre-nav__item[aria-expanded="true"] > .mapfre-nav__trigger .mapfre-nav__arrow {
    transform: rotate(180deg);
}

/* ── DROPDOWN DESKTOP ────────────────────────────────────────── */
.mapfre-nav__dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 999;
    box-shadow: 0 8px 16px rgba(26, 26, 26, .24);
    /*border-top: 2px solid #e8e8e8;*/ /* MANUEL REVISAR */
    animation: mapfreDropIn .2s ease forwards;
    background-color: #ffffff;
    border-top: 1px solid #1a1a1a;
    padding: 56px 80px;
    height: 455px;
}

.mapfre-nav__dropdown[hidden] { display: none; }

.mapfre-nav__dd-inner {
    max-width: 1280px;
    margin: 0 auto;
    /* padding: 40px 32px; */
    min-height: 160px;
}

/* DROWPDOWN 2 y 3 columnas */

.et_pb_section.rollover-2-columns,
.et_pb_section.rollover-3-columns {
    padding: 0;
}

.et_pb_section.rollover-2-columns .et_pb_row,
.et_pb_section.rollover-3-columns .et_pb_row {
    margin: 0;
}

.et_pb_section.rollover-2-columns .et_pb_row.rollover-2-columns-row,
.et_pb_section.rollover-3-columns .et_pb_row.rollover-3-columns-row {
    display: flex;
    width: 100%;
}

.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column{
    margin: 0;
}

.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas {
    padding: 0 0 0 40px;
}

.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas {
    padding: 0 40px;
}

.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas {
    flex-grow: 1;
    display: flex;
    gap: 72px;
    justify-content: flex-start;
}

.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas .et_pb_text,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas .et_pb_text {
    max-width: 188px;
    width: auto;
}

.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas .et_pb_text h2,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas .et_pb_text h2 {
    font-size: 12px;
    color: #666;
    font-weight: 400;
    margin-bottom: 24px;
    text-transform: uppercase;
    /* padding-bottom: 0; */
}

.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas .et_pb_text ul li,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas .et_pb_text ul li{
    font-size: 16px;
    color: #1A1A1A;
    font-weight: 500;
    line-height: 24px;
}

.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas .et_pb_text ul li a,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas .et_pb_text ul li a{
    color: #1A1A1A;
    text-underline-offset: 6px;
    text-decoration-thickness: 2px;
}

.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas .et_pb_text ul li:not(:last-child),
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas .et_pb_text ul li:not(:last-child){
    margin-bottom: 16px;
}

.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas .et_pb_text ul,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas .et_pb_text ul {
    list-style: none;
    padding: 0;
}

.dropdown-columna-inicial-texto,
.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto {
    padding-right: 40px;
    font-size: 20px;
    color: #666;
    font-weight: 400;
    align-self: stretch;
}

.dropdown-columna-inicial-texto h2,
.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto h2,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto h2 {
    color: #1A1A1A;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 24px;
    /* padding-bottom: 0; */
}

.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto h2, 
.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto p,
.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas .et_pb_text h2,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto h2, 
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto p,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas .et_pb_text h2,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-final-banner p
{
    padding-bottom: 0;
}

.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto a,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-final-banner .et_pb_text a, 
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto a {
    color: #df0027;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    margin-top: 24px;
}

.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto .et_pb_text_inner > *:last-child,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto .et_pb_text_inner > *:last-child,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-final-banner .et_pb_text_inner > *:last-child {
    margin-top: 24px;
}

.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-final-banner {
    padding-left: 40px;
}


.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-final-banner .et_pb_image  {
    /* border-radius: 8px; */
    margin-bottom: 24px;
}
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-final-banner .et_pb_image img  {
    border-radius: 8px;
    /* margin-bottom: 24px; */
}

.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-final-banner .et_pb_text  {
    max-width: 220px;
    color: #1A1A1A;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
}


.et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas,
.et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-final-banner {
    border-left: 1px solid #DBF5F6;
}


/* FIN DROWPDOWN 2/3 columnas */

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

/* ── ZONA DERECHA: País | Idioma | Búsqueda ──────────────────── */
.mapfre-nav__right {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-left: 24px;
    flex-shrink: 0;
}

.mapfre-nav__right-divider {
    color: #8D8D8D;
    font-size: 14px;
    padding: 0 4px;
    user-select: none;
}

/* ── GRUPO PILL: País + Idioma ───────────────────────────────── */
.mapfre-nav__mobile-switchers,
.mapfre-nav__switchers-group {
    display: inline-flex;
    align-items: center;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #8D8D8D;
    padding: 0;
    gap: 0;
    min-width: 145px;
    /* min-width: 135px; */
}

/* Desktop: el grupo es el contexto de posición para los dropdowns */
.mapfre-nav__switchers-group {
    position: relative;
}

/* Dentro del grupo, los botones no tienen borde propio */
.mapfre-nav__mobile-switchers .mapfre-nav__switcher-btn,
.mapfre-nav__switchers-group .mapfre-nav__switcher-btn {
    border: none;
    background: none;
    border-radius: 0;
    color: #1a1a1a !important; /* override apply_styles inline */
    padding: 6px 12px;
    width: 100%;
}
/* Hover respeta el border-radius del pill redondeando los extremos */
.mapfre-nav__mobile-switchers .mapfre-nav__switcher:first-child .mapfre-nav__switcher-btn,
.mapfre-nav__switchers-group .mapfre-nav__switcher:first-child .mapfre-nav__switcher-btn {
    border-radius: 15px 0 0 15px;
}
.mapfre-nav__mobile-switchers .mapfre-nav__switcher:last-child .mapfre-nav__switcher-btn,
.mapfre-nav__switchers-group .mapfre-nav__switcher:last-child .mapfre-nav__switcher-btn {
    border-radius: 0 15px 15px 0;
}
.mapfre-nav__mobile-switchers .mapfre-nav__switcher-btn:hover,
.mapfre-nav__mobile-switchers .mapfre-nav__switcher-btn[aria-expanded="true"],
.mapfre-nav__switchers-group .mapfre-nav__switcher-btn:hover,
.mapfre-nav__switchers-group .mapfre-nav__switcher-btn[aria-expanded="true"] {
/*.mapfre-nav__switchers-group .mapfre-nav__switcher--open > .mapfre-nav__switcher-btn {*/
    border: none;
    background: #F7F7F7;
    color: #1a1a1a !important; /* override apply_styles inline */
}

/* Divider vertical dentro del grupo pill */
.mapfre-nav__mobile-switchers .mapfre-nav__right-divider,
.mapfre-nav__switchers-group .mapfre-nav__right-divider {
    width: 1px;
    height: 30px;
    background: #8D8D8D;
    padding: 0;
    user-select: none;
    flex-shrink: 0;
}

/* Desktop: el switcher dentro del grupo no crea contexto de posición propio
   para que el dropdown se posicione relativo al grupo (alineado con el pill) */
.mapfre-nav__switchers-group .mapfre-nav__switcher {
    position: static;
    width: 100%;
}


/* ── SELECTORES (País / Idioma) ──────────────────────────────── */
.mapfre-nav__switcher { position: relative; }

/* Botón standalone (fuera del grupo — fallback) */
.mapfre-nav__switcher-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    /* padding: 6px 10px; */
    padding: 7px 8px 7px 12px;
    font-size: 14px;
    font-weight: 500;
    background: none;
    border: 1px solid #8D8D8D;
    border-radius: 16px;
    cursor: pointer;
    font-family: inherit;
    transition: background .15s;
    white-space: nowrap;
    color: #1a1a1a;
}
.mapfre-nav__switcher-btn:hover,
.mapfre-nav__switcher-btn[aria-expanded="true"] {
    background: #F7F7F7;
}

.mapfre-nav__switcher-btn[aria-expanded="true"] .mapfre-nav__arrow {
    transform: rotate(180deg);
    /* transform: rotate(-135deg) translateY(-1px); */
    color: #1a1a1a;
}

/* ── DROPDOWN SWITCHER ───────────────────────────────────────── */
.mapfre-nav__switcher-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    /* min-width: 180px; */
    min-width: 145px;
    /* min-width: 135px; */
    width: auto;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #8D8D8D;
    z-index: 1001;
    overflow: hidden;
    animation: mapfreDropIn .15s ease forwards;
}



/* Desktop: dropdown alineado con el pill (izquierda del grupo) */
.mapfre-nav__switchers-group .mapfre-nav__switcher-dropdown {
    top: calc(100% + 8px);
    left: 0;
    right: auto;
}

/*.mapfre-nav__switcher-dropdown { display: none; }
.mapfre-nav__switcher--open > .mapfre-nav__switcher-dropdown { display: block; }*/
.mapfre-nav__switcher-dropdown[hidden] { display: none; }

.et-l--header ul.mapfre-switcher__list {
    list-style: none;
    margin: 0;
    padding: 8px 0;
}

/* Separador entre ítems */
.et-l--header ul.mapfre-switcher__list li {
    padding: 0 12px;
}

.mapfre-switcher__option {
    display: block;
    /* padding: 8px 12px; */
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
    color: #1a1a1a;
    transition: background .15s;
    padding: 8px 0;
}

.et-l--header ul.mapfre-switcher__list li:hover {
    background: #F7F7F7;
    color: #1a1a1a;
}

.mapfre-switcher__option:hover { 
    text-decoration: none;
    border-bottom: 1px solid #1A1A1A;
}

.mapfre-switcher__option--current {
    font-weight: 700;
    background: none;
    color: #1a1a1a;
}

/* ── BOTÓN BÚSQUEDA ──────────────────────────────────────────── */
.mapfre-nav__search-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    text-decoration: none;
    transition: background .2s, color .2s;
    margin-left: 6px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}
.mapfre-nav__search-btn:hover {
    background: #fef2f3;
    color: #e2001a;
}

/* ── OVERLAY DE BÚSQUEDA ─────────────────────────────────────── */
.mapfre-search-overlay {
    position: fixed;
    inset: 0;                   /* top/right/bottom/left: 0 */
    width: 100%;
    height: 100vh;
    background: #fff;
    z-index: 10001;
    display: flex;
    flex-direction: column;
}
.mapfre-search-overlay[hidden] { display: none; }

/* Cabecera del overlay: botón X alineado a la derecha */
.mapfre-search-overlay__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 24px 32px;
    width: 100%;
}

.mapfre-search-overlay__close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    color: #1a1a1a;
    margin-bottom: 48px;
}
.mapfre-search-overlay__close:hover { opacity: .7; }

/* Formulario: ocupa el ancho, centrado verticalmente */
.mapfre-search-overlay__form {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    border-bottom: 1px solid #2d373d;
    padding-bottom: 8px;
}

.mapfre-search-overlay__input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 20px;
    font-family: inherit;
    color: #2d373d;
    padding: 0;
    box-shadow: none;
    caret-color: #D81E05;
}
.mapfre-search-overlay__input::placeholder { color: #9a9a9a; }
.mapfre-search-overlay__input::-webkit-search-cancel-button { display: none; }

/* Botón flecha: oculto por defecto, visible solo al escribir */
.mapfre-search-overlay__submit {
    flex-shrink: 0;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: none;          /* oculto por defecto */
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}
.mapfre-search-overlay__submit:hover { opacity: .85; }

/* Visible cuando el input tiene contenido — gestionado por JS */
.mapfre-search-overlay__submit.is-visible {
    display: inline-flex;
}

@media (max-width: 767px) {
    .mapfre-search-overlay__inner {
        padding: 16px;
    }
}


/* ── HAMBURGER ───────────────────────────────────────────────── */
.mapfre-nav__hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 26px;
    height: 18px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    margin-left: auto;
    z-index: 1100;
    position: relative;
}
.mapfre-nav__bar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 21px;
    height: 2px;
    border-radius: 2px;
    transition: transform .3s ease, opacity .3s ease;
    pointer-events: none;
    color: inherit;
}
.mapfre-nav__bar svg {
    display: block;
    width: 21px;
    height: 2px;
}
.mapfre-nav__hamburger[aria-expanded="true"] .mapfre-nav__bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}
.mapfre-nav__hamburger[aria-expanded="true"] .mapfre-nav__bar:nth-child(2) {
    opacity: 0; transform: scaleX(0);
}
.mapfre-nav__hamburger[aria-expanded="true"] .mapfre-nav__bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

/* ── OVERLAY ─────────────────────────────────────────────────── */
.mapfre-nav-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 997;
    background: transparent;
}
.mapfre-nav-overlay.is-active { display: block; }

/* El menú móvil NUNCA se muestra en desktop */
.mapfre-nav__mobile-menu { display: none; }


/* ================================================================
   RESPONSIVE MÓVIL (< 1024px) — Sistema de dos paneles
   Panel 1: lista de ítems del menú
   Panel 2: contenido del dropdown (slide desde la derecha)
   ================================================================ */
@media (max-width: 1023px) {

    /* replicar */
    .et_pb_section.mapfre-menu-header-section .et_pb_row{
        padding: 0;
    }
    /* replicar */

    .mapfre-nav__hamburger { display: flex; margin-left: 0; }
    .mapfre-nav__logo      { margin-right: auto; }


    /* Reducir padding lateral de la barra en móvil para que coincida con el panel */
    .mapfre-nav__inner {
        /* padding: 0 20px;
        min-height: 72px; */
        padding: 16px 32px;
        max-height: 64px;
    }

    /* Reordenar: [Logo] ··· [?] [☰]
     * order: Logo(1) | List(2, oculta) | Right/?(3) | Hamburger(4) */
    .mapfre-nav__inner          { flex-wrap: nowrap; }
    .mapfre-nav__logo           { order: 1; }
    .mapfre-nav__list           { order: 2; }
    .mapfre-nav__right          { order: 3; margin-left: auto; gap: 0; }
    .mapfre-nav__hamburger      { order: 4; }

    /* Hamburger ocupa el mismo espacio visual que el botón cerrar (44px)
     * para que no haya salto al abrir el menú */
    .mapfre-nav__hamburger {
        width: 44px;
        height: 44px;
        justify-content: center;
        align-items: center;
        gap: 5px; /* spacing between the 3 SVG bars */
        padding: 0 0 0 25px;
    }

    /* Búsqueda en barra nav: mismo tamaño que en el panel 1 */
    .mapfre-nav__right .mapfre-nav__search-btn {
        width: 44px;
        height: 44px;
        margin-left: 0;
        margin-right: 4px; /* pequeño gap entre search y hamburger */
        border-radius: 50%;
    }

    /* Activar el menú móvil solo en mobile */
    .mapfre-nav__mobile-menu.is-open { display: block; }

    /* ── CONTENEDOR MÓVIL GLOBAL ─────────────────────────────── */
    .mapfre-nav__mobile-menu {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1050;
        overflow: hidden;
        background: #fff;
    }

    /* ── TRACK: los dos paneles en fila ──────────────────────────
     * El track mide 200% de ancho. Cada panel ocupa 50% (= 100vw).
     * Al deslizar se hace transform: translateX(-50%).
     */
    .mapfre-nav__mobile-track {
        display: flex;
        width: 200%;
        height: 100%;
        transition: transform .3s cubic-bezier(.4, 0, .2, 1);
    }
    .mapfre-nav__mobile-track.show-panel-2 {
        transform: translateX(-50%);
    }

    /* ── PANEL BASE ──────────────────────────────────────────────
     * Cada panel ocupa el 50% del track = 100vw
     */
    .mapfre-nav__mobile-panel {
        width: 50%;
        height: 100%;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        flex-shrink: 0;
    }

    /* ── CABECERA DE PANEL ───────────────────────────────────────
     * Contiene: [selectores / volver] [X cerrar]
     */
    .mapfre-nav__mobile-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        /* padding: 16px 20px; */
        padding: 16px 32px;
        border-bottom: 1px solid #1A1A1A;
        flex-shrink: 0;
        /* min-height: 64px;
        gap: 12px; */
        max-height: 64px;
        gap: 0;

    }

    /* Zona izquierda de la cabecera: selectores en panel 1, botón volver en panel 2 */
    .mapfre-nav__mobile-header-left {
        display: flex;
        align-items: center;
        /* gap: 8px; */
        gap: 4px; /* mismo gap visual que search+hamburger en barra nav */
        flex: 1;
    }

    /* Zona derecha de la cabecera: búsqueda + X (panel 1) o solo X (panel 2) */
    .mapfre-nav__mobile-header-right {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-shrink: 0;
    }

    /* ── BOTÓN CERRAR (X) ────────────────────────────────────────*/
    .mapfre-nav__mobile-close {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        background: none;
        /* border: 1px solid #ddd;
        border-radius: 50%; */
        border: 0;
        cursor: pointer;
        color: #1a1a1a;
        flex-shrink: 0;
        padding: 0 0 0 25px;
        transition: border-color .2s, color .2s;
    }
    .mapfre-nav__mobile-close:hover {
        /* border-color: #e2001a; */
        color: #1a1a1a;
    }
    .mapfre-nav__mobile-close svg {
        width: 18px;
        height: 18px;
    }

    /* Búsqueda en cabecera del panel: mismo tamaño que en la barra nav */
    .mapfre-nav__mobile-search {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        background: none;
        border: none;
        cursor: pointer;
        color: #1a1a1a;
        text-decoration: none;
        border-radius: 50%;
        transition: background .2s;
        flex-shrink: 0;
        margin-right: 0;
    }
    .mapfre-nav__mobile-search:hover { background: #fef2f3; color: #e2001a; }

    /* ── BOTÓN VOLVER ────────────────────────────────────────────*/
    .mapfre-nav__mobile-back {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: none;
        border: none;
        cursor: pointer;
        font-family: inherit;
        font-size: 14px;
        font-weight: 700;
        text-transform: uppercase;
        color: #1a1a1a;
        padding: 0;
    }
    .mapfre-nav__mobile-back svg {
        flex-shrink: 0;
    }

    /* ── BODY DEL PANEL (scrollable) ─────────────────────────────*/
    .mapfre-nav__mobile-body {
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* ── LISTA DE ÍTEMS (Panel 1) ────────────────────────────────*/
    /* Ocultar lista original desktop */
    .mapfre-nav__list {
        display: none !important;
    }

    .et-l--header ul.mapfre-nav__mobile-list {
        list-style: none;
        margin: 0 32px;
        padding: 0;
    }

    .mapfre-nav__mobile-item {
        border-bottom: 1px solid #D9D9D9;
    }

    .mapfre-nav__mobile-link,
    .mapfre-nav__mobile-trigger {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 24px 0;
        font-size: 20px;
        font-weight: 500;
        font-family: inherit;
        color: #1a1a1a;
        text-decoration: none;
        background: none;
        border: none;
        cursor: pointer;
        text-align: left;
        transition: color .15s;
        color:#1a1a1a;
        position: relative;
    }

    .mapfre-nav__mobile-list .mapfre-nav__mobile-item:first-child .mapfre-nav__mobile-link,
    .mapfre-nav__mobile-list .mapfre-nav__mobile-item:first-child .mapfre-nav__mobile-trigger {
        padding-top: 56px;
    }

    .mapfre-nav__mobile-link:hover,
    .mapfre-nav__mobile-trigger:hover { color: #e2001a; }

    /* Ítem activo en móvil */
    .mapfre-nav__mobile-item--active .mapfre-nav__mobile-link,
    .mapfre-nav__mobile-item--active .mapfre-nav__mobile-trigger {
        font-weight: 700;
        color: #1A1A1A;
    }

    /* Línea horizontal debajo del ítem activo — ancho completo */    
    .mapfre-nav__mobile-item--active .mapfre-nav__mobile-link::after,
    .mapfre-nav__mobile-item--active .mapfre-nav__mobile-trigger::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: #1a1a1a;
        border-radius: 3px 3px 0 0;
    }

    .mapfre-nav__mobile-chevron {
        display: inline-block;
        flex-shrink: 0;
        margin-left: 12px;
        color: #1a1a1a;
    }
    .mapfre-nav__mobile-item--active .mapfre-nav__mobile-chevron {
        color: #1a1a1a;
    }

    /* ── PANEL 2: CONTENIDO DEL DROPDOWN ────────────────────────*/
    /* El contenido del dropdown (layout Divi) se muestra en panel 2 */
    .mapfre-nav__mobile-dd-content {
        padding: 32px;
    }

    /* Ocultar elementos del desktop que no aplican en móvil */
    /* Mostramos la zona derecha pero ocultamos todo excepto el botón de búsqueda */
    .mapfre-nav__right {
        display: flex;
        margin-left: 0;
        gap: 0;
    }
    .mapfre-nav__right > *:not(.mapfre-nav__search-btn) {
        display: none;
    }
    .mapfre-nav__right .mapfre-nav__search-btn {
        margin-left: 0;
        margin-right: 8px;
    }
    .mapfre-nav__dropdown { display: none !important; }


    /* Ocultar el hamburger cuando el menú móvil está abierto
     * (el botón X del panel lo sustituye) */
    .mapfre-nav__hamburger[aria-expanded="true"] {
        opacity: 0;
        pointer-events: none;
    }

    /* Selectores en cabecera móvil */
    .mapfre-nav__mobile-switchers {
        display: flex;
        align-items: center;
        /* gap: 4px; */
        min-width: 135px;
    }


    /* ── LOGO EN CABECERA DE PANEL ──────────────────────────────
     * En móvil (<768px): logo oculto en panel, switchers en header-left
     * En tablet (≥768px): logo visible, switchers en header-right
     */
    .mapfre-nav__mobile-logo { display: none; }

    /* En móvil: switchers en la izquierda, visibles */
    .mapfre-nav__mobile-switchers { display: flex; }

    /* En móvil: versión tablet de los switchers (header-right) oculta */
    .mapfre-nav__mobile-switchers--tablet,
    .mapfre-nav__mobile-switchers--tablet2 { display: none; }

    /* En móvil: botón VOLVER visible */
    .mapfre-nav__mobile-back--phone { display: inline-flex; }

    .mapfre-nav__mobile-switchers {
        position: relative;
    }
    .mapfre-nav__mobile-switchers .mapfre-nav__switcher {
        position: static;
        width: 100%;
    }
    .mapfre-nav__mobile-switchers .mapfre-nav__switcher-dropdown {
        position: absolute;
        top: calc(100% + 6px);
        left: 0;
        right: auto;
        z-index: 1200;
        /* min-width: 135px; */
    }

    /* Switcher abierto en móvil/tablet */
    .mapfre-nav__mobile-switchers .mapfre-switcher--open > .mapfre-nav__switcher-dropdown {
        display: block;
    }

/* DROWPDOWN 3 columnas */

    .et_pb_section.rollover-2-columns .et_pb_row.rollover-2-columns-row,
    .et_pb_section.rollover-3-columns .et_pb_row.rollover-3-columns-row {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: 32px;
    }

    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column{
        margin: 0;
    }

    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-final-banner {
        display: none;
    }

    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas .et_pb_text h2,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas .et_pb_text h2 {
        font-size: 12px;
        color: #666;
        font-weight: 400;
        margin-bottom: 16px;
        text-transform: uppercase;
    }

    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas .et_pb_text ul li,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas .et_pb_text ul li {
        font-size: 20px;
        color: #1A1A1A;
        font-weight: 400;
        line-height: 48px;
    }

    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas .et_pb_text ul li a,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas .et_pb_text ul li a{
        color: #1A1A1A;
    }

    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas .et_pb_text ul li:not(:last-child),
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas .et_pb_text ul li:not(:last-child){
        margin-bottom: 0;
    }

    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas .et_pb_text ul,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas .et_pb_text ul {
        list-style: none;
        padding: 0;
    }

    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto {
        font-size: 16px;
        color: #1A1A1A;
        font-style: italic;
        padding-right: 0;
    }

    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto h2,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto h2 {
        font-size: 16px;
        margin-bottom: 16px;
    }

    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto a,
    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto h2,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto a,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto h2 {
        font-style: normal;
    }

    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto .et_pb_text_inner > *:last-child,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-inicial-texto .et_pb_text_inner > *:last-child,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-final-banner .et_pb_text_inner > *:last-child {
        margin-top: 16px;
    }


    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas {
        border-top: 4px solid #DBF5F6;
        border-left: 0;
        /* flex-direction: column; */
        width: 100%;
        padding: 56px 0 0;
        gap: 24px;
        flex-wrap: wrap;
    }

    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas .et_pb_text,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas .et_pb_text {
        max-width: 316px;
        width: auto;
        flex: 0 0 calc(50% - 24px);
    }

    /* FIN DROWPDOWN 3 columnas */
}


/* ── ADMIN BAR: desplazar menú móvil cuando está la barra de admin ── */
.admin-bar .mapfre-nav__mobile-menu {
    top: 32px; /* barra admin desktop */
}
@media screen and (max-width: 782px) {
    .admin-bar .mapfre-nav__mobile-menu {
        top: 46px; /* barra admin móvil */
    }
}

/* ── BODY: bloquear scroll cuando el menú móvil está abierto ─── */
body.mapfre-menu-open {
    overflow: hidden;
}

/* ================================================================
   AJUSTES POR RESOLUCIÓN MÓVIL
   ================================================================ */

/* ── TABLET (768px – 1023px) ───────────────────────────────────── */
@media (min-width: 768px) and (max-width: 1023px) {

    /* Drawer ocupa el 100% también en tablet */
    .mapfre-nav__mobile-menu {
        left: 0;
        width: 100%;
        box-shadow: none;
    }

    /* ── CABECERA DE PANEL: mostrar logo ── */
    /* Logo visible en la cabecera del panel */
    .mapfre-nav__mobile-logo {
        display: flex !important;
        align-items: center;
        text-decoration: none;
        flex-shrink: 0;
        margin-right: auto;
    }
    .mapfre-nav__mobile-logo img {
        height: 40px;
        width: auto;
    }

    /* En tablet: switchers en header-right visibles */
    .mapfre-nav__mobile-switchers--tablet,
    .mapfre-nav__mobile-switchers--tablet2 {
        display: flex !important;
        align-items: center;
        /* gap: 4px; */
    }

    /* En tablet: ocultar botón VOLVER (panel 2 tiene mismo header que panel 1) */
    .mapfre-nav__mobile-back--phone {
        display: none !important;
    }

    /* En tablet: mostrar el botón X en el panel 2 */
    #mapfre-mobile-panel-2 .mapfre-nav__mobile-close {
        display: flex !important;
    }

    /* header-left en tablet solo contiene el logo → no necesita flex:1 creciente */
    .mapfre-nav__mobile-header-left {
        flex: 0 0 auto;
        margin-right: auto;
    }
}

/* ── MÓVIL PEQUEÑO (≤ 375px): cabecera compacta ────────────────── */
@media (max-width: 375px) {


    .mapfre-nav__inner {
        padding: 16px;
    }

    /* Logo más pequeño */
    .mapfre-nav__logo img {
        max-height: 32px !important;
    }

    /* Reducir tamaño de los botones del switcher en la cabecera del panel */
    .mapfre-nav__mobile-switchers .mapfre-nav__switcher-btn {
        /* padding: 4px 7px; */
        font-size: 12px;
    }

    .et-l--header ul.mapfre-nav__mobile-list {
        margin: 0 16px;
    }

    .mapfre-nav__mobile-dd-content {
        padding: 24px 16px;
    }

    .et_pb_section.rollover-2-columns .et_pb_row.rollover-2-columns-row,
    .et_pb_section.rollover-3-columns .et_pb_row.rollover-3-columns-row {
        gap: 24px;
    }

    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas {
       padding: 40px 0 0;
       flex-direction: column;
    }

    .et_pb_section.rollover-2-columns .et_pb_row .et_pb_column.dropdown-columna-centro-4-columnas .et_pb_text,
    .et_pb_section.rollover-3-columns .et_pb_row .et_pb_column.dropdown-columna-centro-3-columnas .et_pb_text {
        max-width: 328px;
        width: auto;
        flex: unset;
    }

    .mapfre-nav__mobile-header {
        padding: 16px;
    }


    /* Reducir el texto del label del país a máx 6 caracteres con ellipsis */
    .mapfre-nav__mobile-switchers .mapfre-nav__switcher-btn .mapfre-nav__switcher-label {
        max-width: 52px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Reducir gap entre elementos de la cabecera */
    .mapfre-nav__mobile-header-right {
        gap: 8px;
    }

    /* Reducir padding de ítems del menú */
    .mapfre-nav__mobile-link,
    .mapfre-nav__mobile-trigger {
        padding: 24px 0;
        font-size: 20px;
    }

    .mapfre-nav__mobile-list .mapfre-nav__mobile-item:first-child .mapfre-nav__mobile-link,
    .mapfre-nav__mobile-list .mapfre-nav__mobile-item:first-child .mapfre-nav__mobile-trigger {
        padding-top: 40px;
    }
}

/* ── MÓVIL MUY PEQUEÑO (≤ 320px): compactar al máximo ─────────── */
@media (max-width: 320px) {

    .mapfre-nav__inner {
        /* padding: 0 10px; */
        padding: 0 12px;
    }

    .mapfre-nav__mobile-header {
        /* padding: 0 10px; */
        padding: 0 12px;
    }

    /* Ocultar el label del país, mostrar solo la flecha */
    .mapfre-nav__mobile-switchers .mapfre-nav__switcher--country .mapfre-nav__switcher-label {
        display: none;
    }
}
