/* Compactação das páginas internas com muito espaço vertical.
   Mantém a Home e os detalhes individuais dos serviços inalterados. */

:where(
  body:has(.service-grid),
  body:has(.tips),
  body:has(.schedule-layout),
  body:has(.contact-grid)
) .internal{
  padding:22px 0 12px!important;
}

:where(
  body:has(.service-grid),
  body:has(.tips),
  body:has(.schedule-layout),
  body:has(.contact-grid)
) .internal h1{
  max-width:900px!important;
  margin:6px 0 8px!important;
  font-size:clamp(2rem,3vw,2.65rem)!important;
  line-height:1.06!important;
  letter-spacing:-.025em!important;
}

:where(
  body:has(.service-grid),
  body:has(.tips),
  body:has(.schedule-layout),
  body:has(.contact-grid)
) .internal p{
  max-width:790px!important;
  margin:0!important;
  font-size:.96rem!important;
  line-height:1.48!important;
}

:where(
  body:has(.service-grid),
  body:has(.tips),
  body:has(.schedule-layout),
  body:has(.contact-grid)
) .internal + .section{
  padding-top:16px!important;
  padding-bottom:34px!important;
}

/* Serviços */
body:has(.service-grid) .service-grid{
  gap:16px!important;
}
body:has(.service-grid) .service-card-media{
  aspect-ratio:16/8.6!important;
  padding:10px!important;
}
body:has(.service-grid) .service-card-media img{
  max-width:72%!important;
}
body:has(.service-grid) .service-card-body,
body:has(.service-grid) .service-grid > .card:not(.service-card){
  padding:16px 18px!important;
}
body:has(.service-grid) .service-card-body h2,
body:has(.service-grid) .service-grid > .card h2{
  margin-bottom:6px!important;
  font-size:1.12rem!important;
}
body:has(.service-grid) .service-card-body p,
body:has(.service-grid) .service-grid > .card p{
  margin-bottom:10px!important;
  line-height:1.45!important;
}
body:has(.service-grid) .section-soft{
  padding-top:28px!important;
  padding-bottom:28px!important;
}

/* Curiosidades */
body:has(.tips) .tips{
  gap:16px!important;
}
body:has(.tips) .tips .card{
  padding:18px 20px!important;
}
body:has(.tips) .tips h2{
  margin:6px 0 7px!important;
  font-size:1.18rem!important;
  line-height:1.18!important;
}
body:has(.tips) .tips p{
  margin:0!important;
  line-height:1.45!important;
}

/* Agendamento */
body:has(.schedule-layout) .schedule-layout{
  gap:20px!important;
}
body:has(.schedule-layout) .schedule-form{
  padding:24px!important;
}
body:has(.schedule-layout) .form-heading{
  margin-bottom:16px!important;
}
body:has(.schedule-layout) .form-heading h2{
  margin:5px 0 6px!important;
  font-size:1.75rem!important;
}
body:has(.schedule-layout) .form-grid{
  gap:12px 14px!important;
}
body:has(.schedule-layout) .form label{
  gap:5px!important;
}
body:has(.schedule-layout) .form input,
body:has(.schedule-layout) .form select{
  min-height:44px!important;
  padding:9px 11px!important;
}
body:has(.schedule-layout) .form textarea{
  min-height:88px!important;
  padding:10px 11px!important;
}
body:has(.schedule-layout) .schedule-sidebar{
  gap:16px!important;
}
body:has(.schedule-layout) .schedule-box{
  padding:20px!important;
}
body:has(.schedule-layout) .schedule-box h2{
  margin:6px 0 12px!important;
  font-size:1.65rem!important;
  line-height:1.1!important;
}
body:has(.schedule-layout) .schedule-steps{
  gap:10px!important;
}
body:has(.schedule-layout) .schedule-disclaimer{
  margin-top:12px!important;
}

/* Fale conosco */
body:has(.contact-grid) .contact-grid{
  gap:24px!important;
}
body:has(.contact-grid) .contact-list{
  gap:12px!important;
}
body:has(.contact-grid) .contact-item{
  padding:15px 17px!important;
}
body:has(.contact-grid) .contact-grid .form{
  padding:24px!important;
}
body:has(.contact-grid) .contact-grid .form h2{
  margin:5px 0 5px!important;
  font-size:1.75rem!important;
}
body:has(.contact-grid) .contact-grid .form input,
body:has(.contact-grid) .contact-grid .form select{
  min-height:44px!important;
  padding:9px 11px!important;
}
body:has(.contact-grid) .contact-grid .form textarea{
  min-height:96px!important;
  padding:10px 11px!important;
}

@media(max-width:760px){
  :where(
    body:has(.service-grid),
    body:has(.tips),
    body:has(.schedule-layout),
    body:has(.contact-grid)
  ) .internal{
    padding:18px 0 10px!important;
  }

  :where(
    body:has(.service-grid),
    body:has(.tips),
    body:has(.schedule-layout),
    body:has(.contact-grid)
  ) .internal h1{
    margin:5px 0 7px!important;
    font-size:clamp(1.75rem,7.8vw,2.1rem)!important;
    line-height:1.08!important;
  }

  :where(
    body:has(.service-grid),
    body:has(.tips),
    body:has(.schedule-layout),
    body:has(.contact-grid)
  ) .internal p{
    font-size:.94rem!important;
  }

  :where(
    body:has(.service-grid),
    body:has(.tips),
    body:has(.schedule-layout),
    body:has(.contact-grid)
  ) .internal + .section{
    padding-top:12px!important;
    padding-bottom:28px!important;
  }

  body:has(.service-grid) .service-grid{gap:12px!important}
  body:has(.service-grid) .service-card-media{aspect-ratio:16/9!important;padding:8px!important}
  body:has(.service-grid) .service-card-media img{max-width:68%!important}
  body:has(.service-grid) .service-card-body,
  body:has(.service-grid) .service-grid > .card:not(.service-card){padding:14px 16px!important}

  body:has(.tips) .tips{gap:12px!important}
  body:has(.tips) .tips .card{padding:16px 17px!important}

  body:has(.schedule-layout) .schedule-form{padding:18px 15px!important}
  body:has(.schedule-layout) .schedule-box{padding:18px!important}
  body:has(.schedule-layout) .schedule-box h2{font-size:1.5rem!important}

  body:has(.contact-grid) .contact-grid{gap:16px!important}
  body:has(.contact-grid) .contact-grid .form{padding:18px!important}
  body:has(.contact-grid) .contact-item{padding:14px 15px!important}
}

/* Mantido separado para facilitar QA e futura consolidação. */
