/* A Mesa: recorte real, salas e catálogo de janelas. */
.mesa-abertura { display: grid; gap: var(--e-6); align-items: center; }
.mesa-intro h1 { font-size: var(--fs-display); }
.mesa-intro .lede { margin-top: var(--e-5); }
.mesa-intro .link-seta { margin-top: var(--e-5); }
.mesa-intro-nota { max-width: 40ch; margin-top: var(--e-6); padding-left: var(--e-4); border-left: 2px solid var(--wire-line); color: var(--tx2); font-size: var(--fs-pequeno); }
.mesa-vitrine { display: grid; gap: var(--e-5); margin: 0; padding: clamp(16px, 3vw, 40px); border: 1px solid var(--line); border-radius: var(--r-painel); }
.mesa-recorte { box-shadow: var(--elev); }
.mesa-recorte img { width: 100%; }
.mesa-vitrine figcaption { line-height: 1.5; }
.mesa-tipos { display: grid; gap: var(--e-5); }
.mesa-tipo { display: flex; flex-direction: column; align-items: flex-start; gap: var(--e-5); padding: clamp(24px, 3vw, 40px); }
.mesa-tipo > .icone { color: var(--wire); }
.mesa-tipo p { color: var(--tx2); }
.mesa-tipo .etiqueta { margin-top: auto; padding-top: var(--e-5); line-height: 1.5; border-top: 1px solid var(--line2); width: 100%; }
.mesa-filtros { margin-bottom: var(--e-7); }
.mesa-grupo + .mesa-grupo { margin-top: var(--e-8); }
.mesa-grupo-cab { display: flex; align-items: center; flex-wrap: wrap; gap: var(--e-3); margin-bottom: var(--e-5); }
.mesa-grupo-cab > .icone { color: var(--wire); }
.mesa-contagem { color: var(--tx3); margin-left: auto; white-space: nowrap; }
.mesa-grupo-cab p { flex-basis: 100%; color: var(--tx2); }
.mesa-catalogo-grade { list-style: none; display: grid; gap: var(--e-4); }
.mesa-cartao { display: flex; flex-direction: column; }
.mesa-cartao h4 { font-family: var(--f-texto); font-size: 0.9375rem; font-weight: 700; letter-spacing: 0; }
.mesa-cartao-corpo { display: flex; flex-direction: column; align-items: flex-start; gap: var(--e-5); flex: 1; padding: var(--e-5); }
.mesa-cartao-corpo p { color: var(--tx2); }
.mesa-cartao-corpo .etiqueta { margin-top: auto; color: var(--tx3); line-height: 1.4; font-size: 0.6875rem; }
.mesa-travas { display: grid; gap: var(--e-4); }
.mesa-trava { display: grid; align-content: start; gap: var(--e-4); }
.mesa-trava > .icone { color: var(--wire); }
.mesa-trava p { color: var(--tx2); }
.mesa-fecho { padding-bottom: var(--e-9); }
.mesa-convite { display: grid; gap: var(--e-6); justify-items: start; padding: clamp(24px, 5vw, 72px); border: 1px solid var(--line2); border-radius: var(--r-painel); }
.mesa-convite h2 { max-width: 16ch; }
.mesa-convite .lede { margin-top: var(--e-5); }

@media (min-width: 640px) {
  .mesa-tipos, .mesa-catalogo-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .mesa-abertura { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--e-7); }
  .mesa-intro-nota { margin-top: var(--e-7); }
  .mesa-travas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mesa-convite { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
}

@media (min-width: 1200px) {
  .mesa-catalogo-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
