
/* === RESPONSIVO === */

/* Tablet */
@media (max-width: 1239px) {
  #menu-principal { display: none; flex-direction: column; position: absolute; top: 100%; right: 0; left: 0; background: #fff; padding: 10px 0; box-shadow: 0 4px 15px rgba(0,0,0,0.1); z-index: 999; }
  #menu-principal > li > a { color: #444 !important; line-height: 44px !important; padding: 0 25px; display: block; }
  #menu-principal > li.menu-resultados > a { color: var(--cor-secundaria) !important; }
  #menu-principal .sub-menu { position: static; display: none; box-shadow: none; margin: 0; padding-left: 20px; }
  #menu-principal .sub-menu li a { padding: 6px 15px 6px 25px; }
  #menu-toggle { display: block; }
  
  
  .grid-exames { grid-template-columns: repeat(2, 1fr); }
  .secao-exame { grid-template-columns: 1fr; gap: 25px; }
  .secao-exame.invertido { direction: ltr; }
  #sobre-historia .grid-2 { grid-template-columns: 1fr; }
  #footer .grid-footer { grid-template-columns: repeat(2, 1fr); }
  .resultados-btns { flex-direction: column; align-items: center; }
  .grid-blog { grid-template-columns: repeat(2, 1fr); }
}

/* Mobile */
@media (max-width: 767px) {
  #top-bar { position: relative !important; }
  .container { padding: 0 22px !important; }
  .secao-porque .texto { margin-top: -35px !important; }

  h1 { font-size: 31px; line-height: 1.2; text-align:center !important;}
  h2 { font-size: 25px;  text-align:center !important;}
  h3 { font-size: 16px; text-align:center !important; }
    #btn-agendamento-mobile { display: inline-block !important; position: static !important; transform: none !important; padding: 5px 14px; border: 1.5px solid white; color: white; border-radius: 20px; font-size: 0.72em; font-weight: 600; background: rgba(0,113,138,0.8); white-space: nowrap; }
  #top-bar .container { height: 72px !important; display:flex !important; align-items:center !important; justify-content:space-between !important; }
  
  
  #top-bar { background: var(--cor-primaria) !important; }
  
  
  
  
  #hero { min-height: 0; display: flex; flex-direction: column; }
  #hero .container { padding-top: 140px; padding-bottom: 60px; flex: 1; }
  #links-rapidos { display: block; }
  .grid-exames { grid-template-columns: 1fr; max-width: 280px; margin: 0 auto 25px; }
  #secao-porque .grid-porque { grid-template-columns: 1fr; }
  #secao-porque .imagem { order: -1; }
  #footer .grid-footer { grid-template-columns: 1fr; text-align: center; }
  #footer .col-logo .redes { justify-content: center; }
  #footer .col-logo img { margin: 0 auto 15px; }
  .grid-blog { grid-template-columns: 1fr; }
  .secao-exame { grid-template-columns: 1fr; }
  .btn-resultado { width: 100%; max-width: 320px; }
  
  #barra-busca input { width: 90%; }
  .iframe-wrapper iframe { min-height: 500px; }
  #footer .footer-copy .container { flex-direction: column; text-align: center; }
  #footer .footer-copy .copyright { order: 2; }
  #footer .footer-copy .redes-copy { justify-content: center; }
.label-topo {text-align:left !important;}


  /* Exames slider mobile */
  .exames-slider-wrap { margin-top: 0; }
  #secao-exames .grid-exames { display: none; }
  .exame-slide .img-box { height: 300px !important; max-width: 300px !important; margin: -30px auto 0 !important; display:flex; align-items:center; justify-content:center; }
  .exame-slide img { max-height: 260px !important; }
  .exame-slide h4 { margin-top: 8px !important; font-size: 18px !important; font-weight: 700; text-align:center; }}

@media (max-width: 480px) {
  .container { padding: 0 22px; }
  #cookie-bar { width: 100%; }
}

/* Desktop fixo */
@media (min-width: 1240px) {
  #menu-principal { display: flex !important; }
  #menu-toggle { display: none; }
  .barra-links-internos { display: block; }
}

/* Página inicial sem subheader */
.page-home #hero { padding-bottom: 80px; }

/* Preload de fonte */
@font-face {
  font-display: swap;
}


  .label-bar {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 9px !important;
    letter-spacing: 1.2px !important;
    color: var(--cor-primaria,#00718c) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    width: auto !important;
    margin-bottom: 0 !important;
    margin-right: 4px !important;
  }
  .btn-link-rapido { white-space: nowrap; flex-shrink: 0; }
  #links-rapidos .container { flex-wrap: nowrap !important; justify-content: flex-start !important; }

  /* Blog últimas: padding lateral */
  .blog-slider-wrap { padding: 0 22px !important; }

  /* Avaliações Google: slider no mobile */
  .avaliacoes-grid { display: flex !important; overflow: hidden !important; transition: transform .4s cubic-bezier(.4,0,.2,1) !important; flex-direction: row !important; }
  .card-avaliacao { flex: 0 0 100% !important; max-width: 100% !important; }

  /* Artigos headings: esquerda */
  .artigo-corpo h2, .artigo-corpo h3, .artigo-corpo h4 { text-align: left !important; }

  /* Selo DPONet centralizado */
  .selo-dponet { text-align:center !important; display:flex; justify-content:center; margin:12px auto !important; width:100%; }

  /* img-box mobile gap */
  .card-exame .img-box { margin-bottom: 45px; }
}

@media(max-width:767px){
  #hero .big { max-width: 100% !important; }
}

@media(max-width:767px){
  .label-topo { text-align: center !important; display: block; }
  .avaliacoes-header { flex-direction: column; align-items: center !important; text-align: center !important; }
  .avaliacoes-header > * { text-align: center !important; }
}

@media(max-width:767px){ #conteudo { padding-top: 0 !important; } }

@media(max-width:767px){
  
  
  
}


  #conteudo h4 { text-align: center !important; }
  #conteudo p  { text-align: center !important; }
  #conteudo ul { text-align: center !important; list-style-position: inside; padding-left: 0 !important; }
  #conteudo .secao-exame { text-align: center !important; }
  #conteudo .secao-exame img { margin: 0 auto !important; display: block !important; }
  #conteudo .preparos-grid { text-align: center !important; }
  .card-preparo { text-align: center !important; }
  .card-preparo ul { text-align: left !important; } /* lista de preparos mantém left */
  .grid-exames-lista { justify-items: center !important; }
  .exame-link-card { text-align: center !important; }
}

@media(max-width:767px){
  #top-bar { position: relative !important; }
  #top-bar .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 15px !important;
    height: 65px !important;
  }
  
  
  #menu-toggle {
    order: 3 !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* Esconder action bar no mobile (tel + email) */
  }




@media(min-width:1240px){
  .mobile-right { display: none !important; }
  #btn-agendamento-mobile { display: none !important; }
}


@media(max-width:1239px){

  /* Container: flex, altura 60px, padding lateral */
  #top-bar .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 60px !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;
  }

  /* Logo: esquerda, 23px (1/3 de 34px reduzido) */
  #logo {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
  }
  #logo a {
    display: flex !important;
    align-items: center !important;
  }
  #logo img.logo-principal {
    height: 52px !important;
    width: auto !important;
    display: block !important;
  }

  /* mobile-right: flex, gap, alinhado ao centro vertical */
  .mobile-right {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex: 0 0 auto !important;
  }

  /* Botão Agendamento: reduzido 1/3 */
  #btn-agendamento-mobile {
    display: inline-flex !important;
    align-items: center !important;
    padding: 5px 12px !important;
    border: 1.5px solid #fff !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    background: transparent !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    position: static !important;
    transform: none !important;
    letter-spacing: .3px;
    line-height: 1.4;
  }
  #btn-agendamento-mobile:hover {
    background: rgba(255,255,255,.15) !important;
  }

  /* Hamburguer */
  #menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    background: none !important;
    border: none !important;
    color: var(--cor-secundaria,#F8941C) !important;
    font-size: 20px !important;
    cursor: pointer !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
  }

  /* Menu desktop: ocultar */
  #menu-principal { display: none !important; }

  /* "Como chegar" ocultar no mobile */
  .barra-links-internos a[href*="mapa"],
  .barra-links-internos a[href*="chegar"] {
    display: none !important;
  }

}

@media(min-width:1240px){
  .mobile-right { display: none !important; }
  #btn-agendamento-mobile { display: none !important; }
  #mobile-menu-panel { display: none !important; }
}

/* ══════════════════════════════════════
   MOBILE HEADER — proporcional à imagem
   [ROSSETTI logo]  [Agendamento oval] [☰]
   ══════════════════════════════════════ */
@media(max-width:1239px){

  #top-bar .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 68px !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }

  /* Logo: esquerda, ~38px altura */
  #logo {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
  }
  #logo a { display:flex !important; align-items:center !important; }
  #logo img.logo-principal {
    height: 52px !important;
    width: auto !important;
    display: block !important;
  }

  /* Lado direito: Agendamento + ☰ */
  .mobile-right {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex: 0 0 auto !important;
  }

  /* Botão Agendamento: oval branco proporcional */
  #btn-agendamento-mobile {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 22px !important;
    border: 2px solid #fff !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    background: transparent !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    position: static !important;
    transform: none !important;
    letter-spacing: .2px !important;
    line-height: 1.4 !important;
  }
  #btn-agendamento-mobile:hover { background: rgba(255,255,255,.15) !important; }

  /* Hamburguer laranja */
  #menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    background: none !important;
    border: none !important;
    color: var(--cor-secundaria,#F8941C) !important;
    font-size: 24px !important;
    cursor: pointer !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  /* Menu desktop: ocultar */
  #menu-principal { display: none !important; }

  /* Como chegar: ocultar mobile */
  a.btn-link-rapido[href*="mapa"],
  a.btn-link-rapido[href*="chegar"] { display: none !important; }
}

@media(min-width:1240px){
  .mobile-right { display: none !important; }
  #btn-agendamento-mobile { display: none !important; }
  #mobile-menu-panel { display: none !important; }
}

/* ══════════════════════════════════════
   BARRA LINKS ÚTEIS MOBILE — slim
   ══════════════════════════════════════ */
@media(max-width:767px){
  .barra-links-internos {
    display: block !important;
    padding: 6px 0 !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .barra-links-internos::-webkit-scrollbar { display: none !important; }
  .barra-links-internos .container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 0 14px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    text-align: center !important;
  }
  .label-bar {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 9px !important;
    letter-spacing: 1.2px !important;
    color: var(--cor-primaria,#00718c) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    width: auto !important;
    margin-bottom: 0 !important;
    margin-right: 4px !important;
  }
  .btn-link-rapido {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
    border-radius: 999px !important;
    border: 1px solid #c8d8dc !important;
    background: #fff !important;
    color: var(--cor-primaria,#00718c) !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
  }
  .btn-link-rapido:hover { background: var(--cor-primaria,#00718c) !important; color:#fff !important; }
  /* Espaçamento conteudo após barra no mobile */
  #conteudo { padding-top: 18px !important; }
  body.blog #conteudo, body.artigo #conteudo { padding-top: 10px !important; }
}

/* Home mobile: blog + avaliações 100% largura, padding 30px */
@media(max-width:767px){
  .blog-slider-wrap {
    width: 100% !important;
    padding: 0 30px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .avaliacoes-slider-wrap {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 30px !important;
    box-sizing: border-box !important;
  }
  .avaliacoes-viewport,
  .blog-slider-viewport { width: 100% !important; }
}

/* Barra links mobile: centralizada */
@media(max-width:767px){
  .barra-links-internos {
    display: block !important;
    padding: 7px 0 !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .barra-links-internos::-webkit-scrollbar { display:none !important; }
  .barra-links-internos .container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 0 14px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    text-align: center !important;
  }
  .label-bar {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 9px !important;
    letter-spacing: 1.2px !important;
    color: var(--cor-primaria,#00718c) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    width: auto !important;
    margin-bottom: 0 !important;
    margin-right: 4px !important;
  }
  .btn-link-rapido {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
    border-radius: 999px !important;
    border: 1px solid #c8d8dc !important;
    background: #fff !important;
    color: var(--cor-primaria,#00718c) !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
  }
  /* iFrames: -12px */
  .form-contato iframe,
  .form-agendamento iframe,
  .form-ouvidoria iframe,
  #conteudo iframe { margin-left: -12px !important; }
  /* conteudo spacing */
  #conteudo { padding-top: 18px !important; }
  body.blog #conteudo, body.artigo #conteudo { padding-top: 10px !important; }
}

@media(max-width:767px){ .selo-dponet { justify-content:center !important; text-align:center !important; } }

/* Mobile: contato/ouvidoria/agendar mantém centro */
@media(max-width:767px){
  body.page-contato #conteudo .container,
  body.page-ouvidoria #conteudo .container,
  body.page-agendar #conteudo .container { text-align: center !important; }
  .ouvidoria-sub { text-align: center !important; }
}

/* Subheader mobile: sem altura fixa, padding controlado */
@media(max-width:767px){
  #subheader {
    height: auto !important;
    min-height: unset !important;
    padding-top: 75px !important;
    padding-bottom: 75px !important;
  }
  #subheader .sh-bg {
    height: auto !important;
    min-height: unset !important;
    position: absolute !important;
    inset: 0 !important;
  }
}

/* Home mobile: .big width 90% */
@media(max-width:767px){
  #hero .big { width: 90% !important; }
}
