/* MSV Medicina Integrativa — padronização de composição, 21/10/2026.
   Camada final e não destrutiva: preserva estilos originais, textos,
   interações, cores e imagens; alinha todos os painéis institucionais à
   mesma largura útil da grade de "Condições que acompanhamos". */
:root {
  --msv-page-width: 1400px;
  --msv-page-gutter: clamp(16px, 3.8vw, 56px);
}

/* Banner aprovado: sem clarões, zoom ou overlays que prejudiquem a leitura
   do texto já impresso na imagem. A arte horizontal é usada no desktop,
   enquanto no celular permanece a versão vertical, mais legível. */
.poster-top--image-only .hero-picture,
.poster-top--image-only .desktop-hero {
  border-radius: 0 !important;
}
.poster-top--image-only .hero-picture::before,
.poster-top--image-only .hero-picture::after {
  display: none !important;
}
.poster-top--image-only .desktop-hero {
  filter: none !important;
  animation: none !important;
  transform: none !important;
}

/* Um mesmo alinhamento horizontal em todos os blocos da home. */
.conditions-html,
.msv-showcase.msv-about,
.msv-presentation-banner,
.msv-showcase.msv-knowledge,
.msv-ecs,
.msv-series {
  box-sizing: border-box;
  padding-left: var(--msv-page-gutter) !important;
  padding-right: var(--msv-page-gutter) !important;
}
.conditions-html .conditions-columns,
.msv-showcase.msv-about .msv-about-card,
.msv-presentation-banner .msv-presentation-banner-inner,
.msv-showcase.msv-knowledge .msv-content-card,
.msv-ecs .msv-ecs-inner,
.msv-series .msv-series-inner,
.msv-footer-inner {
  box-sizing: border-box;
  width: 100% !important;
  max-width: var(--msv-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.msv-integrative-note,
.msv-content-card.msv-why-card {
  box-sizing: border-box;
  width: calc(100% - (2 * var(--msv-page-gutter))) !important;
  max-width: var(--msv-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.msv-integrative-note {
  margin-top: 30px !important;
  margin-bottom: 28px !important;
}
.msv-content-card.msv-why-card {
  margin-top: clamp(18px, 2.6vw, 36px) !important;
  margin-bottom: clamp(18px, 2.6vw, 36px) !important;
}

/* Quem somos: cartão realmente centralizado, largura e hierarquia
   equivalentes às condições. Texto permanece editável e botão funciona. */
.msv-showcase.msv-about .msv-about-card {
  transform: none !important;
}
.msv-showcase.msv-about .msv-about-main {
  padding: clamp(28px, 3.2vw, 48px) clamp(20px, 4.3vw, 64px) 0 !important;
  text-align: center !important;
}
.msv-showcase.msv-about .msv-about-overline {
  justify-content: center;
  text-align: center;
}
.msv-showcase.msv-about h2 {
  font-size: clamp(34px, 3.65vw, 52px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
  text-align: center;
}
.msv-showcase.msv-about .msv-about-accent {
  margin: 16px auto 18px !important;
  width: 82px;
}
.msv-showcase.msv-about .msv-about-lead {
  box-sizing: border-box;
  max-width: 1000px !important;
  margin: 0 auto !important;
  font-size: clamp(15px, 1.23vw, 18px) !important;
  line-height: 1.75 !important;
  text-align: center;
}
.msv-showcase.msv-about .msv-about-details,
.msv-showcase.msv-about .msv-about-details[open] {
  box-sizing: border-box;
  padding: 18px clamp(20px, 4.3vw, 64px) 38px !important;
  text-align: center;
}
.msv-showcase.msv-about .msv-about-full {
  text-align: left;
}

/* Seção de condições: título e sobretítulo ganham presença editorial. */
.conditions-html .conditions-heading {
  width: 100%;
  max-width: 1000px !important;
  margin: 0 auto 28px !important;
}
.conditions-html .conditions-kicker {
  font-size: clamp(16px, 1.45vw, 20px) !important;
  line-height: 1.3 !important;
  letter-spacing: .12em !important;
  font-weight: 800 !important;
  margin: 0 0 12px !important;
}
.conditions-html .conditions-heading h2 {
  font-size: clamp(35px, 3.9vw, 55px) !important;
  line-height: 1.13 !important;
  letter-spacing: -.034em !important;
}
.conditions-html .conditions-heading > p:last-child {
  max-width: 790px !important;
  margin: 16px auto 0 !important;
  font-size: clamp(15px, 1.2vw, 18px) !important;
  line-height: 1.55 !important;
}

/* Pilares e demais blocos: título destacado e larguras coordenadas. */
.msv-content-card.msv-why-card .msv-heading-title h2 {
  font-size: clamp(28px, 2.65vw, 40px) !important;
  line-height: 1.18 !important;
}
.msv-showcase.msv-knowledge .msv-heading-title h2,
.msv-presentation-header h2,
.msv-ecs-heading h2 {
  font-size: clamp(27px, 2.5vw, 38px) !important;
}
.msv-presentation-banner .msv-presentation-header {
  max-width: 100%;
}
/* Evita que a foto ou os painéis empurrem o layout lateralmente. */
.msv-presentation-art,
.msv-content-card,
.msv-ecs-panel,
.msv-series-grid,
.msv-about-card,
.conditions-columns {min-width: 0;}

@media (max-width: 700px) {
  :root { --msv-page-gutter: 14px; }
  .msv-showcase.msv-about {padding-top: 18px !important;padding-bottom: 20px !important;}
  .msv-showcase.msv-about .msv-about-main {padding: 26px 18px 0 !important;}
  .msv-showcase.msv-about .msv-about-overline {justify-content: center;font-size: 8.5px !important;}
  .msv-showcase.msv-about h2 {font-size: clamp(30px, 8.5vw, 37px) !important;}
  .msv-showcase.msv-about .msv-about-lead {font-size: 14px !important;line-height: 1.65 !important;}
  .msv-showcase.msv-about .msv-about-details,
  .msv-showcase.msv-about .msv-about-details[open] {padding: 16px 18px 25px !important;}
  .msv-showcase.msv-about .msv-about-accent {margin: 13px auto 14px !important;}
  .conditions-html {padding-top: 32px !important;}
  .conditions-html .conditions-heading {margin-bottom: 25px !important;}
  .conditions-html .conditions-kicker {font-size: 16px !important;letter-spacing: .11em !important;}
  .conditions-html .conditions-heading h2 {font-size: clamp(31px, 7.7vw, 38px) !important;line-height: 1.14 !important;}
  .conditions-html .conditions-heading > p:last-child {font-size: 14px !important;line-height: 1.6 !important;}
  .msv-integrative-note {padding: 21px 18px 21px 47px !important;}
  .msv-integrative-note p {font-size: 15px !important;line-height: 1.68 !important;}
  .msv-content-card.msv-why-card .msv-heading-title h2 {font-size: clamp(27px, 7vw, 34px) !important;}
  .msv-content-card.msv-why-card {padding: 26px 18px !important;}
  .msv-presentation-banner .msv-presentation-header {gap: 10px;}
}
@media (max-width: 360px) {
  :root { --msv-page-gutter: 12px; }
  .msv-showcase.msv-about .msv-about-main {padding-inline: 13px !important;}
  .msv-showcase.msv-about .msv-about-details {padding-inline: 13px !important;}
  .conditions-html .conditions-heading h2 {font-size: 30px !important;}
}
/* O rodapé também segue exatamente a mesma margem dos demais painéis. */
.msv-site-footer {
  box-sizing: border-box;
  padding-left: var(--msv-page-gutter) !important;
  padding-right: var(--msv-page-gutter) !important;
}
