@charset "UTF-8";
/* Healthtech — estilos do tema (compilado para assets/style.min.css) */
/* ─── Design tokens (extraídos do Figma "Healthtech – Layout site") ─────── */
:root {
  /* Marca */
  --color-primary: #965f36; /* marrom institucional */
  --color-primary-dk: #7c4e2c;
  --color-accent: #d7874c; /* laranja */
  --gradient-cta: linear-gradient(90deg, #d7874c 0%, #965f36 100%);
  /* Neutros */
  --color-text: #1a1a1a;
  --color-muted: #6b7280;
  --color-bg: #ffffff;
  --color-white: #ffffff;
  --color-border: rgba(150, 95, 54, .45);
  /* Tipografia */
  --font-base: 'Open Sans', 'Segoe UI', system-ui, sans-serif;
  /* Formas */
  --radius: 14px;
  --radius-pill: 50px;
  --shadow-card: 0 2px 12px rgba(0, 0, 0, .06);
  --shadow-btn: 0 3px 5.5px rgba(0, 0, 0, .25);
  /* Layout */
  --max-width: 1200px;
  --gap: 2rem;
}

/* ─── Reset ─────────────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ─── Base ───────────────────────────────────────────────── */
html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-base);
  color: var(--color-text);
  background: var(--color-bg);
  line-height: 1.6;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: var(--color-primary);
  text-decoration: none;
}

a:hover {
  color: var(--color-primary-dk);
  text-decoration: underline;
}

h1, h2, h3, h4 {
  line-height: 1.25;
  font-weight: 700;
}

h1 {
  font-size: 2.25rem;
}

h2 {
  font-size: 1.75rem;
}

h3 {
  font-size: 1.25rem;
}

/* ─── Acessibilidade ─────────────────────────────────────── */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

/* ─── Layout ─────────────────────────────────────────────── */
.container {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

#main {
  min-height: 60vh;
  padding-block: 3rem;
}

/* Header: ver sections/_site-header.scss */
/* ─── Listagem de posts padrão (index.php) — cada post em um card ────── */
.post-list > article {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.post-list > article h2 a {
  color: var(--color-text);
}

.post-list > article h2 a:hover {
  color: var(--color-primary);
  text-decoration: none;
}

/* ─── Conteúdo livre (the_content() de páginas sem template próprio,
   ex.: page.php, single-product.php) — o reset zera todo margin por padrão,
   então sem isso os parágrafos/títulos ficam todos colados uns nos outros. */
#main .container > article {
  color: var(--color-text);
  font-size: 1.0625rem;
  line-height: 1.7;
}

#main .container > article > * + * {
  margin-top: 1.25rem;
}

#main .container > article h1,
#main .container > article h2,
#main .container > article h3,
#main .container > article h4 {
  margin-top: 2rem;
  color: var(--color-primary);
}

#main .container > article h1:first-child,
#main .container > article h2:first-child {
  margin-top: 0;
}

#main .container > article ul,
#main .container > article ol {
  padding-left: 1.5rem;
}

#main .container > article li + li {
  margin-top: 0.5rem;
}

.entry-meta {
  font-size: 0.875rem;
  color: var(--color-muted);
  margin-block: 0.5rem 1rem;
}

/* Footer: ver sections/_site-footer.scss */
/* ─── 404 ────────────────────────────────────────────────── */
.error404 #main {
  text-align: center;
  padding-block: 6rem;
}

.error404 #main h1 {
  font-size: 4rem;
  color: var(--color-primary);
}

.error404 #main p {
  color: var(--color-muted);
  margin-block: 1rem 2rem;
}

/* ─── Responsivo ─────────────────────────────────────────── */
@media (max-width: 768px) {
  h1 {
    font-size: 1.75rem;
  }
  h2 {
    font-size: 1.375rem;
  }
}
/* ─── Seções ─────────────────────────────────────────────── */
.section {
  width: 100%;
}

.section__inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

/* Seções reutilizáveis */
/* ─── Cabeçalho do site ──────────────────────────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
}

/* Barra superior (marrom): logo, redes sociais, CTA e biblioteca */
.site-header__top {
  background: var(--color-primary);
  box-shadow: var(--shadow-btn);
}

.site-header__top-inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.site-header__logo {
  display: inline-flex;
  flex: 1 0 auto;
}

.site-header__logo img {
  width: clamp(180px, 100%, 300px);
  height: auto;
}

/* Redes sociais */
.site-header__social {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-header__social a {
  display: grid;
  place-items: center;
  width: 33px;
  height: 33px;
  border-radius: 50%;
  background: var(--color-white);
  transition: opacity 0.2s;
}

.site-header__social a:hover {
  opacity: 0.82;
}

.site-header__social svg {
  width: 16px;
  height: 16px;
  /* os ícones são exportados com fill="white" fixo — sobrescreve para a cor da marca */
  fill: var(--color-primary);
  /* os SVGs exportados do Figma vêm espelhados na vertical */
  transform: scaleY(-1);
}

.site-header__social svg path {
  fill: var(--color-primary);
}

/* Botão CTA */
.site-header__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  padding: 0.75rem 1.5rem;
  background: var(--color-white);
  color: var(--color-primary);
  font-weight: 700;
  font-size: 0.875rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-btn);
  transition: filter 0.2s, transform 0.2s;
  white-space: nowrap;
}

.site-header__cta:hover {
  color: var(--color-primary);
  text-decoration: none;
  filter: brightness(0.97);
  transform: translateY(-1px);
}

/* Link "Biblioteca" com ícone e divisor */
.site-header__library {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding-left: 1.5rem;
  border-left: 1px solid rgba(255, 255, 255, 0.35);
  color: var(--color-white);
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  white-space: nowrap;
}

.site-header__library:hover {
  color: var(--color-white);
  text-decoration: underline;
}

.site-header__library-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 41px;
  flex-shrink: 0;
}

.site-header__library-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Barra de navegação (branca) */
.site-header__nav {
  background: var(--color-white);
  border-bottom: 1px solid var(--color-border);
}

.site-header__nav-inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: flex;
  justify-content: center;
}

.site-header__menu {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  margin: 0;
  padding: 0;
}

.site-header__menu-cta {
  display: none;
}

.site-header__menu > li {
  position: relative;
}

/* Qualquer item com filhos (não só o de primeiro nível) precisa ser a
   referência de posição do próprio submenu — senão o submenu do 2º nível
   (ex.: produtos dentro de "Medicina Estética") se posiciona relativo ao
   "Produtos" e cai empilhado embaixo, em vez de em cascata ao lado. */
.site-header__menu li.menu-item-has-children {
  position: relative;
}

.site-header__menu > li > a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1rem;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
  color: var(--color-text);
  font-size: 0.9375rem;
  font-weight: 400;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color 0.2s;
}

.site-header__menu > li > a:hover {
  color: var(--color-primary);
  text-decoration: none;
}

.site-header__menu > li.current-menu-item > a {
  color: var(--color-primary);
  font-weight: 700;
  border-top-color: var(--color-primary);
  border-bottom-color: var(--color-primary);
}

/* Indicador de submenu ("Produtos") */
.site-header__menu > li.menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background: var(--icon-chevron-down) center/contain no-repeat;
}

/* Submenu (dropdown) */
.site-header__menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  margin: 0;
  padding: 0.5rem 0;
  list-style: none;
  background: var(--color-white);
  box-shadow: var(--shadow-card);
  border-radius: 0 0 var(--radius) var(--radius);
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity 0.15s, transform 0.15s, visibility 0.15s;
  z-index: 10;
}

.site-header__menu li.menu-item-has-children:hover > .sub-menu,
.site-header__menu li.menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.site-header__menu .sub-menu a {
  display: block;
  padding: 0.5rem 1.25rem;
  color: var(--color-text);
  font-size: 0.875rem;
  text-transform: none;
  letter-spacing: 0;
  text-decoration: none;
}

.site-header__menu .sub-menu a:hover {
  color: var(--color-primary);
  background: var(--color-bg);
  text-decoration: none;
}

/* Indicador de submenu também no 2º nível (ex.: "Medicina Estética" dentro de "Produtos") */
.site-header__menu .sub-menu li.menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: auto;
  background: var(--icon-chevron-down) center/contain no-repeat;
  transform: rotate(-90deg);
}

.site-header__menu .sub-menu li.menu-item-has-children > a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* 2º nível em diante: cascata para o lado, não empilhado embaixo */
.site-header__menu .sub-menu .sub-menu {
  top: -0.5rem;
  left: 100%;
  transform: translateY(0) translateX(4px);
}

.site-header__menu .sub-menu li.menu-item-has-children:hover > .sub-menu,
.site-header__menu .sub-menu li.menu-item-has-children:focus-within > .sub-menu {
  transform: translateY(0) translateX(0);
}

/* Botão hambúrguer — só existe visualmente abaixo do breakpoint mobile */
.site-header__toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  background: none;
  border: 0;
  cursor: pointer;
  flex-shrink: 0;
}

.site-header__toggle-bar {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--color-white);
  border-radius: 2px;
  transition: transform 0.2s, opacity 0.2s;
}

/* X quando o menu está aberto */
.site-header.is-nav-open .site-header__toggle-bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.site-header.is-nav-open .site-header__toggle-bar:nth-child(2) {
  opacity: 0;
}

.site-header.is-nav-open .site-header__toggle-bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 900px) {
  .site-header__top-inner {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .site-header__logo {
    flex: 1 1 auto;
    justify-content: flex-start;
  }
  .site-header__cta {
    flex: 1 1 auto;
    order: 3;
  }
}
@media (max-width: 768px) {
  .site-header__top-inner {
    justify-content: space-between;
  }
  .site-header__social {
    order: 2;
  }
  .site-header__cta {
    display: none;
  } /* já tem o botão "Faça o seu orçamento" dentro do menu mobile, ver abaixo */
  .site-header__library {
    display: none;
  }
  .site-header__toggle {
    display: flex;
    order: 4;
  }
  /* Menu recolhido por padrão — só aparece com .is-nav-open no <header> */
  .site-header__nav {
    display: none;
    max-height: calc(100vh - 72px);
    overflow-y: auto;
  }
  .site-header.is-nav-open .site-header__nav {
    display: block;
  }
  .site-header__nav-inner {
    display: block;
    padding-inline: 0;
  }
  .site-header__menu {
    display: block;
    width: 100%;
  }
  .site-header__menu > li {
    border-bottom: 1px solid var(--color-border);
  }
  .site-header__menu > li > a,
  .site-header__menu > li > .site-header__row > a {
    display: flex;
    width: 100%;
    padding: 1rem 1.5rem;
    border-top: 0;
    border-bottom: 0;
    color: var(--color-text);
    font-size: 0.9375rem;
    font-weight: 400;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }
  .site-header__menu > li.current-menu-item > a,
  .site-header__menu > li.current-menu-item > .site-header__row > a {
    border-top: 0;
    border-bottom: 0;
    color: var(--color-primary);
    font-weight: 700;
    background: color-mix(in srgb, var(--color-primary) 6%, var(--color-white));
  }
  .site-header__menu > li > .site-header__row {
    width: 100%;
  }
  /* Submenu vira acordeão empilhado — nada de posição absoluta/flyout lateral */
  .site-header__menu .sub-menu,
  .site-header__menu .sub-menu .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    min-width: 0;
    width: 100%;
    padding: 0;
    box-shadow: none;
    border-radius: 0;
    background: var(--color-bg);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease;
  }
  .site-header__menu li.is-submenu-open > .sub-menu {
    max-height: 1000px;
  }
  .site-header__menu .sub-menu a {
    padding-left: 2.25rem;
  }
  .site-header__menu .sub-menu .sub-menu a {
    padding-left: 3rem;
  }
  /* Botão "+/chevron" que abre/fecha o submenu (injetado via JS) */
  .site-header__submenu-toggle {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 100%;
    flex-shrink: 0;
    background: none;
    border: 0;
    border-left: 1px solid var(--color-border);
    cursor: pointer;
  }
  .site-header__submenu-toggle svg {
    width: 10px;
    height: 10px;
    transition: transform 0.2s;
  }
  li.is-submenu-open > .site-header__row > .site-header__submenu-toggle svg {
    transform: rotate(180deg);
  }
  .site-header__row {
    display: flex;
    align-items: stretch;
  }
  .site-header__row > a {
    flex: 1 1 auto;
  }
  /* Já escondemos o indicador "⌄"/"‹" de desktop — o toggle injetado faz esse papel */
  .site-header__menu > li.menu-item-has-children > a::after,
  .site-header__menu .sub-menu li.menu-item-has-children > a::after {
    display: none;
  }
  /* Botão de orçamento dentro do menu mobile (o de cima fica escondido) */
  .site-header__menu-cta {
    display: block;
    margin: 1rem 1.5rem;
    padding: 0.875rem 1.5rem;
    background: var(--color-primary);
    color: var(--color-white);
    font-weight: 700;
    font-size: 0.875rem;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: var(--radius-pill);
  }
  .site-header__menu-cta:hover {
    color: var(--color-white);
    text-decoration: none;
  }
}
/* ─── Seção: Loop de Produtos (carrossel "NOSSOS PRODUTOS") ─────────────── */
.loop-produtos {
  background: var(--color-white);
  padding-block: clamp(2.5rem, 6vw, 4.6875rem);
}

.loop-produtos__header {
  text-align: center;
  margin-bottom: clamp(1.5rem, 4vw, 3rem);
}

.loop-produtos__eyebrow {
  display: block;
  color: var(--color-primary);
  font-size: clamp(1.125rem, 2vw, 1.5625rem); /* 25px */
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.loop-produtos__title {
  margin-top: 0.75rem;
  color: var(--color-text);
  font-size: clamp(1.5rem, 3vw, 1.875rem); /* 30px */
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* Carrossel */
.loop-produtos__carousel {
  position: relative;
  max-width: calc(var(--max-width) - 2rem);
  margin-inline: auto;
  padding-inline: 3.25rem; /* espaço para as setas */
}

/* Degradê nas bordas — suaviza o corte dos cards ao invés de terminar seco */
.loop-produtos__carousel::before,
.loop-produtos__carousel::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 5rem;
  pointer-events: none;
  z-index: 1;
}

.loop-produtos__carousel::before {
  left: 0;
  background: linear-gradient(to right, var(--color-white), transparent);
  transition: background 0.2s;
}

.loop-produtos__carousel::after {
  right: 0;
  background: linear-gradient(to left, var(--color-white), transparent);
  transition: background 0.2s;
}

/* Ao passar o mouse na seta, o degradê do lado dela escurece um pouco (bem sutil) */
.loop-produtos__carousel:has(.loop-produtos__nav--prev:hover)::before {
  background: linear-gradient(to right, color-mix(in srgb, var(--color-primary) 12%, var(--color-white)), transparent);
}

.loop-produtos__carousel:has(.loop-produtos__nav--next:hover)::after {
  background: linear-gradient(to left, color-mix(in srgb, var(--color-primary) 12%, var(--color-white)), transparent);
}

.loop-produtos__track {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.loop-produtos__track::-webkit-scrollbar {
  display: none;
}

.loop-produtos__item {
  scroll-snap-align: start;
  flex: 0 0 clamp(240px, 30%, 289px);
}

/* Setas */
.loop-produtos__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2; /* acima do degradê das bordas */
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  background: none;
  border: 0;
  cursor: pointer;
  color: var(--color-primary);
}

.loop-produtos__nav svg {
  width: 0.9rem;
  height: auto;
}

.loop-produtos__nav--prev {
  left: 0;
}

.loop-produtos__nav--next {
  right: 0;
}

.loop-produtos__nav:disabled {
  opacity: 0.3;
  cursor: default;
}

/* Card */
.produto-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  padding: 0;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.produto-card__media {
  aspect-ratio: 287/200;
  overflow: hidden;
}

.produto-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.produto-card__media--placeholder {
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--color-primary) 6%, #fff);
  color: var(--color-border);
}

.produto-card__media--icon {
  aspect-ratio: auto;
  height: 135px;
  display: grid;
  place-items: center start;
  padding: 1.5rem;
  background: none;
}

.produto-card__media--icon img {
  width: auto;
  height: 100%;
  object-fit: contain;
}

.produto-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.25rem 1.5rem 1.5rem;
  flex: 1;
}

.produto-card__title {
  color: var(--color-primary);
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}

.produto-card__title a {
  color: inherit;
  text-decoration: none;
}

.produto-card__title a:hover {
  text-decoration: underline;
}

.produto-card__text {
  color: var(--color-text);
  font-size: 0.9375rem;
  line-height: 1.5;
}

.produto-card__link {
  margin-top: auto;
  align-self: flex-start;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 1rem;
  text-transform: uppercase;
  text-decoration: none;
}

.produto-card__link:hover {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .loop-produtos__carousel {
    padding-inline: 2rem;
  }
  .loop-produtos__item {
    flex-basis: 78%;
  }
}
/* ─── Grid de Produtos (arquivo do CPT product) — mesmo card do carrossel ── */
.produtos-grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.produtos-grid__item {
  display: flex;
}

.produtos-grid__item .produto-card {
  width: 100%;
}

@media (max-width: 1024px) {
  .produtos-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  .produtos-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
@media (max-width: 480px) {
  .produtos-grid {
    grid-template-columns: 1fr;
  }
}
/* ─── Seção global: CTA de atendimento ────────────────────────────────── */
.cta-atendimento {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--color-white);
  isolation: isolate;
}

.cta-atendimento--no-media {
  grid-template-columns: 1fr;
}

.cta-atendimento__media {
  position: relative;
  min-height: 320px;
}

.cta-atendimento__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cta-atendimento__panel {
  position: relative;
  isolation: isolate; /* cria contexto de empilhamento próprio p/ o ::before (z-index: -1) não cair atrás da seção */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  text-align: center;
  padding: clamp(3rem, 9vw, 8.6875rem) clamp(1.5rem, 5vw, 4.375rem);
  background: #efe6dd; /* bege base, sobreposto pela marca d'água */
}

.cta-atendimento__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--cta-atendimento-bg) center/cover no-repeat;
  opacity: 1;
  z-index: -1;
}

.cta-atendimento__title {
  max-width: 46ch;
  color: var(--color-primary);
  font-size: clamp(1.375rem, 3vw, 1.875rem); /* 30px */
  font-weight: 400;
  line-height: 1.3;
  text-transform: uppercase;
}

.cta-atendimento__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 250px;
  padding: 0.75rem 2rem;
  background: var(--gradient-cta);
  color: var(--color-white);
  font-weight: 700;
  font-size: 1rem;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-btn);
  transition: filter 0.2s, transform 0.2s;
}

.cta-atendimento__button:hover {
  color: var(--color-white);
  text-decoration: none;
  filter: brightness(1.05);
  transform: translateY(-1px);
}

@media (max-width: 860px) {
  .cta-atendimento {
    grid-template-columns: 1fr;
  }
  .cta-atendimento__media {
    min-height: 240px;
  }
}
/* ─── Banner CTA de fundo cheio (global/cta-banner.php) ─────────────────── */
.cta-banner {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0; /* grid/flex não deixa encolher abaixo do conteúdo por padrão — causava overflow horizontal */
  aspect-ratio: var(--cta-banner-ratio, 945/519);
  /* tamanho levemente maior que 100% ("zoom" de ~2%): evita uma linha clara
     na borda (sombra suave do PNG exportado do Figma) entre banners vizinhos —
     overflow:hidden garante que esse "zoom" fique sempre cortado e contido na caixa */
  background: var(--cta-banner-bg) center/102% 102% no-repeat;
  background-color: var(--color-border);
  overflow: hidden;
  isolation: isolate;
}

.cta-banner--align-left {
  justify-content: flex-start;
}

.cta-banner--align-center {
  justify-content: center;
  text-align: center;
}

.cta-banner__panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  max-width: 420px;
  padding: clamp(2rem, 6vw, 4.375rem);
}

.cta-banner--align-center .cta-banner__panel {
  align-items: center;
}

.cta-banner__title {
  margin: 0;
  color: var(--color-primary);
  font-size: clamp(1.25rem, 2.4vw, 1.5625rem); /* 25px */
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
}

.cta-banner__text {
  margin: 0;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.4;
}

.cta-banner__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  padding: 0.75rem 1.75rem;
  font-weight: 700;
  font-size: 1rem;
  text-align: center;
  text-decoration: none;
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-btn);
  transition: filter 0.2s, transform 0.2s;
  white-space: nowrap;
}

.cta-banner__button:hover {
  text-decoration: none;
  transform: translateY(-1px);
}

.cta-banner__button--gradient {
  background: var(--gradient-cta);
  color: var(--color-white);
}

.cta-banner__button--gradient:hover {
  color: var(--color-white);
  filter: brightness(1.05);
}

.cta-banner__button--white {
  background: var(--color-white);
  color: var(--color-primary);
}

.cta-banner__button--white:hover {
  color: var(--color-primary);
  filter: brightness(0.97);
}

@media (max-width: 640px) {
  .cta-banner__panel {
    max-width: 100%;
    margin-left: 0 !important;
  }
}
/* ─── Home: banner principal ─────────────────────────────────────────────── */
.home-hero img {
  width: 100%;
  height: auto;
  display: block;
}

/* ─── Home: Sobre a Health Tech ──────────────────────────────────────────── */
.home-sobre {
  position: relative;
  background: var(--color-white);
  overflow: hidden;
  padding-block: clamp(2.5rem, 6vw, 5rem);
}

.home-sobre::after {
  content: "";
  position: absolute;
  inset: 0;
  right: 0;
  left: auto;
  width: min(45%, 620px);
  background: var(--home-sobre-watermark) right center/contain no-repeat;
  opacity: 0.3; /* marca d'água discreta, igual ao Figma — não deve competir com o texto */
  pointer-events: none;
  z-index: 0;
}

.home-sobre__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: grid;
  grid-template-columns: minmax(240px, 450px) 1fr;
  align-items: center;
  gap: clamp(2rem, 5vw, 4rem);
}

.home-sobre__media img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius);
}

.home-sobre__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  width: 100%;
  /* a seção já é limitada por --max-width; um teto extra em "ch" aqui só
     sobrava espaço vazio à direita quando o texto é mais longo (ex.: Quem Somos) */
  max-width: 60ch;
}

.home-sobre__title {
  margin: 0;
  color: var(--color-text);
  font-size: clamp(1.5rem, 3vw, 1.875rem); /* 30px */
  font-weight: 700;
  text-transform: uppercase;
}

.home-sobre__text {
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.6;
}

.home-sobre__text p {
  margin: 0 0 0.75rem;
}

.home-sobre__text p:last-child {
  margin-bottom: 0;
}

.home-sobre__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  padding: 0.75rem 1.5rem;
  background: var(--color-white);
  color: var(--color-primary);
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: none;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  transition: background-color 0.2s, color 0.2s;
}

.home-sobre__button:hover {
  background: var(--color-primary);
  color: var(--color-white);
  text-decoration: none;
}

@media (max-width: 860px) {
  .home-sobre__inner {
    grid-template-columns: 1fr;
  }
  .home-sobre::after {
    width: 100%;
    opacity: 0.18;
  }
}
/* ─── Home: faixas de CTA lado a lado (Blog/Portal, Canal/Dicas) ────────── */
.home-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem; /* gutter entre as colunas, igual ao Figma */
}

/* Gutter entre as duas faixas (Blog/Portal e Canal/Dicas) — são <section>
   separadas, então o espaço vem de margem, não do gap do grid. */
.home-split + .home-split {
  margin-top: 1.5rem;
}

@media (max-width: 768px) {
  .home-split {
    grid-template-columns: 1fr;
  }
}
/* ─── Banner de topo das páginas internas (global/page-hero.php) ────────── */
.page-hero {
  background: var(--page-hero-bg) center/cover no-repeat;
  background-color: var(--color-border);
}

.page-hero__inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding: clamp(3rem, 12vw, 12.6rem) 1.5rem;
}

.page-hero__title {
  margin: 0;
  color: var(--page-hero-color, var(--color-primary));
  font-size: clamp(2rem, 4.5vw, 3.125rem); /* 50px */
  font-weight: 700;
  text-transform: uppercase;
}

/* ─── Introdução de página interna (Laboratório, FAQ) ───────────────────── */
.page-intro {
  background: var(--color-white);
  padding-block: clamp(1.5rem, 4vw, 2.5rem);
}

.page-intro__inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.page-intro__title {
  margin: 0;
  color: var(--color-text);
  font-size: clamp(1.375rem, 2.5vw, 1.75rem);
  font-weight: 700;
}

.page-intro__text {
  margin: 0;
  color: var(--color-text);
  font-size: 1.0625rem;
  line-height: 1.6;
  max-width: 90ch;
}

.page-intro--faq .page-intro__text {
  text-align: center;
  max-width: none;
  margin-inline: auto;
}

/* ─── Página Laboratório: "Onde fica?" (foto + endereço + mapa) ─────────── */
.onde-fica {
  background: var(--color-white);
  padding-block: clamp(2rem, 5vw, 3.5rem);
}

.onde-fica__inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: grid;
  grid-template-columns: minmax(240px, 400px) 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
}

.onde-fica__info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  text-align: center;
}

.onde-fica__info svg {
  width: 60px;
  height: 60px;
}

.onde-fica__title {
  margin: 0;
  color: var(--color-primary);
  font-size: 1.5625rem; /* 25px */
  font-weight: 700;
  text-transform: uppercase;
}

.onde-fica__address {
  margin: 0;
  max-width: 26ch;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.5;
}

.onde-fica__map {
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.onde-fica__map iframe {
  display: block;
  width: 100%;
  height: 450px;
}

@media (max-width: 860px) {
  .onde-fica__inner {
    grid-template-columns: 1fr;
  }
  .onde-fica__map iframe {
    height: 320px;
  }
}
/* ─── Página Dúvidas Frequentes (FAQ): acordeão ─────────────────────────── */
.faq {
  background: var(--color-white);
  padding-block: clamp(2rem, 5vw, 4rem);
}

.faq__inner {
  width: 100%;
  max-width: 1120px;
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.faq__title {
  margin: 0;
  color: var(--color-primary);
  font-size: clamp(1.5rem, 3vw, 1.875rem); /* 30px */
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
}

.faq__accordion {
  list-style: none;
  margin: 0;
  padding: 0;
}

.faq__item {
  border-bottom: 1px solid #000;
}

.faq__item details {
  padding-block: 0.25rem;
}

.faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1rem;
  cursor: pointer;
  list-style: none;
}

.faq__question::-webkit-details-marker {
  display: none;
}

.faq__question h3 {
  margin: 0;
  color: var(--color-primary);
  font-size: 1.25rem; /* ~23px */
  font-weight: 700;
  line-height: 1.3;
}

.faq__arrow {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 25px;
  height: 25px;
  transition: transform 0.2s;
}

.faq__arrow svg {
  width: 16px;
  height: 16px;
}

details[open] .faq__arrow {
  transform: rotate(180deg);
}

.faq__answer {
  padding: 0 0 1.25rem;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.6;
}

.faq__answer p {
  margin: 0 0 0.75rem;
}

.faq__answer p:last-child {
  margin-bottom: 0;
}

/* ─── Página Contato: cards de contato ───────────────────────────────────── */
.contato-cards {
  background: var(--color-white);
  padding-block: clamp(2rem, 5vw, 4.5rem);
}

.contato-cards__inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.contato-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 2rem 1.5rem;
  text-align: center;
  background: var(--contato-card-bg) center/cover no-repeat, var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.contato-card__icon {
  width: 60px;
  height: 60px;
  margin-bottom: 0.25rem;
}

.contato-card__title {
  margin: 0;
  color: var(--color-primary);
  font-size: 1.125rem;
  font-weight: 700;
  text-transform: uppercase;
}

.contato-card__text {
  margin: 0;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.5;
}

.contato-card__text a {
  color: inherit;
}

.contato-card__line {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  color: var(--color-text);
}

.contato-card__line a {
  color: inherit;
}

@media (max-width: 860px) {
  .contato-cards__inner {
    grid-template-columns: 1fr;
  }
}
/* ─── Formulário de contato ──────────────────────────────────────────────── */
.contato-form {
  background: var(--color-white);
  padding-block: clamp(2rem, 5vw, 3.5rem);
}

.contato-form__inner {
  width: 100%;
  max-width: 1140px;
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.contato-form__title {
  margin: 0 0 2rem;
  color: var(--color-text);
  font-size: clamp(1.5rem, 3vw, 1.875rem);
  font-weight: 700;
  text-align: center;
}

/*
 * Formulário renderizado pelo plugin Contact Form 7 (partials/contato/form.php).
 * O formulário em si (Contatos → Formulários de Contato) fica simples — sem
 * classes/HTML customizado — e o layout de grade (nome+email, telefone+assunto
 * lado a lado, mensagem ocupando a linha toda) é montado aqui via CSS, usando
 * os ids/classes que o próprio CF7 já gera (data-name, .wpcf7-form-control-wrap etc.).
 */
.contato-form__inner .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Os campos nome/email/telefone/assunto/mensagem caem todos num único <p>
   (separados por <br>) — vira um grid de 2 colunas; a mensagem ocupa a linha toda. */
.contato-form__inner .wpcf7-form > p:first-of-type {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: 0;
}

.contato-form__inner .wpcf7-form > p:first-of-type br {
  display: none;
}

.contato-form__inner .wpcf7-form-control-wrap {
  display: block;
}

.contato-form__inner .wpcf7-form-control-wrap[data-name=mensagem] {
  grid-column: 1/-1;
}

.contato-form__inner input[type=text],
.contato-form__inner input[type=email],
.contato-form__inner input[type=tel],
.contato-form__inner textarea {
  width: 100%;
  padding: 0.625rem 1rem;
  background: var(--color-white);
  border: 1px solid var(--color-accent);
  border-radius: 10px;
  font: inherit;
  font-size: 1rem;
  color: var(--color-text);
}

.contato-form__inner textarea {
  resize: vertical;
  min-height: 100px;
}

.contato-form__inner ::placeholder {
  color: var(--color-text);
  opacity: 0.7;
}

.contato-form__inner .wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.25rem;
  color: #b3261e;
  font-size: 0.875rem;
}

.contato-form__inner .wpcf7-response-output {
  margin: 0 0 1.5rem;
  padding: 1rem 1.25rem;
  border-radius: var(--radius);
  font-weight: 600;
  text-align: center;
  border-color: var(--color-border);
}

.contato-form__inner form.sent .wpcf7-response-output {
  background: #e6f4ea;
  color: #1e7e34;
}

.contato-form__inner form.failed .wpcf7-response-output,
.contato-form__inner form.aborted .wpcf7-response-output,
.contato-form__inner form.spam .wpcf7-response-output,
.contato-form__inner form.invalid .wpcf7-response-output {
  background: #fdecea;
  color: #b3261e;
}

.contato-form__inner .wpcf7-acceptance {
  display: flex;
  align-items: center;
}

.contato-form__inner .wpcf7-list-item {
  margin: 0;
}

.contato-form__inner .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 1rem;
  color: var(--color-text);
}

.contato-form__inner .wpcf7-list-item input {
  width: 16px;
  height: 16px;
}

.contato-form__inner .wpcf7-list-item a {
  color: var(--color-primary);
  text-decoration: underline;
}

.contato-form__inner .wpcf7-submit {
  align-self: center;
  min-width: 280px;
  margin-top: 0.5rem;
  padding: 0.875rem 2rem;
  background: var(--color-primary);
  color: var(--color-white);
  font-weight: 700;
  font-size: 1rem;
  text-transform: uppercase;
  border: 0;
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-btn);
  cursor: pointer;
  transition: filter 0.2s, transform 0.2s;
}

.contato-form__inner .wpcf7-submit:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

@media (max-width: 640px) {
  .contato-form__inner .wpcf7-form > p:first-of-type {
    grid-template-columns: 1fr;
  }
}
/* ─── Imagem de encerramento ─────────────────────────────────────────────── */
.contato-bottom-image img {
  display: block;
  width: 100%;
  height: auto;
}

/* ─── Página Equipe Técnica: introdução (foto + texto) ──────────────────── */
.equipe-intro {
  background: var(--color-white);
  padding-block: clamp(2rem, 5vw, 3.75rem);
}

.equipe-intro__inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: grid;
  grid-template-columns: minmax(240px, 451px) 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
}

.equipe-intro__media img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius);
}

.equipe-intro__body {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 44ch;
}

.equipe-intro__subtitle {
  margin: 0;
  color: var(--color-primary);
  font-size: 1.25rem; /* 20px */
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.4;
}

.equipe-intro__text {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.6;
}

.equipe-intro__text p {
  margin: 0;
}

.equipe-intro__closing {
  margin: 0;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 600;
  font-style: italic;
  line-height: 1.5;
}

@media (max-width: 860px) {
  .equipe-intro__inner {
    grid-template-columns: 1fr;
  }
}
/* ─── Página Equipe Técnica: foto do time (fundo bege) ──────────────────── */
.equipe-foto {
  background: #dfd1c7;
  padding-block: clamp(2rem, 5vw, 4.4rem);
}

.equipe-foto img {
  display: block;
  width: 100%;
  max-width: 902px;
  margin-inline: auto;
  height: auto;
}

/* ─── Faixa "imagem + título + texto" (global/feature-row.php) ──────────── */
.feature-row {
  display: grid;
  grid-template-columns: var(--feature-row-ratio, 2fr 1fr);
  background: var(--color-white);
}

.feature-row--image-right {
  grid-template-columns: var(--feature-row-ratio, 1fr 2fr);
}

.feature-row--image-right .feature-row__media {
  order: 2;
}

.feature-row--image-right .feature-row__body {
  order: 1;
}

/* Marca d'água atrás de toda a faixa (título + texto + imagem) */
.feature-row--watermark {
  position: relative;
  isolation: isolate; /* garante que o ::before (z-index:-1) fique atrás do conteúdo, não da seção */
}

.feature-row--watermark::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--feature-row-watermark) center/cover no-repeat;
  z-index: -1;
}

.feature-row__media {
  position: relative;
  min-height: 280px;
  /* respiro vertical entre a imagem e as faixas vizinhas, igual ao Figma
     (lá cada faixa tem sua própria margem, em vez de imagens coladas) */
  margin-block: clamp(1.5rem, 4vw, 3rem);
}

.feature-row__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Proporção travada (sem cover/crop) — usado quando a foto não pode ser
   cortada, ex.: retrato de pessoa. A altura acompanha a largura da coluna. */
.feature-row__media--fixed-ratio {
  min-height: 0;
  aspect-ratio: var(--feature-row-media-ratio);
}

.feature-row__media--fixed-ratio img {
  position: static;
  width: 100%;
  height: 100%;
  object-fit: cover; /* a proporção do container já bate com a da foto, então não corta nada */
}

.feature-row__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.5rem;
  padding: clamp(2rem, 5vw, 4rem);
}

.feature-row__title {
  margin: 0;
  max-width: 26ch;
  color: var(--color-primary);
  font-size: clamp(1.375rem, 2.4vw, 1.5625rem); /* 25px */
  font-weight: 700;
  line-height: 1.35;
  text-transform: uppercase;
}

.feature-row__title i {
  font-style: italic;
  text-transform: none;
}

.feature-row__text {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 42ch;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.6;
}

.feature-row__text p {
  margin: 0;
}

.feature-row__text i {
  font-style: italic;
}

@media (max-width: 768px) {
  .feature-row,
  .feature-row--image-right {
    grid-template-columns: 1fr;
  }
  .feature-row__media,
  .feature-row--image-right .feature-row__media {
    order: 1;
    min-height: 220px;
  }
  .feature-row--image-right .feature-row__body {
    order: 2;
  }
}
/* ─── Página Viscum: tabela de tipos ─────────────────────────────────────── */
.viscum-tipos {
  background: var(--color-white);
  padding-block: clamp(1rem, 3vw, 2rem);
}

.viscum-tipos__inner {
  width: 100%;
  max-width: 706px; /* 2 colunas ~353px, igual ao Figma */
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: flex;
  flex-direction: column;
}

.viscum-tipos__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.viscum-tipos__cell {
  padding: 1.25rem 1rem;
  text-align: center;
  font-size: 1.125rem;
  color: var(--color-text);
  border: 1px solid var(--color-border);
}

.viscum-tipos__cell--label {
  font-style: italic;
  background: var(--color-white);
}

.viscum-tipos__cell--host {
  background: #dfd1c7;
}

@media (max-width: 560px) {
  .viscum-tipos__row {
    grid-template-columns: 1fr;
  }
}
/* ─── Página Viscum: concentrações + ampola ──────────────────────────────── */
.viscum-concentracoes {
  background: var(--color-white);
  padding-block: clamp(1.5rem, 4vw, 3rem);
}

.viscum-concentracoes__inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: clamp(1.5rem, 8vw, 6.5rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}

.viscum-concentracoes__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.viscum-concentracoes__item {
  padding: 1.25rem 1rem;
  text-align: center;
  color: var(--color-text);
  font-size: 1rem;
  border: 1px solid var(--color-border);
}

.viscum-concentracoes__media {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #dfd1c7;
  padding-bottom: 1.5rem;
}

.viscum-concentracoes__photo {
  width: 100%;
  aspect-ratio: 400/327;
  overflow: hidden;
}

.viscum-concentracoes__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.viscum-concentracoes__caption {
  margin: 1.5rem 0 0;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 700;
}

@media (max-width: 640px) {
  .viscum-concentracoes__inner {
    grid-template-columns: 1fr;
  }
}
/* ─── Página Viscum: processo de fabricação (texto corrido) ─────────────── */
.viscum-processo {
  background: var(--color-white);
  padding-block: clamp(1.5rem, 4vw, 2.5rem);
}

.viscum-processo__inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.6;
}

.viscum-processo__inner p {
  margin: 0;
}

/* ─── Página Quem Somos: história + vídeo ───────────────────────────────── */
.quem-somos-historia {
  background: var(--color-white);
  padding-block: clamp(2rem, 5vw, 3.5rem);
}

.quem-somos-historia__inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.quem-somos-historia__eyebrow {
  margin: 0;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 400;
  text-align: center;
}

.quem-somos-historia__title {
  margin: 0 0 1.5rem;
  color: var(--color-text);
  font-size: clamp(1.5rem, 3vw, 1.875rem);
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
}

.quem-somos-historia__video {
  position: relative;
  width: 100%;
  max-width: 1180px;
  aspect-ratio: 16/9;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.quem-somos-historia__video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* ─── Subtítulo dentro do bloco "Sobre" (reaproveita .home-sobre) ───────── */
.quem-somos-sobre__subtitle {
  margin: 0;
  color: var(--color-text);
  font-weight: 700;
  font-size: 1rem;
}

/* ─── Dois pilares lado a lado, com divisor central ──────────────────────── */
.quem-somos-pilares {
  background: var(--color-white);
  padding-block: clamp(2rem, 6vw, 5.5rem);
}

.quem-somos-pilares__inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 6vw, 4rem);
  position: relative;
}

.quem-somos-pilares__inner::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--color-border);
}

.quem-somos-pilares__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}

.quem-somos-pilares__icon {
  width: 64px;
  height: 64px;
}

.quem-somos-pilares__title {
  margin: 0;
  max-width: 30ch;
  color: var(--color-primary);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
  text-transform: uppercase;
}

.quem-somos-pilares__text {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.6;
}

.quem-somos-pilares__text p {
  margin: 0;
}

@media (max-width: 768px) {
  .quem-somos-pilares__inner {
    grid-template-columns: 1fr;
  }
  .quem-somos-pilares__inner::before {
    display: none;
  }
}
/* ─── Galeria de imagens (carrossel) ──────────────────────────────────────── */
.quem-somos-galeria {
  background: var(--color-white);
  padding-block: clamp(2.5rem, 6vw, 5.4rem);
}

.quem-somos-galeria__inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

.quem-somos-galeria__title {
  margin: 0;
  color: var(--color-primary);
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}

.quem-somos-galeria__carousel {
  position: relative;
  width: 100%;
  max-width: 1000px;
  padding-inline: 3.25rem;
}

.quem-somos-galeria__track {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.quem-somos-galeria__track::-webkit-scrollbar {
  display: none;
}

.quem-somos-galeria__item {
  flex: 0 0 100%;
  scroll-snap-align: start;
  aspect-ratio: 882/500;
}

.quem-somos-galeria__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.quem-somos-galeria__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  background: none;
  border: 0;
  cursor: pointer;
  color: var(--color-primary);
}

.quem-somos-galeria__nav svg {
  width: 0.9rem;
  height: auto;
}

.quem-somos-galeria__nav--prev {
  left: 0;
}

.quem-somos-galeria__nav--next {
  right: 0;
}

.quem-somos-galeria__nav:disabled {
  opacity: 0.3;
  cursor: default;
}

.quem-somos-galeria__caption {
  margin: 0;
  max-width: 50ch;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
}

/* ─── Modelo: Linha de Produto (page-produto-linha.php) ──────────────────── */
/* Banner (produto-linha/hero.php) */
.produto-linha-hero {
  background: var(--produto-linha-hero-bg) center/cover no-repeat;
  background-color: var(--color-border);
}

.produto-linha-hero__inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding: clamp(3rem, 12vw, 12.6rem) 1.5rem;
}

.produto-linha-hero__categoria {
  margin: 0 0 0.25rem;
  color: #ffe3ce;
  font-size: clamp(1.75rem, 4.2vw, 3rem); /* 48px */
  font-weight: 700;
  text-transform: uppercase;
}

.produto-linha-hero__titulo {
  margin: 0;
  color: #ffe3ce;
  font-size: clamp(1.375rem, 3vw, 2.375rem); /* 38px */
  font-weight: 700;
  text-transform: uppercase;
}

/* Introdução (produto-linha/intro.php) */
.produto-linha-intro {
  background: var(--color-white);
  padding-block: clamp(2.5rem, 6vw, 4.375rem);
}

.produto-linha-intro__inner {
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
}

.produto-linha-intro__icon {
  width: 80px;
  height: auto;
}

.produto-linha-intro__categoria {
  margin: 0;
  color: var(--color-primary);
  font-size: clamp(1.375rem, 3vw, 1.875rem); /* 30px */
  font-weight: 700;
  text-transform: uppercase;
}

.produto-linha-intro__texto {
  max-width: 46rem;
  margin: 0;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.4;
}

/* Bloco imagem + texto (produto-linha/conteudo.php) */
.produto-linha-conteudo {
  background: var(--color-white);
  padding-block: clamp(1.5rem, 4vw, 2.5rem);
}

.produto-linha-conteudo__inner {
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}

.produto-linha-conteudo--img-direita .produto-linha-conteudo__inner {
  direction: rtl;
}

.produto-linha-conteudo--img-direita .produto-linha-conteudo__media,
.produto-linha-conteudo--img-direita .produto-linha-conteudo__texto {
  direction: ltr;
}

/* Imagem centralizada — útil quando não há texto no editor principal
   (sem isso a imagem fica colada na coluna da esquerda, com um vão vazio do lado). */
.produto-linha-conteudo--img-centro .produto-linha-conteudo__inner {
  grid-template-columns: 1fr;
  justify-items: center;
  text-align: center;
}

.produto-linha-conteudo--img-centro .produto-linha-conteudo__media {
  width: 100%;
  max-width: 620px;
}

.produto-linha-conteudo__media img {
  width: 100%;
  border-radius: var(--radius);
}

.produto-linha-conteudo__texto {
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.produto-linha-conteudo__texto > *:first-child {
  margin-top: 0;
}

.produto-linha-conteudo__texto p {
  margin: 0 0 1rem;
}

.produto-linha-conteudo__texto h2 {
  margin: clamp(1.5rem, 3vw, 2rem) 0 1rem;
  color: var(--color-text);
  font-size: clamp(1.375rem, 3vw, 1.875rem); /* 30px */
  font-weight: 700;
  text-transform: uppercase;
}

.produto-linha-conteudo__texto ul {
  margin: 0 0 1rem;
  padding-left: 1.5rem;
}

.produto-linha-conteudo__texto li {
  margin-bottom: 0.375rem;
  list-style: disc;
}

@media (max-width: 860px) {
  .produto-linha-conteudo__inner,
  .produto-linha-conteudo--img-direita .produto-linha-conteudo__inner {
    grid-template-columns: 1fr;
    direction: ltr;
  }
}
/* O carrossel "outros produtos" reaproveita o componente global/loop-product.php
   (mesmo usado na Home), ver sections/_loop-produtos.scss — sem estilos próprios aqui. */
/* ─── Blog: busca, listagem, card, artigo, relacionados ─────────────────── */
/* Busca (global/blog-search.php) */
.blog-search {
  position: relative;
  max-width: 280px;
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.blog-search__input {
  width: 100%;
  padding: 0.5rem 2.25rem 0.5rem 0.9375rem;
  border: 2px solid var(--color-primary);
  border-radius: 10px;
  background: var(--color-white);
  font-family: var(--font-base);
  font-size: 0.875rem;
  color: var(--color-primary);
}

.blog-search__input::placeholder {
  color: var(--color-primary);
  opacity: 0.8;
}

.blog-search__input:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.blog-search__submit {
  position: absolute;
  top: 50%;
  right: 0.9375rem;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  padding: 0;
  background: none;
  border: 0;
  color: var(--color-primary);
  cursor: pointer;
}

.blog-search__submit svg {
  width: 100%;
  height: 100%;
}

/* Listagem (home.php) */
.blog-listing {
  padding-block: clamp(2rem, 5vw, 3.5rem);
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.875rem;
}

.blog-grid--related {
  margin-bottom: clamp(1.5rem, 4vw, 2rem);
}

.blog-empty {
  color: var(--color-muted);
  text-align: center;
  padding-block: 2rem;
}

/* Paginação */
.blog-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-top: clamp(2rem, 5vw, 3rem);
}

.blog-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding-inline: 0.5rem;
  border-radius: 50%;
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: none;
}

.blog-pagination .page-numbers.current {
  background: var(--color-primary);
  color: var(--color-white);
}

.blog-pagination .page-numbers.dots {
  background: none;
}

.blog-pagination .page-numbers:hover:not(.current) {
  text-decoration: none;
  background: color-mix(in srgb, var(--color-primary) 12%, #fff);
}

/* Card (global/blog-card.php) */
.blog-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  background: var(--color-white);
  border-radius: 4px;
  box-shadow: 0 3px 11px rgba(0, 0, 0, 0.25);
  overflow: hidden;
}

.blog-card__media {
  display: block;
  aspect-ratio: 575/250;
  overflow: hidden;
  background: color-mix(in srgb, var(--color-primary) 8%, #fff);
}

.blog-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-card__media--placeholder {
  display: grid;
  place-items: center;
}

.blog-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  padding: 0.9375rem;
  flex: 1;
}

.blog-card__title {
  margin: 0;
}

.blog-card__title a {
  color: var(--color-primary);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  text-transform: uppercase;
  text-decoration: none;
}

.blog-card__title a:hover {
  text-decoration: underline;
}

.blog-card__meta {
  margin: 0;
  opacity: 0.8;
  color: var(--color-text);
  font-size: 0.8125rem;
  font-weight: 600;
}

.blog-card__excerpt {
  margin: 0;
  color: var(--color-text);
  font-size: 0.9375rem;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-card__button {
  align-self: flex-start;
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 150px;
  height: 30px;
  padding-inline: 1rem;
  background: var(--color-primary);
  color: var(--color-white);
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  border-radius: var(--radius-pill);
}

.blog-card__button:hover {
  color: var(--color-white);
  text-decoration: none;
  filter: brightness(1.05);
}

/* Artigo (single.php) */
.blog-article-wrap {
  padding-block: clamp(2.5rem, 6vw, 5rem);
}

.blog-article {
  max-width: 1075px;
  margin-inline: auto;
}

.blog-article__media {
  aspect-ratio: 1075/416;
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.blog-article__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-article__content {
  max-width: 780px;
  color: var(--color-primary);
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: -0.02em;
}

.blog-article__content p {
  margin-bottom: 1.25rem;
}

.blog-article__content h2 {
  margin-top: clamp(2rem, 4vw, 2.9rem);
  margin-bottom: 1rem;
  color: var(--color-text);
  font-size: clamp(1.375rem, 3vw, 1.875rem); /* 30px */
  font-weight: 700;
  letter-spacing: normal;
  text-transform: uppercase;
}

.blog-article__content a {
  color: var(--color-primary);
  text-decoration: underline;
}

.blog-article__content img {
  border-radius: var(--radius);
  margin-block: 1.5rem;
}

.blog-article__content strong {
  font-weight: 700;
}

.blog-article__nav {
  max-width: 1075px;
  margin: clamp(1.5rem, 4vw, 2.5rem) auto 0;
}

.blog-article__nav a {
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: none;
}

.blog-article__nav a:hover {
  text-decoration: underline;
}

/* Artigos relacionados */
.blog-related {
  padding-block: clamp(2rem, 5vw, 3.5rem);
  background: var(--color-white);
}

.blog-related__title {
  margin-bottom: clamp(1.25rem, 3vw, 1.75rem);
  color: var(--color-primary);
  font-size: 1.5625rem; /* 25px */
  font-weight: 600;
  text-align: center;
}

.blog-related__more {
  display: flex;
  justify-content: center;
}

@media (max-width: 720px) {
  .blog-grid {
    grid-template-columns: 1fr;
  }
}
/* ─── Rodapé do site ─────────────────────────────────────────────────────── */
.site-footer {
  background: var(--color-white);
  color: var(--color-primary);
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: -0.02em;
  padding-block: clamp(2rem, 5vw, 3rem);
}

.site-footer__inner {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.site-footer a {
  color: inherit;
  text-decoration: none;
}

.site-footer a:hover {
  text-decoration: underline;
}

.site-footer p {
  margin: 0;
}

/* Grid de colunas */
.site-footer__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.5rem 1.75rem;
}

.site-footer__col {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-width: 0;
}

.site-footer__block {
  margin-block: 0.35rem;
}

.site-footer__block > p + p {
  margin: 0;
}

.site-footer__heading {
  margin: 1rem 0 0.25rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 0;
}

.site-footer__col > .site-footer__heading:first-child {
  margin-top: 0;
}

.site-footer__logo {
  display: inline-block;
  margin-bottom: 0.5rem;
}

.site-footer__logo img {
  width: clamp(180px, 60%, 250px);
  height: auto;
}

.site-footer__company {
  font-weight: 600;
}

/* Listas */
.site-footer__menu,
.site-footer__docs,
.site-footer__social {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer__menu li {
  margin-bottom: 0.5rem;
}

.site-footer__menu a {
  font-size: 1rem;
}

.site-footer__docs li {
  margin-bottom: 0.5rem;
}

.site-footer__disclaimer {
  margin-top: 1rem;
  max-width: 30ch;
}

/* Redes sociais */
.site-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.site-footer__social a {
  display: grid;
  place-items: center;
  width: 33px;
  height: 33px;
  border-radius: 50%;
  background: var(--color-primary);
  transition: opacity 0.2s;
}

.site-footer__social a:hover {
  opacity: 0.82;
}

.site-footer__social svg {
  width: 16px;
  height: 16px;
  fill: var(--color-white);
  /* os SVGs exportados do Figma vêm espelhados na vertical */
  transform: scaleY(-1);
}

/* Barra de créditos */
.site-footer__bottom {
  margin-top: clamp(1.5rem, 4vw, 2.5rem);
  padding-top: 1.25rem;
  border-top: 1px solid #000;
}

.site-footer__credit {
  margin: 0;
  text-align: center;
  font-size: 0.8125rem;
  color: #000;
}

.site-footer__credit a {
  text-decoration: underline;
}

@media (max-width: 900px) {
  .site-footer__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 560px) {
  .site-footer__grid {
    grid-template-columns: 1fr;
  }
}
/* ─── Popup "Faça o seu orçamento" (partials/global/modal-orcamento.php) ─── */
.modal-orcamento {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 1.5rem;
}

.modal-orcamento[hidden] {
  display: none;
}

body.modal-open {
  overflow: hidden;
}

.modal-orcamento__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(26, 26, 26, 0.55);
}

.modal-orcamento__dialog {
  position: relative;
  width: 100%;
  max-width: 420px;
  max-height: calc(100vh - 3rem);
  overflow-y: auto;
  background: var(--color-white);
  border-radius: var(--radius);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
  padding: 2rem 1.75rem 1.75rem;
}

.modal-orcamento__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  background: none;
  border: 0;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--color-text);
  cursor: pointer;
}

.modal-orcamento__title {
  margin: 0 0 1.25rem;
  padding-right: 2rem;
  color: var(--color-text);
  font-size: 1.375rem;
  font-weight: 700;
}

/* Formulário (Contact Form 7) — cada campo cai num <p> próprio */
.modal-orcamento__dialog .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.modal-orcamento__dialog .wpcf7-form p {
  margin: 0;
}

.modal-orcamento__dialog .wpcf7-form-control-wrap {
  display: block;
  position: relative;
}

/* Rótulos — o CF7 não gera <label>, usamos o data-name que ele já coloca em
   cada campo (partials/global/modal-orcamento.php não precisa saber disso —
   é só CSS lendo a marcação que o próprio plugin gera). */
.modal-orcamento__dialog [data-name]::before {
  display: block;
  margin-bottom: 0.375rem;
  color: var(--color-primary);
  font-size: 0.9375rem;
  font-weight: 600;
}

.modal-orcamento__dialog [data-name=nome]::before {
  content: "Nome*";
}

.modal-orcamento__dialog [data-name=email]::before {
  content: "Email*";
}

.modal-orcamento__dialog [data-name=telefone]::before {
  content: "Telefone*";
}

.modal-orcamento__dialog [data-name=estado]::before {
  content: "Estado*";
}

.modal-orcamento__dialog [data-name=registro_profissional]::before {
  content: "Registro Profissional*";
}

.modal-orcamento__dialog [data-name=nro_registro]::before {
  content: "Nº do registro";
}

.modal-orcamento__dialog input[type=text],
.modal-orcamento__dialog input[type=email],
.modal-orcamento__dialog input[type=tel],
.modal-orcamento__dialog select {
  width: 100%;
  padding: 0.625rem 0.875rem;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  font: inherit;
  font-size: 0.9375rem;
  color: var(--color-text);
  appearance: none;
}

.modal-orcamento__dialog select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23965f36' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.875rem center;
  padding-right: 2rem;
}

.modal-orcamento__dialog ::placeholder {
  color: var(--color-muted);
  opacity: 1;
}

/* Telefone — selo fixo "BR +55" sobreposto no campo (decorativo, sem seletor de país) */
.modal-orcamento__dialog [data-name=telefone] {
  position: relative;
}

.modal-orcamento__dialog [data-name=telefone] input {
  padding-left: 4.5rem;
}

.modal-orcamento__dialog [data-name=telefone]::after {
  content: "BR +55";
  position: absolute;
  left: 0.5rem;
  bottom: 0.5rem;
  padding: 0.3rem 0.5rem;
  background: color-mix(in srgb, var(--color-primary) 10%, #fff);
  border: 1px solid var(--color-border);
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-primary);
  pointer-events: none;
}

.modal-orcamento__dialog .wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.25rem;
  color: #b3261e;
  font-size: 0.8125rem;
}

.modal-orcamento__dialog .wpcf7-response-output {
  margin: 0;
  padding: 0.875rem 1rem;
  border-radius: var(--radius);
  font-weight: 600;
  font-size: 0.9375rem;
  text-align: center;
  border-color: var(--color-border);
}

.modal-orcamento__dialog form.sent .wpcf7-response-output {
  background: #e6f4ea;
  color: #1e7e34;
}

.modal-orcamento__dialog form.failed .wpcf7-response-output,
.modal-orcamento__dialog form.aborted .wpcf7-response-output,
.modal-orcamento__dialog form.spam .wpcf7-response-output,
.modal-orcamento__dialog form.invalid .wpcf7-response-output {
  background: #fdecea;
  color: #b3261e;
}

.modal-orcamento__dialog .wpcf7-submit {
  width: 100%;
  margin-top: 0.25rem;
  padding: 0.875rem 1.5rem;
  background: var(--gradient-cta);
  color: var(--color-white);
  font-weight: 700;
  font-size: 1rem;
  border: 0;
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-btn);
  cursor: pointer;
  transition: filter 0.2s, transform 0.2s;
}

.modal-orcamento__dialog .wpcf7-submit:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}