/**
 * Ajustes CBCD: logo, banners da home e desempenho visual.
 */

.site {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
}

/* Logo — afastada da borda esquerda */
#nav-main .navbar-brand {
  left: 0.5rem !important;
  padding-left: 0.25rem;
  z-index: 5;
}

@media (min-width: 768px) {
  #nav-main .navbar-brand {
    left: 2.75rem !important;
  }
}

@media (min-width: 1200px) {
  #nav-main .navbar-brand {
    left: 1.25rem !important;
  }
}

@media (max-width: 767.98px) {
  ul#bootscore-top-navbar {
    display: none !important;
  }
}

/* Banners da home — largura total, altura automática, sem corte */
#slider,
#slider #sliderHomeControls,
#slider .carousel-inner,
#slider .carousel-item,
#slider .carousel-item picture,
#slider .carousel-item a {
  width: 100%;
  height: auto;
}

#slider .carousel-item picture,
#slider .carousel-item a {
  display: block;
}

#slider .carousel-item img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: unset !important;
  border-radius: 10px;
}

/* Ícones de redes sociais (classes FA4 no menu + fonte FA6 Brands) */
#bootscore-social-navbar .nav-link i.fa {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
  font-style: normal;
  display: inline-block;
  -webkit-font-smoothing: antialiased;
}

#bootscore-social-navbar .fa-square-facebook:before {
  content: "\f082";
}

#bootscore-social-navbar .fa-instagram:before {
  content: "\f16d";
}

#bootscore-social-navbar .fa-x-twitter:before {
  content: "\e61b";
}

#bootscore-social-navbar .fa-linkedin-square:before {
  content: "\f08c";
}

#bootscore-social-navbar .fa-youtube-play:before {
  content: "\f167";
}

/* Menu mobile — o offcanvas precisa aparecer como overlay */
@media (max-width: 991.98px) {
  #nav-main .header-actions {
    width: 100%;
    justify-content: flex-end;
    position: relative;
    z-index: 20;
    min-height: 56px;
  }

  #nav-main.navbar-expand-lg #offcanvas-navbar.offcanvas {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    z-index: 1055 !important;
    display: flex !important;
    flex-direction: column;
    width: min(22rem, 100vw) !important;
    height: 100vh !important;
    max-height: 100dvh !important;
    visibility: hidden;
    background-color: #fff !important;
    background-clip: padding-box;
    transform: translateX(100%);
    transition: transform 0.3s ease, visibility 0.3s ease;
  }

  #nav-main.navbar-expand-lg #offcanvas-navbar.offcanvas.show,
  #nav-main.navbar-expand-lg #offcanvas-navbar.offcanvas.showing {
    visibility: visible !important;
    transform: none !important;
  }

  #nav-main.navbar-expand-lg #offcanvas-navbar .offcanvas-header {
    display: flex !important;
  }

  #nav-main.navbar-expand-lg #offcanvas-navbar .offcanvas-body {
    display: block !important;
    overflow-y: auto !important;
    flex-grow: 1;
    height: auto !important;
    background-color: #fff !important;
  }
}

/* Parceiros: evita imagens enormes no rodapé */
#partners .splide__slide img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* Footer / parceiros — sem barra de rolagem horizontal no mobile */
.bootscore-footer,
#partners {
  max-width: 100%;
  overflow-x: hidden;
}

#partners #splide,
#partners > main {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100%;
  width: 100%;
}

#partners .splide__track {
  overflow: hidden;
}

.bootscore-footer-columns .container,
.bootscore-footer-info .container {
  max-width: 100%;
}

.bootscore-footer-columns .row {
  margin-left: 0;
  margin-right: 0;
  max-width: 100%;
}

.bootscore-footer-columns form,
.bootscore-footer-columns input,
.bootscore-footer-columns textarea,
.bootscore-footer-columns select,
.bootscore-footer-columns main.d-flex {
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 767.98px) {
  .bootscore-footer-columns .container,
  .bootscore-footer-info .container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .bootscore-footer-columns .row > [class*="col-"] {
    min-width: 0;
    max-width: 100%;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .bootscore-footer-columns figure img {
    width: 100%;
    max-width: 160px;
    height: auto;
  }
}

/* Encontre um especialista — imagem à direita, metade da largura */
#doctorSearch {
  position: relative;
  background-image: none !important;
}

#doctorSearch .doctorSearch-visual {
  display: none;
}

@media (min-width: 769px) {
  #doctorSearch .doctorSearch-visual {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    z-index: 0;
  }

  #doctorSearch .doctorSearch-bg {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    object-position: right top;
  }

  #doctorSearch > header,
  #doctorSearch > main > section {
    position: relative;
    z-index: 1;
  }
}

#news a,
#news-page a,
#library a,
#conferences a,
#conferences-page a,
#conferences-page-int a {
  text-decoration: none !important;
}

#news section.m3 > a,
#news-page section.m3 > a {
  margin-top: 0;
  height: auto !important;
  --bs-aspect-ratio: auto;
}

#news section.m3 > a::before,
#news-page section.m3 > a::before {
  content: none !important;
  padding-bottom: 0 !important;
  display: none !important;
}

#news section.m3 > a > *,
#news-page section.m3 > a > * {
  position: relative !important;
  inset: auto !important;
  width: 100%;
  height: auto !important;
}

#news section.m3 a div aside,
#news-page section.m3 a div aside {
  height: auto !important;
}

#news section.m3 a aside h4,
#news-page section.m3 a aside h4 {
  font-size: 18px !important;
}

#news > main {
  gap: 15px;
}

#news > main + main {
  margin-top: 15px;
}

@media (min-width: 768px) {
  #news > main > section {
    padding: 0 !important;
  }

  #news > main > section:not(.m3):not(.m3-int) {
    flex: 0 0 auto;
    width: calc((100% - 45px) / 4);
    max-width: calc((100% - 45px) / 4);
  }

  #news section.m3 {
    flex: 0 0 auto;
    width: calc((100% - 30px) / 3);
    max-width: calc((100% - 30px) / 3);
  }

  #news section.m3-int,
  #news-page section.m3 {
    flex: 0 0 auto;
    width: 100%;
  }
}
