/* Reset básico */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Roboto', sans-serif;
    background-color: #fff;
    color: #000;
    line-height: 1.6;
    font-size: 16px;
    padding: 0;
    margin: 0;
}

.btn{
    border-radius: 0 !important;
}
/* Topbar */
.topbar {
    background: #0068AE;
    color: white;
    padding: 0 2rem;
    font-size: 14px;
    text-align: right;
}

.topbar > div{padding: 12px 0;}

.topbar > div a{color: #FFF !important;text-decoration: none !important;padding-right:20px}
.topbar > div a:hover{color: #F9B233 !important}
.topbar > div a.boton-purisima{background: #F9B233;color: #000 !important;text-decoration: none !important;padding: 15px 20px}

.topbar > div a.boton-purisima:hover{color: #FFF !important}

    .topbar-inner {
  display: flex;
  flex-wrap: wrap;            /* Que salten a la siguiente línea al llegar al ancho */
  align-items: center;        /* Alinea íconos y texto verticalmente */
  justify-content: right;    /* Centra todos los items horizontalmente */
  padding: 0 !important;
}
    @media (max-width:769px) {

        .topbar > div{text-align: center;padding:0 !important}
        .topbar > div a.boton-purisima.boton-cabecera {display: inline-block;padding:10px;text-align: center;}
        .topbar-inner {
  display: flex;
  flex-wrap: wrap;            /* Que salten a la siguiente línea al llegar al ancho */
  align-items: center;        /* Alinea íconos y texto verticalmente */
  justify-content: center;    /* Centra todos los items horizontalmente */
}
    }
    /* ======== Estilos generales de la topbar ======== */

/* Flex container para centrar los items y permitir que se envuelvan (wrap) */


/* Cada bloque icono+texto/enlace dentro de la topbar */
.topbar-item {
  display: flex;
  align-items: center;        /* Para que icono y texto queden alineados verticalmente */
  margin: 0 10px;         /* Separación entre bloques y algo de espacio al bajar de línea */
  white-space: nowrap;        /* Impide que el icono y su texto/enlace se rompan en varias líneas */
}

/* Espacio extra a la derecha del icono (si usas g-mr-3, ya lo tienes), pero por si acaso: */
.topbar-item i {
  margin-right: 0.5rem;
}



/* Hover opcional */
.topbar-item a:hover {
  text-decoration: underline;
}


@media(max-width: 768px){
    .topbar {padding: 8px 2rem;}
    .topbar-item { margin: 4px 10px 4px;}
}


tbody, td, tfoot, th, thead, tr {
    border: 1px solid #bbb;
    padding: 10px;}

/* Menú principal */
/*.menu-principal {
    background: #005599;
    padding: 1rem 2rem;
}

.menu-principal ul {
    list-style: none;
    display: flex;
    gap: 2rem;
}

.menu-principal a {
    color: white;
    text-decoration: none;
    font-weight: 500;
}

.menu-principal a:hover {
    color: #0068AE;
}*/

/* Breadcrumbs */
.breadcrumbs {
    padding: 1rem 2rem;
    font-size: 14px;
    background: #eef2f6;
}

.breadcrumbs ul {
    list-style: none;
    display: flex;
    gap: 0.5rem;
}

.breadcrumbs li::after {
    content: ">";
    margin: 0 0.5rem;
    
}

.breadcrumbs li:last-child::after {
    content: "";
}

.breadcrumb-bar  a{text-decoration: none !important;color: #000 !important;}


/* Contenido */
main {
    padding: 0rem;
    min-height: 400px;
    padding-top: 0 !important;
}

/* CTA */
.cta-newsletter input[type="email"] {
    padding: 0.5rem;
    width: 250px;
    margin-right: 0.5rem;
    border: none;
    border-radius: 4px;
}

.cta-newsletter button[type="submit"] {
    padding: 0.5rem 1rem;
    border: none;
    background-color: #0068AE;
    color: #fff;
    border-radius: 4px;
    cursor: pointer;
}

.cta-newsletter button[type="submit"]:hover {
    background-color: #357bd8;
}

.cta-newsletter .form-check-label {
    font-size: 0.9rem;
    margin-left: 0.5rem;
}

.cta-newsletter {
    background-color: #dce7f2;
    padding: 3rem 0;
}

.cta-newsletter .newsletter-title {
    display: inline-block;
    padding: 0.5rem 1rem;
    font-weight: bold;
    color: #0068AE;
    margin-bottom: 1rem;
}

/* Footer */
footer {
    background: #0068AE;
    color: white;
    text-align: center;
    padding: 1rem 2rem;
    font-size: 14px;
}


section{padding: 2rem;}

.hero-section {
    height: 300px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.hero-content {
    padding: 2rem;
    color: #FFF;
}

.hero-buttons {
    padding: 2rem;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 0.75rem;
}



.hero-buttons .btn {
    white-space: nowrap;
}

@media (max-width: 768px) {
    .hero-section {
        flex-direction: column;
        height: auto;
        text-align: center;height: 100px;
    }

    .hero-content,
    .hero-buttons {
        max-width: 100%;
        padding: 1rem;
    }

    .hero-buttons {
        justify-content: center;
        flex-wrap: wrap;
    }

    .hero-buttons .btn {
        margin-top: 0.5rem;
    }
}

.menu-principal {
    background-color: #fff;
    border-bottom: 1px solid #ddd;
    padding: 10px 20px;
}

.container-menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.logo img {
    height: 50px;
}
/*
.menu-items {
    list-style: none;
    display: flex;
    gap: 20px;
    margin: 0;
    padding: 0;
}

.menu-items li {
    position: relative;
}

.menu-items a {
    color: #000;
    text-decoration: none;
    padding: 8px 12px;
    display: block;
}

.menu-items .dropdown:hover .submenu {
    display: block;
}

.submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #0068AE;
    min-width: 200px;
    z-index: 1000;
    padding: 0 !important;
}

.submenu li a {
    color: #fff;
    padding: 10px 15px;
    white-space: nowrap;
}

.submenu li a:hover,
.submenu li a:focus {
    background-color: #52BFE1; 
    color: #FFF;
}
.menu-items li .submenu {
    display: none;
}

.menu-items li:hover > .submenu {
    display: block;
}
@media (max-width: 768px) {
    .container-menu {
        flex-direction: column;
        align-items: flex-start;
    }

    .menu-items {
        flex-direction: column;
        width: 100%;
    }

    .menu-items li {
        width: 100%;
    }

    .submenu {
        position: static;
        display: none;
        width: 100%;
    }

    .menu-items .dropdown:hover .submenu {
        display: block;
    }
}
*/
footer ul {
    padding: 0;
    list-style: none;
}

footer ul li {
    margin-bottom: 0.5rem;
}

footer a:hover {
    text-decoration: underline;
}

footer .btn {
    padding: 15px 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;background:#F9B233; border-radius: 0px; font-weight: normal;
}

footer .btn i {
    margin-right: 0.5rem;
}

footer .fab{ color: #0068AE !important }
footer .links-pur a{color: #FFF !important; text-decoration: none !important}
footer .links-pur a:hover{color: #F9B233 !important}

footer .btn:hover{text-decoration: none; color: #FFF !important;background:#F9B233; }


/* Contacto */
.contacto-modulo h4{
    font-weight: bold;
    margin-bottom: 20px;
    padding-bottom:10px;
    border-bottom: 1px solid #0068AE;
    color: #0068AE !important;
}

.contacto-modulo h6 {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 10px;
    color: #0068AE !important;
}

.contacto-modulo .bg-light {
    background-color: #e7f1fb !important; /* Azul muy clarito */
    padding: 20px;
    border-radius: 8px;
}

.contacto-modulo .form-control {
    border-radius: 0; margin-bottom: 20px; margin-top: 5px;
}

.contacto-modulo .btn-primary {
    background-color:#0068AE;
    border-color: #0068AE;
    border-radius: 0;
}

.contacto-modulo .btn-primary:hover {
    background-color: #0068AE;
    border-color: #0068AE;
}

.contacto-modulo .form-check-label {
    font-size: 14px;
}

.swal2-popup.colored-toast {
    background-color: #28a745 !important;
    color: white;
}
.swal2-popup.colored-toast .swal2-title {
    color: white;
}
.swal2-popup.colored-toast .swal2-icon-success {
    border-color: white;
    color: white;
}

.tooltip-inner {
    max-width: 400px; /* Limita el ancho del tooltip */
    white-space: pre-wrap; /* Permite saltos de línea automáticos */
    text-align: left; /* Alinea el texto a la izquierda */
}


/* Oficinas */

.oficinas-modulo h4{
    font-weight: bold;
    margin-bottom: 20px;
    padding-bottom:10px;
    border-bottom: 1px solid #0068AE;
    color: #0068AE !important;
}

.oficinas-modulo h5 {
    font-weight: bold;
    margin-bottom: 10px;
    color: #0068AE !important;
}

.oficinas-modulo i{color: #0068AE !important;}
