/*! HTML5 Boilerplate v6.1.0 | MIT License | https://html5boilerplate.com/ */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased !important;
}

.clipped {
    display: none !important;
}

html,
body {
    height: 100%;
}

html {
    width: 100%;
    height: 100%;
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

*::-webkit-scrollbar {
    width: 1em;
    background-color: #e6e6e6;
}

*::-webkit-scrollbar-thumb {
    background-color: #9b9b9b;
    outline: 1px solid #9b9b9b;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

input:focus::-webkit-input-placeholder {
    color: transparent;
}

textarea:focus::-webkit-input-placeholder {
    color: transparent;
}

video,
img {
    width: 100%;
    height: auto;
    margin: 0;
}

input,
input:focus,
button,
a {
    outline: none;
    text-decoration: none;
    color: #1c96be;
}

    a:hover {
        color: #004f71;
    }

.bootstrap-select.is-invalid ~ .invalid-feedback {
    display: block;
}

[ng\:cloak],
[ng-cloak],
[data-ng-cloak],
[x-ng-cloak],
.ng-cloak,
.x-ng-cloak {
    display: none !important;
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle,
button:hover,
button:focus,
a.btn:focus,
a.btn:hover {
    background-color: #004f71;
    box-shadow: inherit;
}

.custom-select {
    background-image: url(../img/arrow-down.png);
    background-size: 15px;
}

ul,
li,
a {
    margin: 0;
    padding: 0;
    text-decoration: none !important;
    outline: none;
    list-style: none;
}

textarea,
textarea.form-control,
select,
select.form-control,
input,
input.form-control {
    height: 40px;
    margin: 0 auto;
    font-weight: normal;
    font-style: normal;
    vertical-align: middle;
    color: #1c96be;
    border-radius: initial;
    line-height: normal;
    border: none;
    border: 1px solid #e7e7e7;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-style: normal;
}

    textarea.form-control:focus,
    select.form-control:focus,
    input.form-control:focus {
        color: #1c96be;
    }

select {
    border-color: #e7e7e7;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("../img/arrow-down.png");
    background-size: 15px;
    background-repeat: no-repeat;
    background-position: 98% 13px;
}

    select option,
    select.form-control option,
    select.form-control:focus option {
        font-family: sans-serif;
    }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    outline: none;
    background-color: #fff;
    transition: background-color 5500s ease-in-out 0s;
    -webkit-text-fill-color: #1c96be !important;
}

input[type="number"] {
    -moz-appearance: textfield;
}

    input[type="number"]:hover,
    input[type="number"]:focus {
        -moz-appearance: number-input;
    }

:focus,
.custom-control-input:focus ~ .custom-control-indicator,
.custom-control-input:checked ~ .custom-control-indicator,
.btn.focus,
.btn:focus,
input,
input[type="radio"] {
    outline-color: transparent !important;
    outline: none !important;
    box-shadow: none;
}

    .form-control:disabled,
    .form-control[readonly],
    input:disabled,
    .form-control:disabled,
    .form-control[readonly] {
        background-color: #e5eaea !important;
    }

.btn-light:not(:disabled):not(.disabled):active:focus,
.btn-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-light.dropdown-toggle:focus,
.bootstrap-select .dropdown-toggle:focus,
.btn-light:not(:disabled):not(.disabled):active,
.btn-light:not(:disabled):not(.disabled).active,
.show > .btn-light.dropdown-toggle,
.form-control:focus {
    box-shadow: none !important;
    outline: none !important;
}

.close:not(:disabled):not(.disabled):hover,
.close:not(:disabled):not(.disabled):focus {
    background-color: transparent;
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: #004f71;
}

.dropdown-item:hover {
    background-color: #002a3a;
}

.right-rounded {
    border-bottom-right-radius: 50px;
    border-top-right-radius: 50px;
}

.btn_yellow {
    color: #002a3a !important;
    background-color: #f9b01d !important;
    border-radius: 1px !important;
    padding: 11px !important;
}

    .btn_yellow:hover {
        color: #ffffff !important;
        background-color: #f9b01d !important;
    }

.btn {
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* Slider - Solo mantenemos lo necesario, eliminamos @font-face de slick */
.slick-loading .slick-list {
    background: #fff url("../ajax-loader.gif") center center no-repeat;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

body {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 0;
    font-size: 10px;
    background-color: #fff;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #363636;
    word-break: break-word;
}

.wrapper {
    position: relative;
    margin: 0 auto;
    width: 90%;
}


h1 {
    font-size: 4em;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 700;
    font-style: normal;
}

h2 {
    color: #004f71;
    font-size: 3em;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 700;
    font-style: normal;
}

h3 {
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
}

.subtitle {
    font-size: 1.8em;
}

.breadcrumb {
    margin: 0;
    background: transparent;
}

    .breadcrumb li {
        font-size: 1.2em;
        font-family: 'Josefin Sans', sans-serif;
        font-weight: 400;
        font-style: normal;
    }

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

table {
    border: 1px solid #dee2e6;
}

.table-hover tbody tr:hover {
    background-color: rgba(254, 203, 130, 0.1);
}

.table thead th,
table thead th {
    border: none;
    letter-spacing: 1px;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-style: normal;
}

.table th,
.table td,
table th,
table td {
    font-size: 1.2em;
}

.table th,
table th {
    min-width: 100px;
    border: none;
}

.table td,
table td {
    font-size: 1.4em;
    min-width: 100px;
}

    .table td p,
    table td p {
        width: 400px;
        font-size: 1em;
        margin: 0;
    }

.table th,
table th {
    text-transform: uppercase;
}

.table td input,
table td input {
    max-width: 100px;
    margin: 0;
}

    .table td input[type="number"],
    table td input[type="number"] {
        margin: 0;
    }

table td .btn-edit {
    max-width: 100px;
    font-size: 1em;
    text-transform: none;
}

    table td .btn-edit:hover {
        border-color: #004f71;
        background-color: #004f71;
        color: #fff;
    }

.g-recaptcha {
    margin: 0 auto;
    text-align: center;
    max-width: 300px;
}

.navbar-toggler {
    font-size: 1.5em;
    color: #002a3a;
    border: none;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
}
    .navbar-toggler .bi-list {
        font-size: 24px;
    }
    .navbar-toggler:hover,
    .navbar-toggler:focus {
        color: white;
        background-color: #002A3A !important;
    }

    .navbar-toggler .title_menu {
        font-size: 16px;
        font-family: 'Josefin Sans', sans-serif;
        font-weight: 700;
        text-transform: uppercase;
    }

.sidebar {
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    width: 300px;
    background-color: #ffffff;
    z-index: 1100;
    box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1);
    transition: right 0.3s ease-in-out;
    padding: 20px;
}

#sidebar-main {
    top: 0;
}

.sidebar.right {
    right: -300px;
    text-align: left;
}

.sidebar a {
    text-decoration: none;
    display: block;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.6em;
    color: #004c6d;
}

.sidebar .nav-item.active {
    background-color: #019cde;
    color: #fff;
}

.sidebar .nav-item:hover {
    color: #fff !important;
}

.sidebar .nav-item.active a {
    color: #fff;
}

.sidebar a:hover {
    background-color: #019cde;
    color: #ffffff !important;
}

#dismiss {
    width: 40px;
    height: 40px;
    background-color: #002a3a;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin-bottom: 20px;
    margin-left: auto;
}

    #dismiss i {
        color: #fff;
        font-size: 18px;
    }
.sidebar ul {
    padding: 0 !important;
    border-bottom: 1px solid #f1f1f1;
}

    .sidebar ul li {
        padding: 10px 0;
        border-bottom: 1px solid #f1f1f1;
    }
.sidebar .nav-item a {
    display: block;
    padding: 12px 20px; /* Esto hace que toda la fila sea clickeable */
    color: #004c6d;
    transition: all 0.2s ease;
}

.overlay {
    display: none;
    position: fixed;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0);
    z-index: 1099;
    opacity: 0;
    transition: all 0.5s ease-in-out;
    top: 0;
    left: 0;
    pointer-events: none;
}

    .overlay.active {
        display: block;
        opacity: 1;
    }

/* Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

    .slick-list:focus {
        outline: none;
    }

    .slick-list.dragging {
        cursor: pointer;
        cursor: hand;
    }

.slick-slider .slick-track,
.slick-slider .slick-list {
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

    .slick-track:before,
    .slick-track:after {
        display: table;
        content: "";
    }

    .slick-track:after {
        clear: both;
    }

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

[dir="rtl"] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

/* Arrows */
.slick-prev,
.slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

    .slick-prev:hover,
    .slick-prev:focus,
    .slick-next:hover,
    .slick-next:focus {
        outline: none;
        background: #f1f1f1;
    }

        .slick-prev:hover:before,
        .slick-prev:focus:before,
        .slick-next:hover:before,
        .slick-next:focus:before {
            opacity: 1;
        }

    .slick-prev.slick-disabled:before,
    .slick-next.slick-disabled:before {
        opacity: 0.25;
    }

    /* Eliminada la dependencia de la fuente "slick" */
    .slick-prev:before,
    .slick-next:before {
        font-family: "Bootstrap Icons", "sans-serif";
        font-size: 20px;
        line-height: 1;
        opacity: 0.75;
        color: white;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

.slick-prev {
    left: -25px;
}

[dir="rtl"] .slick-prev {
    right: -25px;
    left: auto;
}

.slick-prev:before {
    content: "←";
}

[dir="rtl"] .slick-prev:before {
    content: "→";
}

.slick-next {
    right: -25px;
}

[dir="rtl"] .slick-next {
    right: auto;
    left: -25px;
}

.slick-next:before {
    content: "→";
}

[dir="rtl"] .slick-next:before {
    content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 30px;
}

.slick-dots {
    position: absolute;
    bottom: -36px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

    .slick-dots li {
        position: relative;
        display: inline-block;
        width: 20px;
        height: 20px;
        margin: 0 5px;
        padding: 0;
        cursor: pointer;
    }

        .slick-dots li button {
            font-size: 0;
            line-height: 0;
            display: block;
            width: 20px;
            height: 20px;
            padding: 5px;
            cursor: pointer;
            color: transparent;
            border: 0;
            outline: none;
            background: transparent;
        }

            .slick-dots li button:hover,
            .slick-dots li button:focus {
                outline: none;
            }

                .slick-dots li button:hover:before,
                .slick-dots li button:focus:before {
                    opacity: 1;
                }

            .slick-dots li button:before {
                font-family: "Bootstrap Icons", "sans-serif";
                font-size: 6px;
                line-height: 16px;
                position: absolute;
                top: 0;
                left: 0;
                width: 16px;
                height: 16px;
                background-color: transparent;
                border: 1px solid #001f33;
                border-radius: 100%;
                content: "•";
                text-align: center;
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
            }

        .slick-dots li.slick-active button:before {
            background-color: #001f33;
        }

.btn {
    font-family: 'Lato', sans-serif;
    text-transform: uppercase;
    font-weight: 700;
    font-style: normal;
}

/* ==========================================================================
   Header y navegación
   ========================================================================== */

header img {
    max-width: 100px;
}

header .abox img {
    max-width: 120px !important;
}

header .abbott img {
    max-width: 120px !important;
}

header nav {
    background-color: #fff;
}

    header nav ul {
        width: 100%;
    }

        header nav ul li a {
            font-size: 1.4em;
            color: #002a3a;
            font-family: 'Lato', sans-serif;
            font-weight: 700;
            font-style: normal;
            text-transform: uppercase;
        }

            header nav ul li a.btn {
                font-size: 1.4em;
                padding-right: 20px !important;
                padding-left: 20px !important;
                border-radius: 20px;
                line-height: normal;
                color: #fff;
            }

header .static-nav {
    padding: 0.5rem 1rem;
    background-color: #002a3a;
    color: #fff;
}

header .country-select .btn,
header .country-select .btn:hover {
    border: none;
    background-color: transparent;
}

header .country-select .dropdown-toggle::after {
    display: none;
}

header .country-select .dropdown img,
header .static-nav .dropdown img {
    display: inline-block;
    width: 25px;
    margin: 0 5px;
    border-radius: 100px;
}

header .country-select .dropdown .dropdown-item,
header .static-nav .dropdown .dropdown-item {
    font-size: 0.8em;
    color: #1c96be;
    text-transform: uppercase;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    letter-spacing: 1px;
}

header .nav-item .btn-iniciar {
    color: #009cde !important;
    background-color: white;
    border: 1px solid #009cde;
    border-radius: 1px;
}

    header .nav-item .btn-iniciar:hover {
        color: #ffffff !important;
        background-color: #009cde;
    }

header .nav-item .btn-registro {
    color: #ffffff !important;
    background-color: #009cde;
    border-radius: 1px;
}

    header .nav-item .btn-registro:hover {
        color: #ffffff !important;
        background-color: #00628b;
    }

.abox-gris {
    color: #63666a;
}

.abox-aqua {
    color: #009cde;
    font-size: 22px;
    line-height: 31px;
    font-weight: bold;
    font-family: 'Josefin Sans', sans-serif;
}

.main {
    position: relative;
}

    .main p {
        font-size: 1.8em;
        font-family: 'lato', serif;
        font-weight: 400;
    }

.banner {
    margin: 0 auto;
    padding: 0;
    height: auto;
    overflow: hidden;
}

.text-span-inputs {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    align-items: left;
    font-weight: 300;
    color: #6e6e6e;
}

.text-span-danger {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    align-items: left;
    font-weight: 300;
    color: #f80b0b;
}

h1 {
    color: #004f71;
}

h2 {
    color: #004f71;
}

label {
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 17px;
}

section {
    padding: 2em 0;
}

.full-row {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
}

    .full-row > .full-col-1 {
        width: 60%;
    }

    .full-row > .full-col-2 {
        width: 40%;
    }

    .full-row .ch-order-1 {
        order: 2;
    }

    .full-row .ch-order-2 {
        order: 1;
    }

    .full-row .wrapper {
        width: 100%;
        margin: 0 auto;
        padding: 0 1rem;
        max-width: 790px;
    }

@media only screen and (max-width: 1200px) {
    .full-row {
        flex-direction: column;
    }

        .full-row > .full-col-1,
        .full-row > .full-col-2 {
            width: 100%;
        }

        .full-row .ch-order-1 {
            order: 1;
        }

        .full-row .ch-order-2 {
            order: 2;
        }

        .full-row .wrapper {
            max-width: 100%;
        }
}

section.box-pathology {
    position: relative;
    padding: 10em 2em;
}

    section.box-pathology .boxes {
        width: 80%;
        margin: 0 auto;
    }

    section.box-pathology .item {
        -ms-flex: 0 0 12%;
        flex: 0 0 12%;
        max-width: 100%;
        padding: 1em;
    }

        section.box-pathology .item:hover {
            animation-name: rubberBand;
            animation-duration: 1s;
            animation-fill-mode: both;
        }

        section.box-pathology .item figure figcaption {
            font-size: 1.2em;
            font-family: 'Lato', sans-serif;
            font-weight: 400;
            font-style: normal;
            text-transform: uppercase;
        }

        section.box-pathology .item figure img {
            display: block;
            width: 100%;
            max-width: 100px;
            margin: 1em auto;
        }

section.our-brands {
    margin: 10em auto;
}

    section.our-brands ul li {
        margin: 1em 0;
        text-align: center;
        font-family: 'Lato', sans-serif;
        font-weight: 400;
        font-style: normal;
    }

        section.our-brands ul li a {
            display: block;
            width: 100%;
            height: 10em;
            line-height: 10em;
            font-size: 1.8em;
            text-transform: uppercase;
            font-family: 'Lato', sans-serif;
            font-weight: 400;
            font-style: normal;
            color: #fff;
        }

    section.our-brands figure {
        margin: 2em 0;
    }

        section.our-brands figure .img-thumbnail {
            display: block;
            width: 100%;
            max-width: 150px;
            margin: 0;
            border: none;
        }

section.grid-products .title {
    margin-bottom: 4em;
}

    section.grid-products .title p {
        margin: 0 auto;
        width: 80%;
    }

section.grid-products .single {
    height: 60em;
    background-color: #f7f5fb;
    background-image: url(../img/banner4.png);
    background-size: cover;
    background-position: center;
}

section.grid-products .two-blocks div {
    height: 29.2em;
    background-color: #f7f5fb;
    background-image: url(../img/banner3.png);
    background-size: cover;
    background-position: center;
}

section.grid-products .two-blocks .first {
    margin-bottom: 1.6em;
}

section.grid-products a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

section.grid-products .tag {
    display: block;
    position: absolute;
    bottom: 1em;
    right: 20px;
    font-size: 1.4em;
    padding: 10px 1em;
    background-color: #fff;
    color: #004f71;
    text-transform: uppercase;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-style: normal;
}

section.grid-products .link {
    margin: 1em auto;
    font-size: 2em;
}

    section.grid-products .link a {
        width: auto;
        display: inline-block;
    }

.navi-pathology {
    height: 8em;
}

    .navi-pathology h1 {
        font-size: 3em;
        margin: 0 auto;
        color: #fff;
        font-family: 'Josefin Sans', sans-serif;
        font-weight: 700;
        font-style: normal;
    }

    .navi-pathology div {
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    .navi-pathology .options {
        padding: 1em 0;
    }

    .navi-pathology figure {
        margin: 0 auto;
    }

    .navi-pathology ul.desktop {
        margin: 0 auto;
    }

        .navi-pathology ul.desktop li {
            display: inline-block;
        }

            .navi-pathology ul.desktop li a img {
                max-width: 65px;
                margin: 0 5px;
            }

            .navi-pathology ul.desktop li:hover {
                animation-name: rubberBand;
                animation-duration: 1s;
                animation-fill-mode: both;
            }

.info-slider {
    padding: 6em 0;
}

.mini-carousel {
    position: relative;
    width: 100%;
    max-width: 80%;
    margin: 0 auto;
}

    .mini-carousel figure {
        max-width: 500px;
        margin: 0 auto;
    }

.slick-prev,
.slick-next {
    width: 50px;
    height: 50px;
    background: #f1f1f1;
    z-index: 1;
}

    .slick-prev:before,
    .slick-next:before {
        color: #004f71;
        font-size: 30px;
    }

.slider-box {
    position: relative;
    overflow: hidden;
}

.full-box {
    height: 50em;
    background-image: url(../img/banner.png);
    background-size: cover;
    background-position: center;
}

    .full-box h2 {
        text-transform: uppercase;
        color: #fff;
    }

        .full-box h2 span {
            font-size: 2em;
            display: block;
            font-family: 'Josefin Sans', sans-serif;
            font-style: normal;
        }

    .full-box a {
        margin-top: 2em;
    }

.banner-content .box {
    position: relative;
    width: 80%;
    height: 50em;
    margin: 0 auto;
    padding: 4em;
    background-color: #fff;
    text-align: center;
}

    .banner-content .box h2 {
        position: relative;
        display: block;
        width: 100%;
        margin: 1em auto;
        margin-bottom: 4em;
        font-family: 'Josefin Sans', sans-serif;
        font-weight: 700;
        font-style: normal;
        text-transform: uppercase;
        color: #001f33;
    }

        .banner-content .box h2:before {
            content: "";
            position: absolute;
            bottom: -10px;
            left: 0;
            right: 0;
            margin: 0 auto;
            width: 30px;
            height: 3px;
            background-color: #001f33;
        }

.carousel-control-prev:hover,
.carousel-control-next:hover,
.carousel-control-prev:focus,
.carousel-control-next:focus {
    background-color: transparent !important;
}

/* ==========================================================================
   Nuevos estilos para las secciones de interés y pasos
   ========================================================================== */

.info-steps-dark {
    background-color: #002a3a;
}

.step-icon {
    width: 50px;
    height: auto;
    object-fit: contain;
}

.info-steps-dark h4 {
    font-size: 1.2rem;
    letter-spacing: 1px;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 700;
}

.info-steps-dark p {
    line-height: 1.4;
    color: #f1f1f1;
    font-family: 'Gelasio', serif;
    font-weight: 400;
}

.titulo-interes {
    color: #004f71;
    font-size: 2.2em !important;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 700;
}

.titulo-about {
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 700;
    color: #004f71;
    text-transform: uppercase;
    font-size:3em;
}

.card-interes {
    border-radius: 20px;
    overflow: hidden;
    transition: transform 0.3s ease;
}

    .card-interes:hover {
        transform: translateY(-5px);
    }

    .card-interes .card-img-top {
        height: 250px;
        object-fit: cover;
    }

    .card-interes .card-footer {
        background-color: #002a3a;
        border: none;
        font-family: 'Lato', sans-serif;
        letter-spacing: 1px;
        font-size: 1.1rem;
    }

.textos-areas {
    background-color: #002a3a;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-top: -16px;
    font-size: 12px;
    border-radius: 0px 0px 15px 15px;
    color: white;
    text-transform: uppercase;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 700;
    box-shadow: 0px 1px 10px #002a3a;
    letter-spacing: 0.05em;
}

.banner {
    background-image: url('banner-ayuda1.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    color: #000000;
}

/* ==========================================================================
   SECCIÓN AYUDA Y FOOTER
   ========================================================================== */

.ayuda-section {
    min-height: 450px;
    display: flex;
    align-items: center;
}

.titulo-ayuda {
    color: #004f71;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 700;
    font-size: 2.5rem;
}

.sub-ayuda {
    color: #000;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: 15px;
}

.info-ayuda li {
    font-family: 'Tahoma', serif;
    color: #000;
    font-size: 1rem;
    margin-bottom: 5px;
    font-weight: 400;
}

.info-ayuda a {
    color: #004f71;
    font-family: 'Tahoma', serif;
    text-decoration: none;
    font-weight: 400;
}

/* FOOTER STYLES */
.footer-abox {
    position: relative;
    padding: 6em 0;
    background-color: #222731;
    color: #fff;
    margin-top: -70px;
    border-top-left-radius: 50px;
}

.footer-logo {
    max-width: 140px;
}

.slogan-footer {
    color: #707070;
    font-size: 0.9rem;
    font-style: italic;
}

.footer-links a {
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.9rem;
    margin-left: 20px;
    transition: color 0.3s;
    text-transform: uppercase;
    font-family: 'Lato', sans-serif;
}

    .footer-links a:hover {
        color: #fff;
    }

.footer-legal-text {
    font-size: 0.75rem;
    color: #808080;
    line-height: 1.6;
    text-align: justify;
    padding-top: 20px;
    font-size: 14px;
    font-family: 'Gelasio', serif;
    font-weight: 400;
    font-style: normal;
}

    .footer-abox,
    .footer-legal-text p {
        font-size: 13px;
        text-align: justify;
        line-height: 20px;
        text-transform: none;
        font-family: 'Gelasio', serif;
        font-weight: 400;
        font-style: normal;
        color: #ffffff;
    }

.slogan-footer {
    font-size: 14px !important;
    text-transform: uppercase;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-style: normal;
}

/* Responsivo para móviles */
@media (max-width: 768px) {
    .footer-links {
        text-align: center;
        margin-top: 20px;
    }

        .footer-links a {
            display: block;
            margin: 10px 0;
        }

    .titulo-ayuda {
        font-size: 2rem;
    }
}

/* ================= HEADER ABOX ================= */

header img {
    max-height: 30px !important;
    width: auto;
}

.static-nav {
    background-color: #002a3a;
    padding: 8px 16px;
}

    .static-nav .country-select img {
        margin-right: 6px;
    }

.navbar {
    background-color: #fff;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.navbar-nav .nav-link {
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: #002A3A;
}

.nav-link:hover {
    color: #009CDE !important;
}

.btn-iniciar {
    border: 1px solid #009cde;
    color: #009cde;
    background-color: #fff;
}

    .btn-iniciar:hover {
        background-color: #009cde;
        color: #fff;
    }

.btn-registro {
    background-color: #009cde;
    color: #fff;
}

    .btn-registro:hover {
        background-color: #00628b;
    }

.country-select .dropdown-menu img {
    width: 20px;
    margin-right: 8px;
}

#countryDropdown,
#countryDropdownDesktop {
    min-width: fit-content;
    white-space: nowrap;
}

/* Sidebar móvil */
.sidebar {
    position: fixed;
    top: 56px;
    right: -300px;
    width: 300px;
    height: 100%;
    background: #fff !important;
    box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1); /* Sombra más suave */
    z-index: 1050;
    transition: right 0.3s ease;
    padding: 20px;
}
    .sidebar ul {
        padding: 20px 0 !important; /* Menos espacio muerto arriba */
    }

        .sidebar ul li a {
            font-size: 16px;
            padding: 10px;
            display: block;
            color: #002a3a;
           /* border-bottom: 1px solid #f8f9fa; */
            padding: 0 !important; /* Quitamos el padding del li para que el <a> ocupe todo el espacio */
        }
    .sidebar a {
        padding: 15px 20px; /* Aumentamos el área de toque (UX) */
        display: block;
        transition: all 0.2s ease;
        color: #002a3a; /* Color de texto base legible */
    }
        .sidebar a:hover {
            background-color: #019cde !important;
            color: #ffffff !important;
            text-decoration: none;
        }

    .sidebar .nav-item:hover {
        background-color: #019cde !important;
    }

        .sidebar .nav-item:hover a {
            color: #ffffff !important;
        }
    

    #dismiss {
        text-align: right;
        font-size: 20px;
        cursor: pointer;
        margin-bottom: 20px;
    }

/* Títulos del modal */
.modal .modal-title,
.modal.error-msg .modal-title,
.modal.msg .modal-title {
    color: #E31B23;
    font-weight: 700;
    font-size: 2rem;
    font-family: 'PoppinsSemiBold', sans-serif;
    text-align: center;
    margin: 0 0 0.5rem 0;
}

/* Contenedor principal */
.modal.error-msg .modal-content,
.modal.msg .modal-content {
    border-radius: 8px;
    border: none;
    padding: 2em;
    position: relative;
    text-align: center;
}
.modal-header {
    border-bottom:none !important;
}
/* Cuerpo de texto */
.modal .modal-body p,
.modal.error-msg p.txt,
.modal.msg p.txt {
    font-size: 1.5em;
    color: #333;
    text-align: center;
    margin: 0 0 1.5rem 0;
}

/* Estructura del footer y botones */
.modal .modal-footer,
.modal.error-msg .modal-footer,
.modal.msg .modal-footer {
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    border: none;
}

    .modal .modal-footer .btn,
    .modal.error-msg .modal-footer .btn,
    .modal.msg .modal-footer .btn,
    .modal .btn,
    .modal.error-msg .btn,
    .modal.msg .btn,
    .modal .btn.full {
        background-color: #E31B23;
        color: white;
        font-weight: 700;
        font-family: 'PoppinsSemiBold', sans-serif;
        border: none;
        padding: 10px 0;
        border-radius: 4px;
        width: auto;
        min-width: 80%;
        margin: 0 auto;
        text-transform: uppercase;
        display: block;
    }

        /* Estados hover */
        .modal.error-msg .modal-footer .btn:hover,
        .modal.msg .modal-footer .btn:hover,
        .modal .modal-footer .btn:hover {
            background-color: #004f71 !important;
            color: white !important;
            border: none !important;
        }

/* Botón de cierre (X) */
.modal .close,
.modal .modal-header .close,
.modal.error-msg .modal-header .close,
.modal.msg .modal-header .close {
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #333;
    background: none;
    border: none;
    .txt-redtint {
    color: #e62645;
}

.bg-redtint {
    background-color: #e62645 !important;
    color: white;
}

.txt-bluetint {
    color: #0095D6;
}

.bg-bluetint {
    background-color: #0095D6 !important;
    color: white;
    border-color: #0095D6 !important;
}
