@font-face {
    font-family: 'HelveticaNeueLTPro-Roman';
    src: local('Helvetica Neue'), 
        local('HelveticaNeueLTPro-Roman'), 
        url('../fonts/HelveticaNeueLTPro-Roman.woff2') format('woff2'),
        url('../fonts/HelveticaNeueLTPro-Roman.woff') format('woff');
    font-weight: normal; /* Geralmente 400 ou 'normal' para uma fonte Roman */
    font-style: normal;
    font-display: swap; /* Melhora a performance: mostra uma fonte padrão enquanto a sua carrega */
}

body {
    padding-top: 56px; /* ou a altura exata da sua navbar */
    font-family: 'HelveticaNeueLTPro-Roman';
}

.link-hover {
    cursor: pointer;
    text-decoration: none;
}

    .link-hover:hover {
        text-decoration: underline;
        color: var(--bs-primary);
    }

.full-screen {
    position: fixed; /* fica preso à viewport */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; /* cobre de cima a baixo */
    width: 100vw; /* largura total da janela */
    height: 100vh; /* altura total da janela */
    margin: 0;
    padding: 0;
    /* opcional, para garantir que fique sempre acima de tudo */
    z-index: 9999;
}

[v-search] > * {
    display: none;
}

.bg-protomedi {
    background-color: #03101E;
}

.custom-shadow {
    box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.3) !important;
}

.nav-item.dropdown:hover > .dropdown-menu {
    display: block;
}

.hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 70%; /* faz a imagem “cortar” pela parte de cima */
    z-index: 0;
}

.overlay-custom {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #08223F 0% 0% no-repeat padding-box;
    opacity: 0.9;
    
}

.py-custom-8rem {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
}

nav a span.active {
    color: #08223F;
    border-bottom: 2px solid #08223F;
}

.btn-custom-sky {
    color: #fff;
    background-color: #126da1;
    border-color: #126da1;
}

    .btn-custom-sky:hover {
        color: #fff;
        background-color: #4f9fbc; /* Tom mais escuro para hover */
        border-color: #4a95b0;
    }

    /* Estilo do anel de foco */
    .btn-custom-sky:focus, .btn-custom-sky.focus {
        color: #fff;
        background-color: #4f9fbc;
        border-color: #4a95b0;
        box-shadow: 0 0 0 0.25rem rgba(90, 178, 212, 0.5);
    }

    /* Estilo quando o botão está ativo (sendo pressionado) */
    .btn-custom-sky:active, .btn-custom-sky.active {
        color: #fff;
        background-color: #4a95b0; /* Tom ainda mais escuro */
        border-color: #458ba4;
    }

        /* Garante que o anel de foco apareça também no estado ativo */
        .btn-custom-sky:active:focus {
            box-shadow: 0 0 0 0.25rem rgba(90, 178, 212, 0.5);
        }

    /* Estilo para o botão desabilitado */
    .btn-custom-sky:disabled, .btn-custom-sky.disabled {
        color: #fff;
        background-color: #5AB2D4;
        border-color: #5AB2D4;
        /* A opacidade já é controlada pela classe .btn:disabled do Bootstrap */
    }

.bg-azul-escuro {
    color: #08223f;
}

.btn-azul-escuro {
    color: #fff;
    background-color: #08223f;
    border-color: #08223f;
}

    .btn-azul-escuro:hover {
        color: #fff;
        background-color: #03101e;
        border-color: #03101e;
    }
    .btn-check:focus + .btn-azul-escuro, .btn-azul-escuro:focus {
        color: #fff;
        background-color: #03101e;
        border-color: #03101e;
        box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);
    }

    .btn-check:checked + .btn-azul-escuro, .btn-check:active + .btn-azul-escuro, .btn-azul-escuro:active, .btn-azul-escuro.active, .show > .btn-azul-escuro.dropdown-toggle {
        color: #fff;
        background-color: #03101e;
        border-color: #03101e;
    }

        .btn-check:checked + .btn-azul-escuro:focus, .btn-check:active + .btn-azul-escuro:focus, .btn-azul-escuro:active:focus, .btn-azul-escuro.active:focus, .show > .btn-azul-escuro.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);
        }

    .btn-azul-escuro:disabled, .btn-azul-escuro.disabled {
        color: #fff;
        background-color: #08223f;
        border-color: #08223f;
    }

.bg-video-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}

    .bg-video-container video,
    .bg-video-container img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

/* Overlay semitransparente nos heróis */
.overlay-dark {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 0;
}

/* Ajustes gerais de texto branco sobre o vídeo */
.hero-content {
    position: relative;
    z-index: 1;
}

/* Espaçamento personalizado para a seção de recursos */
#beneficios .card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    #beneficios .card:hover {
        transform: translateY(-5px);
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    }

/* Footer fixo na parte inferior, se necessário */
footer {
    background-color: #212529;
    color: rgba(255, 255, 255, 0.75);
}

    footer a {
        color: rgba(255, 255, 255, 0.75);
        text-decoration: none;
    }

        footer a:hover {
            color: #ffffff;
        }

/*
     Search bars on the homepage
    ------------------------
*/
.search-bar {
    border-radius: 10px;
    background: #fff;
    border: solid 1px #08223f;
}

    .search-bar .form-group {
        position: relative;
        margin-bottom: 0;
    }

        .search-bar .form-group::after {
            display: block;
            width: 1px;
            height: 60%;
            content: '';
            background: #ddd;
            position: absolute;
            top: 20%;
            right: 0;
        }

        .search-bar .form-group.no-divider::after, .search-bar .form-group:last-of-type::after {
            display: none;
        }

    .search-bar .form-control {
        height: calc(1.6em + 1rem + 2px);
    }

    .search-bar .input-label-absolute-right .label-absolute {
        right: 0;
    }

    .search-bar.search-bar-with-tabs {
        border-radius: 0.4rem;
    }

@media (max-width: 991.98px) {
    .search-bar {
        border-radius: 20px;
    }

        .search-bar .form-group {
            margin-bottom: 1rem;
        }

            .search-bar .form-group::after {
                display: block;
                width: calc(100% - 4rem);
                height: 1px;
                content: '';
                transform: translateX(-50%);
                background: #dee2e6;
                position: absolute;
                top: auto;
                right: auto;
                bottom: 0;
                left: 50%;
            }

        .search-bar .form-control {
            height: calc(1.6em + 0.75rem + 2px);
            padding: 10px 20px;
        }

        .search-bar .input-label-absolute-right .label-absolute {
            right: 1rem;
        }

        .search-bar .bootstrap-select {
            display: block !important;
            width: 100% !important;
            padding: 0;
        }

            .search-bar .bootstrap-select button {
                display: block;
                width: 100% !important;
                padding: 10px 10px;
            }
}

.modal-search-image {
    border: 2px dashed #4D5156;
    border-radius: 20px;
    background-color: #fff;
    padding: 0px !important;
}

#drop-region {
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 0 0 35px rgba(0,0,0,0.05);
    /*width: 400px;*/
    text-align: center;
    cursor: pointer;
    transition: .3s;
}

    #drop-region:hover {
        box-shadow: 0 0 45px rgba(0,0,0,0.1);
    }

.drop-message {
    padding: 60px 40px;
}

.field-validation-error {
    color: rgba(220, 53, 69);
    font-size: 0.875rem !important;
}

.tabela-detalhe {
    border-radius: 10px;
    max-width: 68%;
    margin: 25px auto 25px auto;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
    color: #08223F;
    background-color: #08223F;
}
.navbar-collapse.show {
    height: 100vh;
}

@media (max-width: 640px) {
    .tabela-detalhe {
        border-radius: 10px;
        max-width: 86%;
        margin: 25px auto 25px auto;
        box-shadow: 0 0 5px rgba(0,0,0,0.1);
        color: #08223F;
        background-color: #08223F;
    }
}
    .tabela-detalhe table {
        width: 100%;
        border-collapse: collapse;
    }

    .tabela-detalhe td {
        padding: 12px 20px;
        font-size: 16px;
        vertical-align: top;
    }

    .tabela-detalhe tr:nth-child(even) {
        background-color: #EEEEEE;
    }

    .tabela-detalhe tr:nth-child(odd) {
        background-color: #fff;
    }


.titulo-detalhe {
    padding-top: 61px;
    color: #08223F;
}

.texto-ciano {
    color: #5AB2D4;
}

.color-titulo {
    color: #08223F;
}

.altura-minima {
    min-height: 80vh;
}

.fonte-comum {
    font-size: 16px;
    font-weight: normal;
}

.ml-7 {
    margin-left: 7px;
}

.alinhamento-dados-seo {
    display: flex;
    align-items: baseline;
}

.alinhamento-dados-seo-texto {
    display: flex;
    align-items: baseline;
}

.alinhamento-bg {
    background-color: #EEEEEE;
    white-space: nowrap;
    padding: 0.5rem 1rem;
}

.tabela-detalhe-titulo {
        background-color: #08223F;
        color: white;
        margin: 0;
        padding: 15px 20px;
}

.texto-azul-escuro {
    color: #08223F;
}

.texto-cinza {
    color: #3A3C3D;
}

.shadow-around {
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
}

.hover-scale {
    transition: all 0.2s ease-in-out;
}

    .hover-scale:hover {
        transform: scale(1.05);
    }

.hover-animate {
    transition: all 0.2s ease-in-out;
}

    .hover-animate:hover, .hover-animate:focus {
        transform: translate3d(0, -10px, 0);
    }

.hover-scale-bg-image .bg-image {
    transition: all 0.2s ease-in-out;
}

.hover-scale-bg-image:hover .bg-image, .hover-scale-bg-image:focus .bg-image {
    transform: scale(1.05);
}
.btn-artigo {
    color: #08223f;
    border-color: #08223f;
}

.btn-artigo:hover {
    color: #fff;
    background-color: #08223f;
    border-color: #08223f;
}

.estilo-underline-link {
    text-decoration: none;
}

.estilo-underline-link:hover {
    text-decoration: underline solid black;
}

.text-ellipsis-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cor-link {
    color: #126da1;
}