/* Google Fonts - Open Sans */

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap');



/* Aplicar Open Sans em todo o site */

body {

    font-family: 'Open Sans', sans-serif;

    background-color: white;

}



:root {

    --adurn-blue: #003366;

    --adurn-light-blue: #0066cc;

    --adurn-yellow: #ffcc00;

    --adurn-green: #00cc66;

}



.navbar-top {

    background-color: var(--adurn-blue);

    padding: 1.25rem 0;

}



.navbar-top .btn-check:checked+.btn,

.navbar-top .btn.active,

.navbar-top .btn.show,

.navbar-top .btn:first-child:active,

.navbar-top :not(.btn-check)+.btn:active,

.btn-associate:active {

    --bs-btn-active-color: white;

    --bs-btn-active-bg: transparent;

    --bs-btn-active-border-color: white;

}



.navbar-main {

    background-color: #001f3f;

    padding: 0.5rem 0;

    position: relative;

    transition: background-color 0.3s ease;

}



.navbar-title-mobile {

    position: absolute;

    left: 50%;

    transform: translateX(-50%);

    z-index: 10;

    width: 100%;

    text-align: center;

    padding: 0.5rem 0;

}



.navbar-title-mobile h5 {

    color: white !important;

    font-weight: 600;

    margin: 0;

}



/* Navbar azul quando o t?tulo estiver vis?vel em mobile */

@media (max-width: 767.98px) {

    .navbar-main.show-title {

        background-color: var(--adurn-blue) !important;

    }

}



.navbar-brand {

    color: white !important;

    font-weight: bold;

    font-size: 1.5rem;

    display: flex;

    align-items: center;

    gap: 15px;

    text-decoration: none;

}



.logo-circle {

    width: 60px;

    height: 60px;

    background-color: white;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    padding: 8px;

}



.logo-circle img {

    width: 100%;

    height: 100%;

    object-fit: contain;

}



.logo-text {

    display: flex;

    flex-direction: column;

    line-height: 1.2;

}



.logo-text .sindicato {

    font-size: 0.9rem;

    font-weight: 300;

    text-transform: lowercase;

}



.logo-text .adurn {

    font-size: 1.8rem;

    font-weight: 700;

    letter-spacing: -0.5px;

    font-family: 'Open Sans', sans-serif;

}



.navbar-nav {

    display: flex;

    align-items: center;

}



.navbar-nav .nav-item {

    position: relative;

    display: flex;

    align-items: center;

}



.navbar-nav .nav-separator {

    width: 1px;

    height: 22px;

    background-color: rgba(255, 255, 255, 0.5);

    margin: 0 0.75rem;

    pointer-events: none;

    flex-shrink: 0;

    align-self: center;

}



.navbar-nav .nav-link {

    color: white !important;

    padding: 0.75rem 1.25rem;

    margin: 0;

    position: relative;

    z-index: 1;

    background-color: transparent;

}



.navbar-nav .nav-item .dropdown-menu {

    z-index: 1000;

}



.navbar-nav .nav-link:hover {

    background-color: rgba(255, 255, 255, 0.1);

}



.dropdown-menu {

    background-color: var(--adurn-blue);

    border: none;

    border-radius: 0;

}



.dropdown-item {

    color: white !important;

    padding: 1rem 1.5rem;

    text-decoration: none;

    line-height: 1.5;

}



.dropdown-item:hover {

    background-color: rgba(255, 255, 255, 0.15);

    color: white !important;

}



.dropdown-item-content {

    display: flex;

    align-items: flex-start;

    gap: 0.75rem;

}



.dropdown-item-icon {

    font-size: 1.4rem;

    color: white;

    flex-shrink: 0;

    margin-top: 0.15rem;

    opacity: 0.95;

}



.dropdown-item-text {

    display: flex;

    flex-direction: column;

    flex: 1;

    gap: 0.3rem;

}



.dropdown-item-title {

    font-weight: 600;

    font-size: 1rem;

    color: white !important;

    line-height: 1.4;

    margin: 0;

}



.dropdown-item-subtitle {

    font-size: 0.85rem;

    color: white !important;

    font-weight: 400;

    line-height: 1.4;

    margin: 0;

    opacity: 0.9;

}



/* Menu responsivo */

@media (max-width: 991px) {

    .navbar-collapse {

        text-align: left !important;

        justify-content: flex-start !important;

    }



    .navbar-nav {

        text-align: left !important;

        align-items: flex-start !important;

        margin: 0 !important;

        width: 100%;

    }



    .navbar-nav .nav-item {

        width: 100%;

    }



    .navbar-nav .nav-separator {

        display: none;

    }



    .navbar-nav .nav-link {

        padding: 0.75rem 1rem;

        margin: 0;

        text-align: left !important;

        justify-content: flex-start !important;

    }



    .dropdown-menu {

        margin-top: 0.5rem;

        position: static !important;

        float: none;

        width: 100%;

        margin-left: 0;

    }



    .dropdown-item {

        padding: 0.9rem 1.25rem;

    }



    .dropdown-item-icon {

        font-size: 1.3rem;

        margin-top: 0.1rem;

    }



    .dropdown-item-title {

        font-size: 0.95rem;

    }



    .dropdown-item-subtitle {

        font-size: 0.8rem;

    }



    .dropdown-item-content {

        gap: 0.7rem;

    }

}



.dropdown-toggle::after {

    margin-left: 0.5em;

}



.btn-associate {

    background-color: transparent;

    color: white;

    font-weight: 600;

    border: 1px solid transparent;

    padding: 0.75rem 1.25rem;

    transition: all 0.3s ease;

}



.btn-associate:hover,

.btn-associate:focus {

    background-color: white;

    color: var(--adurn-blue);

    border-color: white;

}



.btn-associate:active {

    background-color: transparent;

    color: white;

    border-color: white;

}



.btn-professor {

    background-color: transparent;

    color: white;

    border: 1px solid transparent;

    font-weight: 600;

    padding: 0.75rem 1.25rem;

    transition: all 0.3s ease;

}



.btn-professor:hover,

.btn-professor:focus {

    background-color: white;

    color: var(--adurn-blue);

    border-color: white;

}



.btn-professor:active {

    background-color: transparent;

    color: white;

    border-color: white;

}



/* Separador entre bot�es */

.btn-separator {

    width: 1px;

    height: 22px;

    background-color: rgba(255, 255, 255, 0.5);

    margin: 0 0.5rem;

}



/* Bot�es de filia��o - PROIFES e CUT */

.btn-proifes {

    background-color: #0066cc;

    color: white;

    border: none;

    padding: 0.75rem 2rem;

    font-weight: 600;

    text-transform: uppercase;

    transition: all 0.3s ease;

}



.btn-proifes:hover {

    background-color: #0052a3;

    color: white;

}



.btn-cut {

    background-color: #cc0000;

    color: white;

    border: none;

    padding: 0.75rem 2rem;

    font-weight: 600;

    text-transform: uppercase;

    transition: all 0.3s ease;

}



.btn-cut:hover {

    background-color: #a30000;

    color: white;

}



/* Bot�es primary com tema ADURN */

.btn-primary {

    background-color: var(--adurn-blue) !important;

    border-color: var(--adurn-blue) !important;

    color: white !important;

}



.btn-primary:hover {

    background-color: #002244 !important;

    border-color: #002244 !important;

    color: white !important;

}



.btn-primary:focus,

.btn-primary:active {

    background-color: var(--adurn-blue) !important;

    border-color: var(--adurn-blue) !important;

    color: white !important;

    box-shadow: 0 0 0 0.2rem rgba(0, 51, 102, 0.25) !important;

}



.navbar-nav {

    margin: 0 auto;

}



.navbar-nav .nav-link {

    text-align: center;

}



@media (min-width: 992px) {

    .navbar-nav {

        margin: 0 auto;

    }



    .navbar-nav .nav-link {

        text-align: center;

    }

}



.search-container {

    max-width: 400px;

    width: 100%;

}



.search-form-wrapper {

    position: absolute;

    left: 50%;

    transform: translateX(-50%);

    max-width: 590px;

    width: 100%;

    z-index: 10;

}



.search-container-center {

    position: relative;

    width: 100%;

}



.search-bar {

    background-color: white;

    border: none;

    color: #333;

    padding: 0.75rem 1rem;

}



.search-bar::placeholder {

    color: #999;

}



.search-bar:focus {

    background-color: white;

    border: none;

    color: #333;

    box-shadow: none;

    outline: none;

}



.search-container-center .btn-outline-light {

    background-color: white !important;

    border: none !important;

    color: var(--adurn-blue) !important;

    padding: 0.75rem 1.25rem;

}



.search-container-center .btn-outline-light:hover {

    background-color: #f8f9fa !important;

    border: none !important;

    color: var(--adurn-blue) !important;

}



.search-container-center .btn-outline-light i {

    color: var(--adurn-blue) !important;

}



/* Painel de sugest?es de busca */

.search-suggestions-panel {

    position: absolute;

    top: calc(100% + 0.25rem);

    left: 0;

    width: 100%;

    max-width: 590px;

    max-height: 400px;

    overflow-y: auto;

    background-color: white;

    border: 1px solid #ddd;

    border-radius: 0.375rem;

    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);

    z-index: 1000;

}



.search-suggestion-item {

    padding: 0.75rem 1rem;

    border-bottom: 1px solid #f0f0f0;

    cursor: pointer;

    display: flex;

    align-items: center;

    gap: 0.75rem;

    transition: background-color 0.2s;

    text-decoration: none;

    color: #333;

}



.search-suggestion-item:last-child {

    border-bottom: none;

}



.search-suggestion-item:hover {

    background-color: #f8f9fa;

    text-decoration: none;

    color: #333;

}



.search-suggestion-item.active {

    background-color: #e9ecef;

}



.search-suggestion-icon {

    color: var(--adurn-blue);

    font-size: 1.2rem;

    flex-shrink: 0;

}



.search-suggestion-text {

    flex: 1;

    font-size: 0.95rem;

}



.search-suggestion-title {

    font-weight: 600;

    color: #333;

    margin-bottom: 0.125rem;

}



.search-suggestion-type {

    font-size: 0.8rem;

    color: #666;

    text-transform: capitalize;

}



.search-suggestions-empty {

    padding: 1rem;

    text-align: center;

    color: #666;

    font-size: 0.9rem;

}



@media (max-width: 768px) {

    .search-form-wrapper {

        display: none !important;

    }



    .search-suggestions-panel {

        max-width: 100%;

    }

}



.navbar-toggler {

    border-color: rgba(255, 255, 255, 0.5);

}



.navbar-toggler-icon {

    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");

}



/* Carrossel responsivo para smartphones */

#featuredCarousel .carousel-item img {

    width: 100%;

    height: auto;

    object-fit: cover;

}



/* Altura fixa para desktop */

@media (min-width: 769px) {

    #featuredCarousel .carousel-item img {

        height: 500px;

        object-fit: cover;

    }

}



/* Ajuste de espa�amento entre legenda e indicadores */

#featuredCarousel .carousel-indicators {

    margin-bottom: 1rem;

}



#featuredCarousel .carousel-item .position-absolute {

    padding-bottom: 3rem !important;

    padding-left: 4rem !important;

    padding-right: 4rem !important;

}



@media (max-width: 768px) {

    #featuredCarousel .carousel-item {

        position: relative;

    }



    #featuredCarousel .carousel-item img {

        aspect-ratio: 1 / 1.05;

        object-fit: cover;

    }



    #featuredCarousel .carousel-item .position-absolute {

        padding-bottom: 2.5rem !important;

        padding-left: 2.5rem !important;

        padding-right: 2.5rem !important;

    }

}



/* Estilos para carrossel de parceiros */

.partner-logo {

    max-height: 150px;

    object-fit: contain;

    padding: 10px;

}



/* Estilos para cards de parceiros */

.partner-card {

    background-color: #ffffff;

    border-radius: 0.5rem;

    overflow: hidden;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

    transition: transform 0.3s ease, box-shadow 0.3s ease;

    height: 100%;

    display: flex;

    flex-direction: column;

}



.partner-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);

}



/* Estilos para p?gina de detalhes do parceiro (sem card) */



.partner-name {

    padding: 1rem 1.5rem;

    text-align: center;

    font-weight: 600;

    color: var(--adurn-blue);

    font-size: 1rem;

    border-top: 1px solid #e9ecef;

}



/* Carrossel simples de parceiros na home */

.partners-carousel-simple {

    width: 100%;

}



.partners-carousel-simple .carousel-inner {

    padding: 0;

    width: 100%;

}



.partners-carousel-simple .carousel-item {

    padding: 0;

    width: 100%;

}



.partners-carousel-simple .row {

    margin-left: 0 !important;

    margin-right: 0 !important;

    width: 100%;

}



.partners-carousel-simple .row>.col-lg-3 {

    flex: 0 0 25%;

    max-width: 25%;

    padding-left: 0.75rem;

    padding-right: 0.75rem;

}



.partners-carousel-simple .row>.col-md-6 {

    flex: 0 0 50%;

    max-width: 50%;

}



.partners-carousel-simple .row>.col-12 {

    flex: 0 0 100%;

    max-width: 100%;

}



.partners-carousel-simple .partner-card {

    width: 100%;

}



.partners-carousel-controls-simple {

    margin-top: 1.5rem;

    display: flex;

    justify-content: center;

    gap: 1rem;

}



.partners-carousel-controls-simple .btn {

    width: 48px;

    height: 48px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 0;

}



/* Altura uniforme para cards de not�cias e m�dia */

.card {

    border: none;

}



.card-img-top {

    height: 250px;

    object-fit: cover;

    border-radius: 0.375rem;

    width: 100%;

    display: block;

}



/* Overlay do ?cone de play para v?deos */

.card .position-relative {

    position: relative;

    display: block;

}



.video-play-overlay {

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    z-index: 10;

    pointer-events: none;

    display: flex;

    align-items: center;

    justify-content: center;

}



.video-play-overlay i {

    font-size: 3rem;

    opacity: 0.9;

    color: white !important;

    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);

}



.card-body {

    display: flex;

    flex-direction: column;

}



.card-text {

    margin-bottom: 0;

    font-weight: 600;

}



.card-text.mb-1 {

    margin-bottom: 0 !important;

}



.card-body small.timeago,

.card-body small.text-muted {

    margin-top: 0.125rem;

    display: block;

    line-height: 1.2;

}



/* Reduzir espa?amento entre t?tulo e timeago nos cards de m?dia */

.card-body .card-text+small {

    margin-top: 0.125rem;

}



.card-body small {

    margin-top: auto;

}



/* Centraliza��o do �cone de play */

.card.position-relative .position-absolute {

    pointer-events: none;

    z-index: 1;

}



/* Classes utilit�rias para cores */

.text-adurn-blue {

    color: var(--adurn-blue) !important;

}



.bg-adurn-blue {

    background-color: var(--adurn-blue) !important;

}



.bg-adurn-light {

    background-color: #ffcc99 !important;

}



/* Carrossel overlay de texto */

.carousel-overlay {

    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);

    text-align: center;

    display: flex;

    align-items: center;

    justify-content: center;

    padding-left: 4rem !important;

    padding-right: 4rem !important;

}



.carousel-overlay h3 {

    text-align: center;

    margin: 0 auto;

    width: 100%;

    max-width: 100%;

}



/* Controles do carrossel inicial */

#featuredCarousel .carousel-control-prev,

#featuredCarousel .carousel-control-next {

    width: 50px;

    height: 50px;

    top: 50%;

    transform: translateY(-50%);

    background-color: white;

    border-radius: 50%;

    opacity: 0.9;

    z-index: 10;

}



/* Esconder setas em smartphones */

@media (max-width: 768px) {



    #featuredCarousel .carousel-control-prev,

    #featuredCarousel .carousel-control-next {

        display: none;

    }

}



#featuredCarousel .carousel-control-prev {

    left: 20px;

}



#featuredCarousel .carousel-control-next {

    right: 20px;

}



#featuredCarousel .carousel-control-prev-icon,

#featuredCarousel .carousel-control-next-icon {

    filter: brightness(0) saturate(100%) invert(13%) sepia(94%) saturate(1352%) hue-rotate(183deg) brightness(0.2);

    width: 20px;

    height: 20px;

}



#featuredCarousel .carousel-control-prev:hover,

#featuredCarousel .carousel-control-next:hover {

    opacity: 1;

    background-color: white;

}



/* Cards clic�veis */

.card-clickable {

    cursor: pointer;

}



/* Se��es de destaque */

.feature-section {

    min-height: 400px;

    display: flex;

    flex-direction: column;

    justify-content: center;

}



/* Carrossel de parceiros - wrapper */

.partners-carousel-wrapper {

    position: relative;

    margin-bottom: 4rem;

}



/* Carrossel de parceiros - container com overflow */

#partnersCarousel {

    overflow: visible;

}



#partnersCarousel .carousel-inner {

    padding-left: calc((100vw - 1320px) / 2);

    padding-right: 0;

}



@media (max-width: 1400px) {

    #partnersCarousel .carousel-inner {

        padding-left: 15px;

    }

}



/* Linha de parceiros */

.partners-row {

    display: flex;

    gap: 2rem;

    align-items: center;

    flex-wrap: nowrap;

}



.partner-item {

    flex: 0 0 auto;

    display: flex;

    align-items: center;

    justify-content: center;

    min-width: 250px;

}



/* Bot�es do carrossel de parceiros - embaixo e centralizados */

.partners-carousel-controls {

    display: flex;

    justify-content: center;

    gap: 1rem;

    margin-top: 2rem;

    position: relative;

}



.partners-carousel-control {

    width: 50px;

    height: 50px;

    position: relative;

    top: auto;

    left: auto;

    right: auto;

    transform: none;

    background-color: var(--adurn-blue);

    border-radius: 50%;

    opacity: 0.9;

    border: none;

}



.partners-carousel-control:hover {

    opacity: 1;

}



.partners-carousel-control-prev {

    margin-right: 0;

}



.partners-carousel-control-next {

    margin-left: 0;

}



.partners-carousel-control-icon {

    filter: brightness(0) invert(1);

}



/* �cone de play */

.play-icon {

    font-size: 4rem;

    opacity: 0.8;

}



/* Imagens de app stores */

.app-store-img {

    height: auto;

    width: auto;

}



/* Anima��es de carregamento */

@keyframes fadeInUp {

    from {

        opacity: 0;

        transform: translateY(30px);

    }



    to {

        opacity: 1;

        transform: translateY(0);

    }

}



@keyframes fadeIn {

    from {

        opacity: 0;

    }



    to {

        opacity: 1;

    }

}



@keyframes slideInLeft {

    from {

        opacity: 0;

        transform: translateX(-30px);

    }



    to {

        opacity: 1;

        transform: translateX(0);

    }

}



@keyframes slideInRight {

    from {

        opacity: 0;

        transform: translateX(30px);

    }



    to {

        opacity: 1;

        transform: translateX(0);

    }

}



/* Classes de anima��o */

.animate-on-scroll {

    opacity: 0;

    transition: opacity 0.6s ease-out, transform 0.6s ease-out;

}



.animate-on-scroll.animated {

    opacity: 1;

}



.fade-in-up {

    animation: fadeInUp 0.8s ease-out forwards;

}



.fade-in {

    animation: fadeIn 0.8s ease-out forwards;

}



.slide-in-left {

    animation: slideInLeft 0.8s ease-out forwards;

}



.slide-in-right {

    animation: slideInRight 0.8s ease-out forwards;

}



/* Delay para anima��es em sequ�ncia */

.animate-delay-1 {

    animation-delay: 0.1s;

}



.animate-delay-2 {

    animation-delay: 0.2s;

}



.animate-delay-3 {

    animation-delay: 0.3s;

}



.animate-delay-4 {

    animation-delay: 0.4s;

}



.animate-delay-5 {

    animation-delay: 0.5s;

}



.animate-delay-6 {

    animation-delay: 0.6s;

}



/* Podcast cover */

.podcast-cover {

    max-width: 300px;

}



/* Social Media Cards */

.social-media-card {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    padding: 1.5rem 1.25rem;

    border-radius: 1rem;

    text-align: center;

    transition: all 0.3s ease;

    height: 100%;

    min-height: 180px;

    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);

}



.social-media-card:hover {

    transform: translateY(-10px);

    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);

}



.social-media-icon {

    width: 70px;

    height: 70px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 1rem;

    font-size: 2rem;

    color: white;

    transition: all 0.3s ease;

}



.social-media-card:hover .social-media-icon {

    transform: scale(1.1);

}



.social-media-title {

    color: white;

    font-size: 1.25rem;

    font-weight: 600;

    margin-bottom: 0.75rem;

}



.social-media-description {

    color: rgba(255, 255, 255, 0.9);

    font-size: 0.85rem;

    margin: 0;

}



/* Instagram Card */

.social-instagram {

    background: linear-gradient(135deg, #833ab4 0%, #fd1d1d 50%, #fcb045 100%);

}



.social-instagram:hover {

    background: linear-gradient(135deg, #9a4fc7 0%, #ff2e2e 50%, #ffc055 100%);

}



/* Facebook Card */

.social-facebook {

    background: linear-gradient(135deg, #1877f2 0%, #0d5fbd 100%);

}



.social-facebook:hover {

    background: linear-gradient(135deg, #2980f3 0%, #1d6fd0 100%);

}



/* YouTube Card */

.social-youtube {

    background: linear-gradient(135deg, #ff0000 0%, #cc0000 100%);

}



.social-youtube:hover {

    background: linear-gradient(135deg, #ff1a1a 0%, #d90000 100%);

}



/* Legal Assistance Card */

.legal-assistance-card {

    overflow: hidden;

    transition: all 0.3s ease;

}



.legal-assistance-image {

    height: 100%;

    min-height: 400px;

    overflow: hidden;

    display: flex;

    align-items: center;

    justify-content: center;

}



.legal-assistance-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform 0.3s ease;

}



.legal-assistance-card:hover .legal-assistance-image img {

    transform: scale(1.05);

}



.legal-assistance-image .app-devices-wrapper {

    width: 100%;

    height: 100%;

    padding: 2rem;

    min-height: auto;

}



.legal-assistance-image .app-arrow {

    color: var(--adurn-blue);

    font-size: 3rem;

}



.legal-assistance-image .app-carteira,

.legal-assistance-image .app-phone {

    filter: drop-shadow(0 5px 15px rgba(0, 0, 0, 0.2));

}



.legal-assistance-content {

    padding: 3rem;

    position: relative;

}



.legal-assistance-icon {

    width: 80px;

    height: 80px;

    background: linear-gradient(135deg, var(--adurn-blue) 0%, #001f3f 100%);

    border-radius: 1rem;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 2rem;

    box-shadow: 0 4px 15px rgba(0, 51, 102, 0.3);

}



.legal-assistance-icon i {

    font-size: 2.5rem;

    color: white;

}



.legal-assistance-title {

    color: var(--adurn-blue);

    font-size: 2rem;

    font-weight: 700;

    margin-bottom: 1.5rem;

    line-height: 1.3;

}



.legal-assistance-text {

    color: #666;

    font-size: 1.1rem;

    line-height: 1.8;

    margin-bottom: 2rem;

}



.legal-assistance-btn {

    padding: 0.875rem 2rem;

    font-weight: 600;

    border-radius: 0.5rem;

    transition: all 0.3s ease;

}



.legal-assistance-btn:hover {

    transform: translateX(5px);

}



@media (max-width: 768px) {

    .legal-assistance-image {

        min-height: 250px;

    }



    .legal-assistance-image .app-devices-wrapper {

        flex-direction: column;

        gap: 1.5rem;

        padding: 1.5rem;

    }



    .legal-assistance-image .app-arrow {

        transform: rotate(90deg);

        font-size: 2rem;

    }



    .legal-assistance-image .app-carteira {

        max-width: 200px;

    }



    .legal-assistance-image .app-phone {

        max-width: 150px;

    }



    .legal-assistance-content {

        padding: 2rem 1.5rem;

    }



    .legal-assistance-title {

        font-size: 1.5rem;

    }



    .legal-assistance-text {

        font-size: 1rem;

    }

}



/* Feature Card - Design moderno com imagem e conte?do */

.feature-card {

    background-color: #ffffff;

    border-radius: 0.5rem;

    overflow: hidden;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

}



.feature-card .row {

    min-height: 400px;

}



.feature-image {

    height: 100%;

    overflow: hidden;

    display: flex;

    align-items: stretch;

    padding: 0;

}



.feature-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

    flex: 1;

}



.feature-content {

    padding: 3rem;

    background-color: #ffffff;

    display: flex;

    flex-direction: column;

    height: 100%;

}



.feature-title {

    color: #1a1a1a;

    font-size: 2rem;

    font-weight: 700;

    margin-bottom: 2rem;

    line-height: 1.3;

}



.feature-features {

    margin-bottom: 2.5rem;

    flex: 1;

}



.feature-item {

    display: flex;

    align-items: flex-start;

    gap: 1rem;

    margin-bottom: 1.5rem;

}



.feature-item:last-child {

    margin-bottom: 0;

}



.feature-icon {

    width: 48px;

    height: 48px;

    min-width: 48px;

    background-color: #f8f9fa;

    border-radius: 0.5rem;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

}



.feature-icon i {

    font-size: 1.5rem;

    color: var(--adurn-blue);

}



.feature-text {

    flex: 1;

}



.feature-text p {

    color: #333;

    font-size: 1rem;

    line-height: 1.6;

    margin: 0;

}



.feature-btn {

    display: inline-block;

    background-color: var(--adurn-blue);

    color: #ffffff;

    padding: 1rem 2.5rem;

    font-size: 1.1rem;

    font-weight: 600;

    border-radius: 0.5rem;

    text-decoration: none;

    transition: all 0.3s ease;

    border: none;

    cursor: pointer;

    box-shadow: 0 2px 8px rgba(0, 51, 102, 0.2);

    align-self: flex-start;

}



.feature-btn:hover {

    background-color: #002244;

    color: #ffffff;

    transform: translateY(-2px);

    box-shadow: 0 4px 12px rgba(0, 51, 102, 0.4);

}



@media (max-width: 768px) {

    .feature-image {

        min-height: 250px;

    }



    .feature-content {

        padding: 2rem 1.5rem;

    }



    .feature-title {

        font-size: 1.5rem;

        margin-bottom: 1.5rem;

    }



    .feature-item {

        margin-bottom: 1.25rem;

    }



    .feature-icon {

        width: 40px;

        height: 40px;

        min-width: 40px;

    }



    .feature-icon i {

        font-size: 1.25rem;

    }



    .feature-text p {

        font-size: 0.95rem;

    }



    .feature-btn {

        width: 100%;

        text-align: center;

        padding: 0.875rem 2rem;

        font-size: 1rem;

    }

}



/* App Section */

.app-section {

    background-color: var(--adurn-blue);

    color: white;

    position: relative;

    overflow: hidden;

    padding: 5rem 0 !important;

}



.app-section .container {

    position: relative;

    z-index: 1;

}



.app-section-title {

    color: white;

    font-size: 2.5rem;

    font-weight: 700;

    line-height: 1.2;

}



.app-section-text {

    color: rgba(255, 255, 255, 0.9);

    font-size: 1.1rem;

    line-height: 1.8;

}



.app-store-btn {

    display: inline-block;

    transition: transform 0.3s ease;

}



.app-store-btn:hover {

    transform: scale(1.05);

}



.app-devices-wrapper {

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 3rem;

    padding: 3rem 0;

    min-height: 400px;

}



.app-carteira {

    max-width: 320px;

    width: 100%;

    z-index: 2;

    position: relative;

    animation: float 3s ease-in-out infinite;

    filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.3));

}



.app-phone {

    max-width: 240px;

    width: 100%;

    z-index: 3;

    position: relative;

    animation: float 3s ease-in-out infinite 0.5s;

    filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.3));

}



.app-arrow {

    font-size: 4rem;

    color: white;

    z-index: 1;

    animation: pulse 2s ease-in-out infinite;

    opacity: 0.9;

}



@keyframes float {



    0%,

    100% {

        transform: translateY(0);

    }



    50% {

        transform: translateY(-10px);

    }

}



@keyframes pulse {



    0%,

    100% {

        opacity: 1;

    }



    50% {

        opacity: 0.6;

    }

}



@media (max-width: 768px) {

    .app-section {

        padding: 3rem 0 !important;

    }



    .app-section-title {

        font-size: 2rem;

    }



    .app-section-text {

        font-size: 1rem;

    }



    .app-devices-wrapper {

        flex-direction: column;

        gap: 1.5rem;

        margin-top: 2rem;

        min-height: auto;

        padding: 2rem 0;

    }



    .app-arrow {

        transform: rotate(90deg);

        font-size: 2.5rem;

    }



    .app-carteira {

        max-width: 220px;

    }



    .app-phone {

        max-width: 180px;

    }

}



/* New App Section - Step Cards */

.app-section-main-title {

    color: #1a1a1a;

    font-size: 2.5rem;

    font-weight: 700;

    line-height: 1.3;

    margin-bottom: 3rem;

}



.app-step-card {

    background-color: #ffffff;

    border-radius: 0.75rem;

    overflow: hidden;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

    display: flex;

    flex-direction: column;

    height: 100%;

    transition: transform 0.3s ease, box-shadow 0.3s ease;

}



.app-step-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);

}



.app-step-image {

    width: 100%;

    padding: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    background: linear-gradient(180deg, #ffffff 0%, #e9ecef 100%)

}



.app-step-image img {

    width: auto;

    height: auto;

    max-width: 100%;

    display: block;

    object-fit: contain;

}



.app-step-content {

    padding: 2rem;

    flex: 1;

    display: flex;

    flex-direction: column;

}



.app-step-number {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 36px;

    height: 36px;

    background-color: var(--adurn-blue);

    color: #ffffff;

    border-radius: 50%;

    font-size: 1.1rem;

    font-weight: 700;

    margin-bottom: 1rem;

}



.app-step-title {

    color: #1a1a1a;

    font-size: 1.5rem;

    font-weight: 700;

    margin-bottom: 1rem;

    line-height: 1.3;

}



.app-step-text {

    color: #666;

    font-size: 1rem;

    line-height: 1.6;

    margin: 0;

    flex: 1;

}



.app-store-link {

    display: inline-block;

    transition: transform 0.3s ease;

}



.app-store-link:hover {

    transform: scale(1.05);

}



@media (max-width: 768px) {

    .app-section-main-title {

        font-size: 1.75rem;

        margin-bottom: 2rem;

    }



    .app-step-content {

        padding: 1.5rem;

    }



    .app-step-title {

        font-size: 1.25rem;

    }



    .app-step-number {

        width: 32px;

        height: 32px;

        font-size: 1rem;

    }



    .app-step-text {

        font-size: 0.95rem;

    }

}



/* History Page Styles */

.history-content {

    line-height: 1.8;

    color: #333;

}



.history-intro {

    border-bottom: 2px solid var(--adurn-blue);

    padding-bottom: 2rem;

}



.history-intro .lead {

    font-size: 1.25rem;

    font-weight: 600;

    color: var(--adurn-blue);

    margin-bottom: 1.5rem;

}



.history-intro p {

    margin-bottom: 1.25rem;

    text-align: justify;

}



/* Nova Timeline - Vers?o Responsiva */

.history-timeline-new {

    position: relative;

    padding-left: 0;

    margin: 2rem 0;

}



.history-timeline-new::before {

    content: '';

    position: absolute;

    left: 15px;

    top: 0;

    bottom: 0;

    width: 3px;

    background-color: var(--adurn-blue);

    z-index: 1;

}



.history-item {

    position: relative;

    margin-bottom: 3rem;

    padding-left: 3.5rem;

}



.history-marker {

    position: absolute;

    left: 6px;

    top: 0.5rem;

    width: 18px;

    height: 18px;

    background-color: var(--adurn-blue);

    border-radius: 50%;

    border: 4px solid white;

    box-shadow: 0 0 0 3px var(--adurn-blue);

    z-index: 2;

}



.history-content-wrapper {

    position: relative;

}



.history-year-title {

    font-size: 1.75rem;

    font-weight: 700;

    margin-bottom: 1rem;

}



.history-text {

    padding: 0;

}



.history-text p {

    margin-bottom: 1.25rem;

    text-align: justify;

    line-height: 1.7;

}



.history-text p:last-child {

    margin-bottom: 0;

}



.history-callout {

    border-left: 4px solid var(--adurn-blue);

}



.history-callout h4 {

    font-size: 1.5rem;

    font-weight: 600;

}



.history-callout a:hover {

    text-decoration: underline !important;

}



/* Responsive */

@media (max-width: 992px) {

    .history-timeline-new::before {

        left: 12px;

    }



    .history-item {

        padding-left: 3rem;

    }



    .history-marker {

        left: 3px;

        width: 16px;

        height: 16px;

        border-width: 3px;

        box-shadow: 0 0 0 2px var(--adurn-blue);

    }



    .history-year-title {

        font-size: 1.5rem;

    }

}



@media (max-width: 768px) {

    .history-timeline-new {

        padding-left: 0;

        margin: 1.5rem 0;

    }



    .history-timeline-new::before {

        left: 10px;

    }



    .history-item {

        padding-left: 2.5rem;

        margin-bottom: 2.5rem;

    }



    .history-marker {

        left: 1px;

        width: 14px;

        height: 14px;

        border-width: 2px;

        box-shadow: 0 0 0 2px var(--adurn-blue);

        top: 0.4rem;

    }



    .history-year-title {

        font-size: 1.35rem;

        margin-bottom: 0.75rem;

    }



    .history-text p {

        font-size: 0.95rem;

        margin-bottom: 1rem;

    }



    .history-intro .lead {

        font-size: 1.1rem;

    }

}



@media (max-width: 576px) {

    .history-item {

        padding-left: 2rem;

        margin-bottom: 2rem;

    }



    .history-timeline-new::before {

        left: 8px;

    }



    .history-marker {

        left: 0;

        width: 12px;

        height: 12px;

    }



    .history-year-title {

        font-size: 1.25rem;

    }

}



/* Footer Custom Styles */

.footer-custom {

    background-color: #F5F6F7;

    color: #878787;

    font-size: 0.9rem;

}



.footer-custom .footer-contacts {

    background-color: var(--adurn-blue) !important;

}



.footer-custom .footer-main {

    background-color: #F5F6F7;

}



.footer-custom .footer-contact {

    color: #FFF;

    font-size: 1.4rem !important;

    font-weight: bold !important;

    line-height: 1.2 !important;

}



.footer-custom .footer-contact i {

    color: #FFF;

    font-size: 1.4rem !important;

    vertical-align: middle !important;

}



.footer-custom .footer-phone,

.footer-custom .footer-email {

    color: #FFF;

    font-weight: bold !important;

    font-size: 1.4rem !important;

}



.footer-custom .footer-separator {

    margin: 0 0.5rem;

    color: #FFF;

    font-weight: bold !important;

    font-size: 1.4rem !important;

}



.footer-custom .text-white-50 {

    color: #878787 !important;

}



.footer-custom h5 {

    color: #003366;

    font-size: 0.95rem;

    font-weight: 600;

    border-bottom: 1px solid #E5E5E5;

    padding-top: 0.75rem;

    padding-bottom: 0.75rem;

    margin-bottom: 1rem;

}



.footer-custom a {

    color: #878787;

    font-size: 0.9rem;

}



.footer-custom a:hover {

    color: var(--adurn-blue);

}



.footer-custom p {

    color: #878787;

    font-size: 0.9rem;

}



.footer-custom .border-top {

    border-color: #E5E5E5 !important;

}



/* Pagination Styles */

.pagination {

    margin: 0;

    padding: 0;

    flex-wrap: wrap;

}



.pagination .page-link {

    padding: 0.5rem 0.75rem;

    color: var(--adurn-blue);

    border-color: #dee2e6;

    min-width: 44px;

    text-align: center;

}



.pagination .page-item.active .page-link {

    background-color: var(--adurn-blue);

    border-color: var(--adurn-blue);

    color: white;

}



.pagination .page-item.disabled .page-link {

    color: #6c757d;

    pointer-events: none;

    background-color: #fff;

    border-color: #dee2e6;

}



.pagination .page-link:hover:not(.disabled) {

    background-color: #e9ecef;

    border-color: #dee2e6;

    color: var(--adurn-blue);

}



.pagination .page-item.disabled span.page-link {

    background-color: transparent;

    border-color: #dee2e6;

    color: #6c757d;

    cursor: default;

}



@media (max-width: 576px) {

    .pagination {

        font-size: 0.875rem;

    }



    .pagination .page-link {

        padding: 0.375rem 0.5rem;

        min-width: 36px;

    }

}



/* Modo Teatro do V?deo (YouTube-style com fundo preto) */

.video-theater-section {

    background-color: #000;

    padding: 0;

    margin: 0;

    width: 100%;

    display: flex;

    justify-content: center;

    align-items: center;

    min-height: 60vh;

}



/* Classes utilit?rias para remover estilos inline */

.bg-light-gray {

    background-color: #f5f5f5 !important;

}



.app-store-img {

    height: auto;

    width: auto;

    max-width: none;

    max-height: none;

}



.podcast-cover-img {

    max-width: 300px;

}



.video-theater-container {

    max-width: 1280px;

    width: 100%;

    margin: 0 auto;

    padding: 0;

}



.video-theater-container .ratio {

    margin: 0;

    border-radius: 0;

    overflow: hidden;

}



.video-info {

    max-width: 100%;

}



.video-info h1 {

    font-size: 1.5rem;

    font-weight: 600;

    line-height: 1.4;

}



@media (min-width: 768px) {

    .video-info h1 {

        font-size: 1.75rem;

    }

}



@media (min-width: 992px) {

    .video-info h1 {

        font-size: 2rem;

    }

}



/* Conselho Styles */

.conselho-item {

    border: 1px solid #e9ecef;

    border-radius: 0.5rem;

    margin-bottom: 0.75rem;

    transition: all 0.3s ease;

    padding: 1.25rem;

}



.conselho-item:hover {

    background-color: #f8f9fa;

    border-color: var(--adurn-blue);

    transform: translateX(5px);

    box-shadow: 0 2px 8px rgba(0, 51, 102, 0.1);

}



.conselho-item h6 {

    font-weight: 600;

    margin-bottom: 0.5rem;

}



.conselho-item .bi-download {

    transition: transform 0.3s ease;

}



.conselho-item:hover .bi-download {

    transform: scale(1.2);

}



@media (max-width: 768px) {

    .conselho-item {

        padding: 1rem;

    }



    .conselho-item h6 {

        font-size: 0.95rem;

    }

}



/* Loading Overlay */

.loading-overlay {

    position: fixed;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    background-color: rgba(255, 255, 255, 0.8);

    z-index: 9999;

    display: flex;

    align-items: center;

    justify-content: center;

}



.loading-spinner {

    text-align: center;

}



.loading-spinner .spinner-border {

    width: 3rem;

    height: 3rem;

    border-width: 0.3rem;

    color: var(--adurn-blue);

}



/* Nossos Valores Styles */

.valores-lista {

    display: flex;

    flex-direction: column;

}



.valor-item {

    border: none;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

    transition: transform 0.3s ease, box-shadow 0.3s ease;

    overflow: hidden;

    background-color: #ffffff;

    border-radius: 0.5rem;

}



.valores-card {

    border: none;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

    transition: transform 0.3s ease, box-shadow 0.3s ease;

    overflow: hidden;

    height: 100%;

    display: flex;

    flex-direction: column;

}



.valores-card-clickable {

    cursor: pointer;

}



.valores-card-clickable:hover {

    transform: translateY(-5px);

    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);

}





.valor-conteudo-lista {

    display: flex;

    flex-direction: column;

    justify-content: center;

    height: 100%;

}



.valor-item .row {

    margin-left: 0;

    margin-right: 0;

}



.valor-item .row>[class*="col-"] {

    padding-left: 0.5rem;

    padding-right: 0.5rem;

}



.valor-item .row>[class*="col-"]:first-child {

    padding-left: 0.75rem;

    padding-right: 0.25rem;

}



.valor-item .row>[class*="col-"]:last-child {

    padding-left: 0.25rem;

    padding-right: 0.75rem;

}



.valor-titulo-lista {

    font-size: 1.5rem;

    font-weight: 700;

    margin-bottom: 0.5rem;

}



.valor-nome-lista {

    font-size: 1.1rem;

    color: #333;

    margin-bottom: 0.5rem;

}



.valor-chamada-lista {

    font-size: 1rem;

    line-height: 1.6;

}



.valores-imagem-wrapper {

    width: 100%;

    height: 250px;

    overflow: hidden;

    background-color: #f8f9fa;

    display: flex;

    align-items: center;

    justify-content: center;

}



.valores-imagem {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform 0.3s ease;

}



.valores-card:hover .valores-imagem {

    transform: scale(1.05);

}



.valores-card .card-body {

    padding: 1.5rem;

    display: flex;

    flex-direction: column;

    flex-grow: 1;

}



.valores-card .card-title {

    font-size: 1.25rem;

    font-weight: 700;

    margin-bottom: 0.75rem;

}



.valores-descricao {

    font-size: 0.95rem;

    line-height: 1.6;

    color: #333;

    flex-grow: 1;

}



.valores-descricao p {

    margin-bottom: 0.75rem;

}



.valores-descricao p:last-child {

    margin-bottom: 0;

}



.valor-imagem-detalhe {

    text-align: center;

}



.valor-imagem-detalhe img {

    max-width: 100%;

    height: auto;

    border-radius: 0.5rem;

}



.valor-info h3 {

    font-size: 1.75rem;

    font-weight: 700;

}



.valor-descricao-completa {

    font-size: 1.05rem;

    line-height: 1.8;

    color: #333;

}



.valor-descricao-completa p {

    margin-bottom: 1.25rem;

    text-align: justify;

}



.valor-descricao-completa p:last-child {

    margin-bottom: 0;

}



.valor-descricao-completa img {

    max-width: 100%;

    height: auto;

    border-radius: 0.5rem;

    margin: 1rem 0;

}



/* Loading Indicator para Valores */

#loading-indicator {

    padding: 2rem 0;

    min-height: 150px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

}



#loading-indicator .spinner-border {

    width: 3rem;

    height: 3rem;

    border-width: 0.3rem;

    animation: spinner-border 0.75s linear infinite;

}



#loading-indicator p {

    margin-top: 1rem;

    font-size: 1.1rem;

    font-weight: 500;

    color: var(--adurn-blue);

}



@media (max-width: 768px) {

    .valores-imagem-wrapper {

        height: 200px;

    }



    .valores-card .card-title {

        font-size: 1.1rem;

    }



    .valores-descricao {

        font-size: 0.9rem;

    }



    .valor-info h3 {

        font-size: 1.5rem;

    }



    .valor-descricao-completa {

        font-size: 1rem;

    }



    .valor-item {

        margin-bottom: 1.5rem !important;

    }





    .valor-titulo-lista {

        font-size: 1.25rem;

    }



    .valor-nome-lista {

        font-size: 1rem;

    }



    .valor-chamada-lista {

        font-size: 0.95rem;

    }



    .valor-conteudo-lista {

        padding: 1rem !important;

    }



    #loading-indicator {

        padding: 1.5rem 0;

        min-height: 120px;

    }



    #loading-indicator .spinner-border {

        width: 2.5rem;

        height: 2.5rem;

    }



    #loading-indicator p {

        font-size: 1rem;

    }

}



/* Diretoria Styles */

.diretoria-seletor {

    margin-bottom: 2rem;

}



.diretoria-seletor label {

    display: block;

    margin-bottom: 0.5rem;

    font-size: 1.1rem;

}



.diretoria-seletor select {

    border: 2px solid var(--adurn-blue);

    border-radius: 0.5rem;

    padding: 0.75rem 1rem;

    font-size: 1rem;

    transition: all 0.3s ease;

}



.diretoria-seletor select:focus {

    outline: none;

    border-color: #002244;

    box-shadow: 0 0 0 3px rgba(0, 51, 102, 0.1);

}



.gestao-periodo {

    margin-bottom: 4rem;

    animation: fadeIn 0.5s ease-in;

}



@keyframes fadeIn {

    from {

        opacity: 0;

        transform: translateY(10px);

    }



    to {

        opacity: 1;

        transform: translateY(0);

    }

}



.gestao-titulo-wrapper {

    text-align: center;

    margin-bottom: 2.5rem;

}



.gestao-titulo {

    margin: 0;

    padding: 0;

}



.gestao-badge {

    display: inline-block;

    background: linear-gradient(135deg, var(--adurn-blue) 0%, #002244 100%);

    color: #ffffff;

    padding: 1rem 2.5rem;

    border-radius: 50px;

    font-size: 1.5rem;

    font-weight: 700;

    box-shadow: 0 4px 15px rgba(0, 51, 102, 0.3);

    position: relative;

    overflow: hidden;

    transition: all 0.3s ease;

}



.gestao-badge::before {

    content: '';

    position: absolute;

    top: 0;

    left: -100%;

    width: 100%;

    height: 100%;

    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);

    transition: left 0.5s ease;

}



.gestao-badge:hover::before {

    left: 100%;

}



.gestao-badge:hover {

    transform: translateY(-2px);

    box-shadow: 0 6px 20px rgba(0, 51, 102, 0.4);

}



.gestao-badge i {

    font-size: 1.3rem;

}



@media (max-width: 768px) {

    .gestao-badge {

        font-size: 1.25rem;

        padding: 0.75rem 2rem;

    }



    .gestao-badge i {

        font-size: 1.1rem;

    }

}



.diretoria-card {

    border: none;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

    transition: transform 0.3s ease, box-shadow 0.3s ease;

    overflow: hidden;

}



.diretoria-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);

}



.diretoria-foto-wrapper {

    width: 100%;

    height: 300px;

    overflow: hidden;

    background-color: #f8f9fa;

    display: flex;

    align-items: center;

    justify-content: center;

}



.diretoria-foto {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform 0.3s ease;

}



.diretoria-card:hover .diretoria-foto {

    transform: scale(1.05);

}



.diretoria-card .card-body {

    padding: 1.5rem;

}



.diretoria-card .card-title {

    font-size: 1.1rem;

    font-weight: 600;

    color: var(--adurn-blue);

    margin-bottom: 0.5rem;

}



.diretoria-card .card-text {

    font-size: 0.95rem;

    color: #6c757d;

}



@media (max-width: 768px) {

    .gestao-periodo h2 {

        font-size: 1.75rem;

    }



    .diretoria-foto-wrapper {

        height: 250px;

    }



    .diretoria-card .card-title {

        font-size: 1rem;

    }



    .diretoria-card .card-text {

        font-size: 0.9rem;

    }

}



/* Mobile Bottom Toolbar */

.mobile-bottom-toolbar {

    position: fixed;

    bottom: 0;

    left: 0;

    right: 0;

    background-color: var(--adurn-blue);

    display: flex;

    justify-content: space-around;

    align-items: center;

    padding: 0.75rem 0;

    z-index: 1;

    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);

    border-top: 1px solid rgba(255, 255, 255, 0.1);

}



.toolbar-item {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    color: white;

    cursor: pointer;

    padding: 0.5rem 1rem;

    transition: all 0.3s ease;

    flex: 1;

    text-align: center;

}



.toolbar-item i {

    font-size: 1.5rem;

    margin-bottom: 0.25rem;

}



.toolbar-item span {

    font-size: 0.75rem;

    font-weight: 500;

}



.toolbar-item:hover,

.toolbar-item:active {

    background-color: rgba(255, 255, 255, 0.1);

    color: white;

}



.toolbar-item:active {

    transform: scale(0.95);

}



/* Mobile Search Overlay */

/* Mobile Menu Overlay */

.mobile-menu-overlay {

    position: fixed;

    top: 0;

    left: 0;

    right: 0;

    bottom: 80px;

    /* Deixar espa?o para a toolbar */

    background-color: white;

    z-index: 1055;

    display: none;

    flex-direction: column;

    overflow-y: auto;

}



.mobile-menu-overlay.show {

    display: flex;

}



.mobile-menu-container {

    width: 100%;

    height: 100%;

    display: flex;

    flex-direction: column;

    padding: 1rem;

    padding-top: 2rem;

}



.mobile-menu-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 1.5rem;

    flex-shrink: 0;

    background-color: var(--adurn-blue);

    padding: 1rem;

    margin: -1rem -1rem 1.5rem -1rem;

}



.mobile-menu-title {

    font-size: 1.5rem;

    font-weight: 600;

    color: #FFF;

    margin: 0;

}



.mobile-menu-content {

    flex: 1;

    overflow-y: auto;

}



.mobile-menu-list {

    list-style: none;

    padding: 0;

    margin: 0;

}



.mobile-menu-item {

    border-bottom: 1px solid #e0e0e0;

}



.mobile-menu-link {

    display: flex;

    align-items: center;

    padding: 1rem;

    text-decoration: none;

    color: #333;

    transition: background-color 0.2s ease, color 0.2s ease;

}



.mobile-menu-link:hover,

.mobile-menu-link:active {

    background-color: #f8f9fa;

    color: var(--adurn-blue);

}



.mobile-menu-link i {

    font-size: 1.25rem;

    width: 2rem;

    text-align: center;

}



.mobile-search-overlay {

    position: fixed;

    top: 0;

    left: 0;

    right: 0;

    bottom: 80px;

    /* Deixar espa?o para a toolbar */

    background-color: white;

    z-index: 1055;

    display: none;

    flex-direction: column;

}



.mobile-search-overlay.show {

    display: flex;

}



.mobile-search-container {

    background-color: white;

    width: 90%;

    max-width: 500px;

    border-radius: 0.5rem;

    padding: 1.5rem;

    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);

    transform: translateY(-20px);

    transition: transform 0.3s ease;

}



.mobile-search-overlay.show .mobile-search-container {

    transform: translateY(0);

}



.mobile-search-container-full {

    background-color: white;

    width: 100%;

    height: 100%;

    display: flex;

    flex-direction: column;

    padding: 1rem;

    padding-top: 2rem;

    overflow: hidden;

}



.mobile-search-header {

    display: flex;

    justify-content: flex-end;

    align-items: center;

    margin-bottom: 1rem;

}



.mobile-search-form .input-group {

    width: 100%;

}



.mobile-search-form .form-control {

    border: 2px solid #e0e0e0;

    border-radius: 0.375rem 0 0 0.375rem;

    padding: 0.75rem 1rem;

}



.mobile-search-form .form-control:focus {

    border-color: var(--adurn-blue);

    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);

}



.mobile-search-form .btn-primary {

    border-radius: 0 0.375rem 0.375rem 0;

    padding: 0.75rem 1.25rem;

    background-color: var(--adurn-blue);

    border-color: var(--adurn-blue);

}



.mobile-search-form .btn-primary:hover {

    background-color: #0056b3;

    border-color: #0056b3;

}



.mobile-search-container-full .mobile-search-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 1.5rem;

    flex-shrink: 0;

    background-color: var(--adurn-blue);

    padding: 1rem;

    margin: -1rem -1rem 1.5rem -1rem;

}



.mobile-search-container-full .mobile-search-form {

    flex-shrink: 0;

    margin-bottom: 1rem;

}



.mobile-search-suggestions {

    flex: 1;

    overflow-y: auto;

    display: none;

    margin-top: 1rem;

    padding-top: 1rem;

    border-top: 1px solid #e0e0e0;

}



.mobile-search-suggestions .search-suggestion-item {

    display: flex;

    align-items: center;

    padding: 1rem;

    border-bottom: 1px solid #f0f0f0;

    text-decoration: none;

    color: #333;

    transition: background-color 0.2s ease;

}



.mobile-search-suggestions .search-suggestion-item:hover,

.mobile-search-suggestions .search-suggestion-item:active {

    background-color: #f8f9fa;

    color: var(--adurn-blue);

}



.mobile-search-suggestions .search-suggestion-icon {

    font-size: 1.5rem;

    color: var(--adurn-blue);

    margin-right: 1rem;

    flex-shrink: 0;

}



.mobile-search-suggestions .search-suggestion-text {

    flex: 1;

}



.mobile-search-suggestions .search-suggestion-title {

    font-weight: 600;

    margin-bottom: 0.25rem;

    color: #333;

}



.mobile-search-suggestions .search-suggestion-type {

    font-size: 0.875rem;

    color: #6c757d;

}



.mobile-search-suggestions .search-suggestions-empty {

    text-align: center;

    padding: 2rem;

    color: #6c757d;

}



/* Ajustar padding do body em mobile para n?o sobrepor o toolbar */

@media (max-width: 767.98px) {

    .video-theater-section {

        min-height: auto;

    }



    body {

        padding-top: 66px;

        /* Espa?o para os dois navbars fixos */

        padding-bottom: 70px;

    }



    .navbar-top {

        padding: 0.75rem 0;

        position: fixed;

        top: 0;

        left: 0;

        right: 0;

        z-index: 1030;

        width: 100%;

    }



    .navbar-main {

        position: fixed;

        top: 60px;

        /* Altura do navbar-top em mobile */

        left: 0;

        right: 0;

        z-index: 1029;

        width: 100%;

    }



    .navbar-top .container {

        justify-content: center;

    }



    .navbar-top .d-flex {

        justify-content: center;

    }



    .navbar-brand {

        margin: 0 auto;

    }



    .navbar-brand img {

        max-width: 120px;

        height: auto;

    }

}



/* Carousel Caption com gradiente */

#heroCarousel .carousel-caption {

    background: linear-gradient(360deg, black, transparent);

    width: 100%;

    left: 0;

    bottom: 0;

    padding: 2rem 1rem 1rem;

    text-align: center;

}



#heroCarousel .carousel-caption h5 {

    color: white;

    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);

}





#contentPostNew img {

    max-width: 100% !important;

    height: auto;

}



#contentPostNew figure {

    display: flex;

    justify-content: center;

    flex-direction: column;

}



#contentPostNew figure picture {

    margin-left: auto;

    margin-right: auto;

    text-align: center;

    display: inline-block;

}



#contentPostNew figcaption {

    font-size: 75%;

    position: relative;

    padding-left: 0.5rem;

    display: block;

    text-align: left;

    padding-top: 0.8em;

    z-index: -1;

    height: auto;

    border-bottom-right-radius: 0.4em;

    border-bottom-left-radius: 0.4em;

    width: auto;

    padding-bottom: 0.4em;

    margin-top: -0.5em !important;

    color: black !important;

    line-height: unset !important;

    font-family: Lato, Helvetica, Arial, sans-serif !important;

    background: rgb(239, 239, 239);

    overflow: hidden;

    border-width: 0px !important;

    border-style: initial !important;

    border-color: initial !important;

    border-image: initial !important;

}



#contentPostNew figcaption::after {

    content: "";

    bottom: 0px;

    height: 1px;

    left: 0px;

    width: 40%;

    position: absolute;

    background: var(--bs-primary);

    transition: 0.3s ease-in-out;

}



#contentPostNew figure:hover figcaption::after,

#contentPostNew picture:hover+figcaption::after,

#contentPostNew picture:hover figcaption::after {

    width: 85%;

}



@media screen and (min-width: 1200px) and (max-width: 1399px) {

    .search-form-wrapper {

        max-width: 430px;

    }

}



@media screen and (min-width: 769px) and (max-width: 991px) {

    .search-form-wrapper {

        max-width: 150px;

        transform: translateX(-100%);

    }

}



.ql-editor {

    white-space: unset !important;

    padding: 0 !important;

    line-height: inherit !important;

}



.ql-editor p,

.ql-editor ol,

.ql-editor ul,

.ql-editor pre,

.ql-editor blockquote,

.ql-editor h1,

.ql-editor h2,

.ql-editor h3,

.ql-editor h4,

.ql-editor h5,

.ql-editor h6 {

    margin-bottom: .5rem !important;

}



.wavesurfer-player {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 12px 16px;

    background: #3E7DBB;

    border-radius: 120px;

    margin: 8px 0;

}



.ws-waveform {

    flex: 1;

}



.ws-play-btn {

    background: #d48330;

    border: none;

    color: white;

    width: 38px;

    height: 38px;

    border-radius: 50%;

    cursor: pointer;

    font-size: 14px;

}



.ws-time {

    color: #e7e7e7ff;

    font-size: 12px;

    white-space: nowrap;

}