section {
  margin-bottom: 2rem;
}

.sobre-container {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.sobre-container img {
  width: 100%;
  max-width: 400px;
  height: auto;
}

.sobre-container p {
  flex: 1;
  text-align: justify;
}

@media (min-width: 768px) {
  .sobre-container {
    flex-wrap: nowrap;
  }

  .sobre-container img {
    width: 40%;
  }
}

.hover-shadow {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-shadow:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.professional-card {
  transition: all 0.3s ease-in-out;
}

.professional-card:hover {
  box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.1);
  transform: translateY(-5px);
}

#logo {
  pointer-events: none;
  -webkit-user-drag: none;
  user-drag: none;
}

#logo-claro,
#logo-escuro {
  max-height: 69px;
  vertical-align: middle;
  margin: 0;
  padding: 0;
  pointer-events: none;
  -webkit-user-drag: none;
  user-drag: none;
}

/* Ícones sociais no footer sem traço e alinhados */
footer a i {
  text-decoration: none !important;
  display: inline-block;
}

/* Ajuste nos links do footer */
footer a {
  text-decoration: none !important;
}

/* Links com sublinhado manual, para manter consistência */
.footer-link-underline {
  text-decoration: underline !important;
}

/* Navbar compacta inspirada no estilo AdGuard */
.navbar-custom {
  display: flex;
  align-items: center;
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
  position: sticky;           /* Faz o menu "grudar" ao rolar */
  top: 0;                     /* Define que ele gruda no topo absoluto */
  z-index: 1050;              /* Garante que fique por cima de imagens e cards */
  width: 100%;                /* Garante que ocupe a largura toda */
}

/* Altura mínima apenas em telas maiores */
@media (min-width: 768px) {
  .navbar-custom {
    min-height: 80px;
  }
}

/* Itens de menu compactos e centralizados */
.navbar-nav .nav-link {
  font-size: 1rem;
  padding: 0.3rem 0.8rem;
  line-height: 1.5;
}

.navbar-custom .navbar-brand img {
  max-height: 69px;
  vertical-align: middle;
  margin: 0;
  padding: 0;
}

/* Ícone do botão hamburguer */
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28255, 255, 255, 1%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  width: 1.5em;
  height: 1.5em;
}

.navbar-toggler {
  align-self: center;
}

/* Evita colapso mal formatado do menu em dispositivos móveis */
@media (max-width: 991.98px) {
  .navbar-collapse {
    max-height: none;
    overflow: visible;
  }
}

/* Botão de alternar tema com proporções ajustadas */
#theme-toggle {
  padding: 0.3rem 0.5rem;
  font-size: 1rem;
}

#theme-toggle i {
  font-size: 1.1rem;
}

body {
  background-color: #f7f7f7;
}

.brand-manual-section {
            margin-bottom: 4rem;
}

.brand-manual-title {
  color: #95a98d;
  border-bottom: 2px solid #95a98d;
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
}

.color-box {
  height: 8rem;
  border-radius: 0.5rem 0.5rem 0 0;
}
.bg-brand-green { background-color: #95a98d; 
}

.text-brand-green { color: #95a98d; 
}
        
.bg-brand-dark-gray { background-color: #2f2f2f; }
        
.bg-brand-gray 
  { background-color: #929396; 
}

.text-brand-gray 
  { color: #929396; 
}

.card-manual {
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

/* Impede arrastar imagens via CSS */
img {
  -webkit-user-drag: none; /* Safari/Chrome */
  user-drag: none;          /* Padrão */
  pointer-events: auto;     /* Permite clique, mas não arrasto */
}

@font-face {
  font-family: 'Samsung Sharp Sans';
  src: url('/fonts/samsungsharpsans.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Samsung Sharp Sans';
  src: url('/fonts/samsungsharpsans-medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Samsung Sharp Sans';
  src: url('/fonts/samsungsharpsans-bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

body {
  font-family: 'Samsung Sharp Sans', sans-serif;
  font-weight: 400;
}

.medium-text {
  font-weight: 500;
}

strong, b {
  font-weight: 700;
}

h2 {
  color: #95a98d;
}

h1 {
  color: #95a98d;
}
h3 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  color: #95a98d; /* Verde institucional */
}

h1, .display-4 {
  font-weight: 600;
  font-size: 2.5rem;
}

h2.text-success,
h1.text-success,
h5.text-success,
h3.text-success,
h2.text-success {
  color: #95a98d !important;
}

#cookie-banner-content {
  display: none !important;
}

a.adopt-c-hqaZBK {
  display: none !important;
}

#carousel-clinica .carousel-item img {
  height: 100%;
  object-fit: cover; /* cobre toda a área sem distorcer */
  width: 100%;
}