 :root {
     --bg: #f0f0f0;
     --surface: #ffffff;
     --surface-2: #fafafa;
     --text: #000000;
     --muted: #555555;
     --line: #e5e5e5;
     --primary: #000000;
     --primary-2: #333333;
     --accent: #111111;
     --accent-dark: #000000;
     --success: #111111;
     --danger: #111111;
     --shadow: 0 18px 45px rgba(15, 23, 42, .08);
     --shadow-soft: 0 10px 28px rgba(15, 23, 42, .06);
     --radius-lg: 10px;
     --radius-md: 10px;
     --radius-sm: 10px;
     --container: 1100px;
 }

 * {
     box-sizing: border-box;
 }

 html {
     scroll-behavior: smooth;
 }

 body {
     background: var(--bg);
     color: var(--text);
     font-family: Arial, sans-serif;
     line-height: 1.65;
 }

 a {
     color: inherit;
     text-decoration: none;
     transition: .2s ease;
 }

 a:hover {
     text-decoration: none;
     opacity: .9;
 }

 .g_id_signin {
     width: 250px;
     text-align: center;
     margin: 1rem auto 0 !important;
 }

 .fundoTopo {
     top: 0;
 }

 .topo-principal,
 #aviso-cookies,
 .filtro-topo {
     display: none !important;
 }

 #barra-topo-fixa {
     background: linear-gradient(90deg, var(--primary), var(--primary-2)) !important;
     color: #fff !important;
     border-radius: 0 !important;
     top: 0;
     left: 0;
     width: 100%;
     position: fixed;
     z-index: 999;
     padding: .7rem 0 .45rem !important;
     text-transform: uppercase;
     letter-spacing: .06em;
     box-shadow: 0 8px 24px rgba(15, 23, 42, .22);
 }

 .container-medico-responsivo,
 .container-medico {
     max-width: var(--container);
     margin-inline: auto;
 }

 .container-medico-responsivo {
     padding: clamp(1rem, 2vw, 2rem);
 }

.container-medico-responsivo>.row {
     align-items: flex-start;
     gap: 0;
     margin-left: 0 !important;
     margin-right: 0 !important;

     padding: 20px 20px  !important;
 }

 .container-medico-responsivo .row>[class*="col-"] {
     min-width: 0;
 }

 .paddingZero,
 .paddingZeroMobile {
     padding-left: 0 !important;
     padding-right: 0 !important;
 }

 /* Cartões e blocos principais */
 .container-medico-responsivo .row>.col-12,
 .container-guia-saude,
 .enderecos,
 #avaliacoes-geral,
 .nota-geral,
 .myAccordion,
 .slider-materia,
 .slider-video,
 .bannersobre,
 .ai-legal-content {
     position: relative;
 }

 .topo {
     display: flex;
     align-items: center;
     color: var(--primary);
     font-size: clamp(1.15rem, 2vw, 1.65rem);
     letter-spacing: -.02em;
     line-height: 1.2;
 }

 .topo img {
     width: 24px;
     height: 24px;
     object-fit: contain;
     padding: 4px;
     border-radius: 9px;
     background: rgba(47, 111, 115, .1);
 }
 

 .texto,
 .card,
 .materia,
 .cada-profissional .medico,
 .modal-content {
     background: #fff;
     border-radius: var(--radius-md);
     box-shadow: var(--shadow);
 }

 .texto {
     padding: 1.15rem 1.25rem;
     color: #334155;
 }

 .siga-redes {
     margin-top: 1.5rem;
     margin-bottom: .65rem;
     color: var(--primary);
     font-size: 1.05rem;
 } 
 
 .menu-interno {
     position: sticky;
     top: 1rem;
     z-index: 30; 
     padding: .10rem !important;
     width: 100%;
     max-width: 100%;
     border-radius: 999px;
     background: rgba(255, 255, 255, .82) !important;
     backdrop-filter: blur(14px);
     border: 1px solid rgba(226, 232, 240, .85);
     box-shadow: var(--shadow);
     color: #000;
     display: flex;
     align-items: center;
     justify-content: center;
     overflow: hidden;
 }

 .slider-menu-medico {
     display: flex;
     gap: .35rem;
     overflow-x: auto;
     overflow-y: hidden;
     width: 100%;
     max-width: 100%;
     white-space: nowrap;
     padding: .15rem;
     margin: 0;
     scrollbar-width: none;
     -webkit-overflow-scrolling: touch;
 }

 .slider-menu-medico::-webkit-scrollbar {
     display: none;
 }

 .slider-menu-medico li {
     cursor: pointer;
     flex: 0 0 auto;
     padding: .65rem 1rem;
     border-radius: 999px;
     color: #475569;
     transition: .2s ease;
 }

 @media (max-width: 767px) {
     .menu-interno {
         border-radius: 18px;
     }

     .slider-menu-medico {
         justify-content: flex-start;
         padding: .25rem;
     }
 }

 .slider-menu-medico li:hover {
     color: #fff;
     background: linear-gradient(135deg, var(--primary), var(--primary-2));
     transform: translateY(-1px);
 }

 .atuacao .texto {
     display: flex;
     align-items: flex-start;
     gap: .6rem;
     min-height: 58px;
     margin: .35rem 0;
     border-radius: var(--radius-sm);
     box-shadow: none;
     background: var(--surface-2);
 }

 .atuacao .texto img {
     margin-top: .25rem;
     filter: drop-shadow(0 2px 3px rgba(15, 118, 110, .18));
 }

 .text-center.fonteRegular.w-100,
 #carregarAvaliacoes,
 .vermais {
     width: fit-content !important;
     margin: 1rem auto;
     padding: .72rem 1.1rem;
     border-radius: 999px;
     background: #fff;
     border: 1px solid var(--line);
     color: var(--primary);
     box-shadow: var(--shadow-soft);
     cursor: pointer;
     transition: .2s ease;
 }

 .text-center.fonteRegular.w-100:hover,
 #carregarAvaliacoes:hover,
 .vermais:hover {
     transform: translateY(-2px);
     background: var(--primary);
     color: #fff;
 }

 .myAccordion {
     margin-bottom: 1.25rem;
 }

 .myAccordion .card {
     margin: .7rem 0;
     overflow: hidden;
     border: 1px solid rgba(226, 232, 240, .95);
 }

 .myAccordion .header,
 .myAccordion .card-header {
     padding: 0;
     background: transparent;
     border: 0;
 }

 .myAccordion .btn-link {
     width: 100%;
     min-height: 58px;
     padding: 1rem 1.1rem;
     color: var(--text);
     text-decoration: none;
     cursor: pointer;
     transition: .2s ease;
 }

 .myAccordion .btn-link:hover {
     background: rgba(47, 111, 115, .07);
 }

 .myAccordion .btn-link img {
     margin-right: .6rem;
     margin-top: .25rem;
 }

 .myAccordion .card-body {
     color: #475569;
     padding: 1rem 1.2rem 1.25rem;
 }

 .enderecos {
     padding: .25rem 0 1rem;
     background: transparent;
     border: 0;
     box-shadow: none;
 }

 .endereco-list {
     padding: 1rem;
     margin-bottom: .8rem;
 }

 .linha {
     border-top: 1px dashed var(--line);
     margin: .6rem 0;
 }

 .botao3,
 .cta-button,
 .btn.botao3,
 .mapa,
 .btn-avaliacao {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: .45rem;
     min-height: 42px;
     padding: .65rem 1rem;
     border-radius: 999px;
     border: 0;
     color: #fff !important;
     background: linear-gradient(135deg, var(--primary), var(--primary-2));
     box-shadow: 0 10px 22px rgba(31, 58, 95, .18);
     transition: .2s ease;
     font-weight: 700;
 }

 .botao3:hover,
 .cta-button:hover,
 .btn.botao3:hover {
     transform: translateY(-2px);
     box-shadow: 0 16px 32px rgba(31, 58, 95, .25);
     opacity: 1;
 }

 .uber {
     background: linear-gradient(135deg, #111827, #334155) !important;
 }

 .miniatura {
     position: relative;
     overflow: hidden;
     border-radius: var(--radius-lg);
     box-shadow: var(--shadow);
     background: #0f172a;
     min-height: 220px;
     margin-bottom: 1rem;
 }

 .miniatura img,
 .imgFull {
     width: 100%;
     height: 100%;
     /* min-height: 220px; */
     object-fit: cover;
     display: block;
     transition: transform .35s ease;
 }

 .miniatura:hover img {
     transform: scale(1.05);
 }

 .fundo-roxo {
     position: absolute;
     inset: 0;
     background: linear-gradient(180deg, transparent 20%, rgba(15, 23, 42, .82));
 }

 .miniatura .nome {
     position: absolute;
     left: 1rem;
     right: 1rem;
     bottom: 1rem;
     color: #fff;
     font-size: 1.15rem;
     line-height: 1.25;
 }

 .play-btn {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     width: 64px;
     height: 64px;
     border-radius: 50%;
     background: rgba(255, 255, 255, .92);
     box-shadow: 0 12px 30px rgba(0, 0, 0, .24);
     z-index: 2;
 }

 .play-btn::after {
     content: "";
     position: absolute;
     top: 50%;
     left: 53%;
     transform: translate(-50%, -50%);
     border-left: 18px solid var(--primary);
     border-top: 12px solid transparent;
 }

 .slider-materia {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
     gap: 1rem;
 }

 .slider-materia .cada {
     padding: 0 .15rem;
 }

 .materia {
     overflow: hidden;
     height: 100%;
     transition: .25s ease;
 }

 .materia:hover {
     transform: translateY(-4px);
     box-shadow: var(--shadow);
 }

 .materia .foto2 {
     height: 170px !important;
     overflow: hidden;
     display: grid;
     place-items: center;
     background: linear-gradient(135deg, var(--primary), var(--primary-2));
     color: #fff;
 }

 .materia .foto2 img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .materia .titulo {
     padding: 1rem 1rem .4rem;
     color: var(--text);
     font-weight: 700;
 }

 .botao-padding-control,
 .materia .botao,
 .materia .botao3 {
     margin: .65rem 1rem 1rem;
     width: calc(100% - 2rem);
 }

 #avaliacoes-geral {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 1rem;
     margin-top: 2rem;
     padding: 1rem;
     border-radius: var(--radius-lg);
     background: rgba(255, 255, 255, .78);
     border: 1px solid rgba(226, 232, 240, .9);
     box-shadow: var(--shadow-soft);
 }

 #avaliacoes-geral .topo {
     margin: 0;
 }

 .nota-geral {
     align-items: center;
     gap: .65rem;
     padding: 1rem;
     border-radius: var(--radius-lg);
     background: var(--surface);
     margin: 1rem 0;
 }

 .aval-geral {
     color: var(--primary);
 }

 .mediano {
     display: inline-grid;
     place-items: center;
     min-width: 48px;
     height: 48px;
     border-radius: 50%;
     color: #fff;
     background: linear-gradient(135deg, var(--accent), var(--accent-dark));
     font-weight: 800;
 }

 .estrelas {
     margin: 0;
     display: inline-flex;
     align-items: center;
     gap: .2rem;
 }

 .estrelas li {
     margin: 0 !important;
 }

 .container-guia-saude {
     padding: 1rem;
     border-radius: var(--radius-lg);
     background: rgba(255, 255, 255, .78);
     border: 1px solid rgba(226, 232, 240, .9);
     box-shadow: var(--shadow);
 }

 .container-guia-saude h3 {
     color: var(--primary);
     font-size: 1.25rem;
     margin-bottom: 1rem;
 }

 .cada-profissional .medico {
     padding: .8rem;
     margin-bottom: .9rem !important;
     transition: .2s ease;
 }

 .cada-profissional .medico:hover {
     transform: translateY(-3px);
 }

 .cover-foto .foto {
     border-radius: var(--radius-md);
     background: var(--surface-2);
 }

 .cover-foto .foto img {
     width: 100%;
     aspect-ratio: 4 / 3;
     object-fit: cover;
 }

 .perfil .nome {
     color: var(--text) !important;
     font-weight: 800;
 }

 .categoria {
     color: var(--primary-2) !important;
 }

 .modal-content {
     border: 0;
     overflow: hidden;
 }

 .modal-header,
 .modal-footer {
     border-color: var(--line);
     background: var(--surface-2);
 }

 .form-control {
     border-radius: var(--radius-sm);
     border: 1px solid var(--line);
     min-height: 46px;
     box-shadow: none !important;
 }

 textarea.form-control {
     padding: .85rem 1rem;
 }

 .form-control:focus {
     border-color: var(--primary-2);
     box-shadow: 0 0 0 4px rgba(47, 111, 115, .12) !important;
 }

 .cta-button {
     background: linear-gradient(135deg, var(--accent), #f3c55f);
     color: #152033 !important;
     font-weight: 900;
     min-height: 52px;
     padding-inline: 1.4rem;
 }

 .bannersobre img {
     width: 100%;
     border-radius: var(--radius-lg);
     box-shadow: var(--shadow);
 }


 @media (max-width: 991.98px) {
     .container-medico-responsivo {
         padding: 1rem;
     }

     .texto,
     .endereco-list,
     .card,
     .materia,
     .nota-geral {
         border-radius: 16px;
     }

     #avaliacoes-geral {
         display: block;
         padding: 1rem;
     }

     #avaliacoes-geral .float-right,
     #avaliacoes-geral .float-left {
         float: none !important;
     }

     .btn-avaliacao {
         width: 100%;
         margin-top: .9rem;
     }

     .nota-geral.d-block {
         display: flex !important;
         flex-wrap: wrap;
         justify-content: center;
     }

     .endereco-list .botao3,
     .endereco-list .mapa,
     .endereco-list .uber {
         width: 100%;
         margin-top: .7rem !important;
         float: none !important;
     }

     .slider-materia {
         grid-template-columns: 1fr;
     }

     .ai-legal-section {
         padding: 1rem;
     }
 }

 @media (max-width: 575.98px) {
     .topo {
         font-size: 1.2rem;
     }

     .ai-legal-content {
         border-radius: 24px;
         padding: 2rem 1.25rem;
     }

     .ai-legal-content::before {
         border-radius: 23px;
     }

     .miniatura,
     .miniatura img,
     .imgFull {
         min-height: 80px;
     }

     .estrelas img {
         height: 24px;
     }
 }

 container-medico {

     h1,
     h2,
     h3,
     h4,
     h5,
     h6,
     .topo,
     .siga-redes {
         color: #000 !important;
     }
 }

 a {
     color: #000;
 }

 .topo img,
 .texto img,
 .mapa img,
 .botao3 img,
 .miniatura img+.play-btn,
 .especialista-rqe {
     filter: grayscale(100%);
 }

 .topo img {
     background: #f2f2f2 !important;
 }

 .botao3,
 .cta-button,
 .btn-avaliacao,
 .vermais,
 .botao {
     background: #000 !important;
     color: #fff !important;
     border: 1px solid #000 !important;
 }

 .botao3:hover,
 .cta-button:hover,
 .btn-avaliacao:hover,
 .vermais:hover,
 .botao:hover {
     background: #fff !important;
     color: #000 !important;
 }

 .fundo-roxo {
     background: rgba(0, 0, 0, .58) !important;
 }

 .laranja,
 .branco,
 .cinzaEscuro {
     color: #000 !important;
 }

 .menu-interno,
 .texto,
 .endereco-list,
 .card,
 .materia,
 .cada-profissional .medico,
 .modal-content {
     border-color: #e5e5e5 !important;
     box-shadow: 0 14px 34px rgba(0, 0, 0, .07) !important;
 }

 #barra-topo-fixa,
 .slider-menu-medico li:hover {
     background: #000 !important;
     color: #fff !important;
 }

 .modal-title {
     color: #000 !important;
 }
 
