/* O CARDÁPIO DIGITAL (20/09/2026) — o site de delivery da loja.
   Folha própria e enxuta: a vitrine é a superfície mais exposta do produto e
   não carrega os 2.000 linhas do painel.

   Desenho a partir da referência do dono (site de delivery: barra do topo
   com a logo, hero com foto grande e chamada, três passos, ofertas em cards
   de foto, cardápio, sobre/contato, rodapé) e do que as plataformas fazem
   no pedido (ficha, sacola, checkout, acompanhamento). Fundo de papel
   quente e neutro; a cor da marca pinta o que é da casa (chamadas, aba
   ativa, preços, blobs do hero); o destaque só marca atenção (etiqueta
   "Em destaque", quantidade na sacola). --cd-marca e --cd-destaque vêm do
   painel (adoptedStyleSheets); as cores de texto sobre elas são calculadas
   pela luminância no storefront. */

:root {
  --cd-marca: #08756c;
  --cd-destaque: #f47b16;
  --cd-marca-texto: #ffffff;
  --cd-destaque-texto: #ffffff;
  --cd-destaque-tinta: #f47b16;
  --cd-tinta: #1b1a21;
  --cd-texto: #4a4852;
  --cd-suave: #7a7884;
  --cd-fundo: #f6f5f1;
  --cd-papel: #ffffff;
  --cd-borda: #e6e3dc;
  --cd-raio: 14px;
  --cd-sombra: 0 8px 24px rgba(27, 26, 33, .08);
  --cd-sombra-forte: 0 22px 48px rgba(27, 26, 33, .18);
  --cd-verde: #1a9a5a;
  --cd-vermelho: #c8321f;
  color-scheme: light;
}

* { box-sizing: border-box; }
/* Classes com display próprio não podem vencer o atributo hidden. */
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
.cardapio-body {
  margin: 0;
  background: var(--cd-fundo);
  color: var(--cd-tinta);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  padding-bottom: env(safe-area-inset-bottom);
}
.cardapio-body.cd-travado { overflow: hidden; }
.cardapio-main { margin: 0 auto; padding: 0 0 110px; min-height: 100vh; }
.cardapio-main.cd-sem-pedido { padding-bottom: 0; }
button { font: inherit; }
a { color: inherit; }
h1, h2, h3 { text-wrap: balance; }
.cd-ico { width: 16px; height: 16px; flex: 0 0 auto; }
.cd-ico-wa { width: 16px; height: 16px; flex: 0 0 auto; fill: currentColor; }
.cd-tag-base, .cd-secao-tag {
  display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: .6875rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
  background: color-mix(in srgb, var(--cd-destaque) 16%, #fff); color: var(--cd-destaque-tinta); vertical-align: middle;
}

/* ---- Barra do topo ------------------------------------------------------------ */
.cd-topo {
  position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 12px;
  height: 58px; padding: 0 14px; background: color-mix(in srgb, var(--cd-papel) 94%, transparent);
  backdrop-filter: blur(12px); border-bottom: 1px solid var(--cd-borda);
}
.cd-topo-marca { display: flex; align-items: center; gap: 10px; min-width: 0; text-decoration: none; color: var(--cd-tinta); }
.cd-topo-marca strong { font-size: 1rem; font-weight: 800; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cd-topo-logo { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; background: #fff; box-shadow: 0 0 0 2px #fff, 0 2px 8px rgba(0, 0, 0, .15); }
.cd-topo-logo-inicial { display: grid; place-items: center; font-size: .8125rem; font-weight: 900; background: var(--cd-marca); color: var(--cd-marca-texto); }
.cd-topo-links { display: none; }
.cd-topo-acoes { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.cd-topo-sacola {
  position: relative; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; border-radius: 999px;
  border: 1px solid var(--cd-borda); background: var(--cd-papel); color: var(--cd-tinta); font-weight: 700; cursor: pointer;
}
.cd-topo-sacola .cd-ico { width: 18px; height: 18px; color: var(--cd-marca); }
.cd-topo-sacola-texto { display: none; }
.cd-topo-badge {
  position: absolute; top: -6px; right: -4px; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; display: grid; place-items: center;
  background: var(--cd-destaque); color: var(--cd-destaque-texto); font-size: .6875rem; font-weight: 900; box-shadow: 0 0 0 2px #fff;
}
.cd-topo-cta {
  display: none; height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--cd-marca); color: var(--cd-marca-texto);
  font-weight: 800; cursor: pointer; box-shadow: 0 6px 16px color-mix(in srgb, var(--cd-marca) 30%, transparent);
}
.cd-topo-cta:hover { filter: brightness(1.06); }

/* A barra do pedido em andamento (volta sozinha quando o cliente reabre). */
.cd-acompanhar-barra {
  position: sticky; top: 58px; z-index: 19; display: flex; align-items: center; gap: 10px; padding: 8px 14px;
  background: color-mix(in srgb, var(--cd-marca) 10%, #fff); border-bottom: 1px solid color-mix(in srgb, var(--cd-marca) 22%, #fff); color: var(--cd-tinta);
}
.cd-acompanhar-barra .cd-ico { color: var(--cd-marca); width: 18px; height: 18px; }
.cd-acompanhar-texto { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; font-size: .8125rem; }
.cd-acompanhar-texto strong { font-size: .875rem; }
.cd-acompanhar-texto span { color: var(--cd-texto); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cd-acompanhar-abrir { margin-left: auto; height: 34px; padding: 0 14px; border: 0; border-radius: 999px; background: var(--cd-marca); color: var(--cd-marca-texto); font-weight: 800; font-size: .8125rem; cursor: pointer; white-space: nowrap; }

/* ---- Hero ---------------------------------------------------------------------- */
.cd-hero {
  position: relative; overflow: hidden; display: grid; gap: 22px; padding: 26px 18px 30px;
  background:
    radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--cd-marca) 14%, transparent) 1px, transparent 1.6px) 0 0 / 18px 18px,
    linear-gradient(170deg, color-mix(in srgb, var(--cd-marca) 10%, #fff), color-mix(in srgb, var(--cd-marca) 4%, var(--cd-fundo)) 60%, var(--cd-fundo));
}
.cd-hero-texto { position: relative; z-index: 1; display: grid; gap: 12px; }
.cd-hero-tag {
  justify-self: start; display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px;
  background: var(--cd-marca); color: var(--cd-marca-texto); font-size: .75rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase;
}
.cd-hero-tag .cd-ico, .cd-hero-tag .cd-ico-wa { width: 14px; height: 14px; }
.cd-hero-loja { margin: 0; font-size: .8125rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--cd-marca); }
.cd-hero h1 { margin: 0; font-size: clamp(1.875rem, 7vw, 2.5rem); font-weight: 900; letter-spacing: -.03em; line-height: 1.05; color: var(--cd-tinta); }
.cd-hero-sub { margin: 0; font-size: 1rem; color: var(--cd-texto); max-width: 46ch; }
.cd-hero-acoes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.cd-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 24px; border: 0; border-radius: 14px;
  font-weight: 850; font-size: 1rem; cursor: pointer; text-decoration: none; white-space: nowrap; transition: transform .14s ease, filter .14s ease, box-shadow .14s ease;
}
.cd-cta-principal { background: var(--cd-marca); color: var(--cd-marca-texto); box-shadow: 0 12px 26px color-mix(in srgb, var(--cd-marca) 32%, transparent); }
.cd-cta-principal:hover { filter: brightness(1.06); transform: translateY(-1px); }
.cd-cta-wa { background: var(--cd-papel); color: var(--cd-tinta); border: 1px solid var(--cd-borda); box-shadow: 0 4px 12px rgba(27, 26, 33, .06); }
.cd-cta-wa:hover { border-color: #25d366; }
.cd-cta-wa .cd-ico-wa { width: 20px; height: 20px; color: #25d366; }
.cd-meta { display: flex; flex-wrap: wrap; gap: 6px 8px; font-size: .8125rem; margin-top: 6px; }
.cd-meta-item {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border-radius: 999px;
  background: var(--cd-papel); color: var(--cd-texto); text-decoration: none; border: 1px solid var(--cd-borda); cursor: default;
}
a.cd-meta-item, button.cd-meta-item { cursor: pointer; }
a.cd-meta-item:hover, button.cd-meta-item:hover { border-color: var(--cd-marca); color: var(--cd-tinta); }
.cd-meta-item .cd-ico { color: var(--cd-marca); }

/* A foto grande, com a etiqueta do preço e uma segunda foto atrás. */
.cd-hero-visual { position: relative; min-height: 250px; }
.cd-hero-blob { position: absolute; border-radius: 50%; pointer-events: none; }
.cd-hero-blob-1 { width: 260px; height: 260px; right: -40px; top: -20px; background: color-mix(in srgb, var(--cd-marca) 14%, transparent); }
.cd-hero-blob-2 { width: 90px; height: 90px; left: 10px; bottom: 6px; background: color-mix(in srgb, var(--cd-destaque) 28%, transparent); }
.cd-hero-foto {
  position: relative; z-index: 1; margin: 0 auto; width: min(100%, 300px); aspect-ratio: 1; border-radius: 30px; overflow: hidden;
  background: #fff; box-shadow: 0 0 0 6px #fff, var(--cd-sombra-forte); transform: rotate(-2deg);
}
.cd-hero-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cd-hero-foto-logo { transform: none; display: grid; place-items: center; padding: 24px; background: #fff; }
.cd-hero-foto-logo img { object-fit: contain; }
.cd-hero-etiqueta {
  position: absolute; left: 12px; bottom: 12px; display: flex; flex-direction: column; padding: 10px 14px; border-radius: 14px;
  background: var(--cd-papel); color: var(--cd-tinta); box-shadow: 0 10px 24px rgba(0, 0, 0, .25); transform: rotate(2deg);
}
.cd-hero-etiqueta strong { font-size: .8125rem; max-width: 22ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cd-hero-etiqueta span { font-size: 1.125rem; font-weight: 900; color: var(--cd-marca); font-variant-numeric: tabular-nums; }
.cd-hero-foto-2 {
  position: absolute; z-index: 2; margin: 0; right: 4px; bottom: -8px; width: 118px; height: 118px; border-radius: 22px; overflow: hidden;
  background: #fff; box-shadow: 0 0 0 4px #fff, 0 14px 30px rgba(0, 0, 0, .25); transform: rotate(7deg);
}
.cd-hero-foto-2 img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---- Os três passos ------------------------------------------------------------ */
.cd-passos { display: grid; gap: 8px; padding: 14px 14px 0; }
.cd-passo {
  display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px;
  background: var(--cd-papel); border: 1px solid var(--cd-borda); color: var(--cd-tinta);
}
.cd-passo-ico {
  width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; flex: 0 0 auto;
  background: color-mix(in srgb, var(--cd-marca) 12%, #fff); color: var(--cd-marca);
}
.cd-passo-ico svg { width: 20px; height: 20px; }
.cd-passo-texto { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.cd-passo strong { font-size: .9375rem; font-weight: 800; }
.cd-passo small { color: var(--cd-suave); font-size: .8125rem; }

/* ---- Ofertas -------------------------------------------------------------------- */
.cd-secao-cabeca { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.cd-ofertas { padding: 26px 0 0 14px; }
.cd-ofertas-titulo { margin: 0 0 12px; font-size: 1.5rem; font-weight: 900; letter-spacing: -.02em; display: flex; align-items: center; gap: 10px; }
.cd-ofertas-trilho { display: flex; gap: 12px; overflow-x: auto; padding: 4px 14px 12px 0; scroll-snap-type: x mandatory; scrollbar-width: none; }
.cd-ofertas-trilho::-webkit-scrollbar { display: none; }
.cd-oferta {
  position: relative; flex: 0 0 218px; scroll-snap-align: start; display: flex; flex-direction: column; padding: 10px; text-align: left; cursor: pointer;
  border: 1px solid var(--cd-borda); border-radius: 18px; background: var(--cd-papel); color: inherit; font: inherit;
  box-shadow: 0 2px 6px rgba(27, 26, 33, .05); transition: transform .14s ease, box-shadow .14s ease;
}
.cd-oferta:hover { transform: translateY(-3px); box-shadow: var(--cd-sombra); }
.cd-oferta-foto { width: 100%; height: 150px; border-radius: 12px; overflow: hidden; background: var(--cd-fundo); display: grid; place-items: center; }
.cd-oferta-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cd-oferta-foto.is-vazia, .cd-item-foto.is-vazia {
  background: linear-gradient(135deg, color-mix(in srgb, var(--cd-marca) 14%, #fff), color-mix(in srgb, var(--cd-marca) 5%, #fff));
}
.cd-ico-prato { width: 40px; height: 40px; color: var(--cd-marca); opacity: .55; }
.cd-oferta-texto { display: flex; flex-direction: column; gap: 4px; padding: 10px 4px 2px; flex: 1; }
.cd-oferta-texto strong { font-size: .9375rem; font-weight: 800; line-height: 1.25; }
.cd-oferta-texto p { margin: 0; font-size: .75rem; color: var(--cd-suave); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cd-oferta-rodape { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; }
.cd-oferta-preco { font-size: 1.0625rem; font-weight: 900; color: var(--cd-marca); font-variant-numeric: tabular-nums; }
.cd-oferta-ver, .cd-item-add {
  display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 999px; border: 1.5px solid var(--cd-marca);
  color: var(--cd-marca); font-size: .75rem; font-weight: 800; white-space: nowrap; transition: background .14s ease, color .14s ease;
}
.cd-oferta:hover .cd-oferta-ver, .cd-item:hover .cd-item-add { background: var(--cd-marca); color: var(--cd-marca-texto); }

/* ---- Barra fixa: abas de categoria e busca ------------------------------------- */
.cd-barra {
  position: sticky; top: 58px; z-index: 10; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 10px 14px;
  margin-top: 18px; background: color-mix(in srgb, var(--cd-fundo) 92%, transparent); backdrop-filter: saturate(1.3) blur(10px);
  border-bottom: 1px solid var(--cd-borda);
}
.cd-busca { display: flex; align-items: center; gap: 8px; padding: 0 12px; background: var(--cd-papel); border: 1px solid var(--cd-borda); border-radius: 12px; color: var(--cd-suave); }
.cd-busca input { flex: 1; min-width: 0; min-height: 40px; border: 0; background: transparent; font: inherit; font-size: .9375rem; color: var(--cd-tinta); outline: none; }
.cd-busca:focus-within { outline: 2px solid var(--cd-marca); outline-offset: 0; border-color: transparent; }
.cd-chips { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 2px; }
.cd-chips::-webkit-scrollbar { display: none; }
.cd-chip {
  flex: 0 0 auto; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--cd-borda);
  background: var(--cd-papel); color: var(--cd-texto); font-size: .8125rem; font-weight: 700; cursor: pointer; white-space: nowrap;
}
.cd-chip.is-active { background: var(--cd-marca); border-color: var(--cd-marca); color: var(--cd-marca-texto); }

/* ---- Seções e itens -------------------------------------------------------------- */
.cd-secoes { padding: 4px 14px 0; }
.cd-secao { scroll-margin-top: 150px; padding-top: 20px; }
.cd-secao-titulo { display: flex; align-items: center; gap: 10px; margin: 0 2px 10px; font-size: 1.25rem; font-weight: 900; letter-spacing: -.02em; color: var(--cd-tinta); }
.cd-lista { display: grid; gap: 10px; }
.cd-item {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: stretch;
  width: 100%; padding: 12px; text-align: left; border: 1px solid var(--cd-borda); border-radius: var(--cd-raio);
  background: var(--cd-papel); cursor: pointer; font: inherit; color: inherit; box-shadow: 0 1px 3px rgba(27, 26, 33, .04);
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.cd-item:hover { transform: translateY(-1px); box-shadow: var(--cd-sombra); border-color: color-mix(in srgb, var(--cd-marca) 35%, var(--cd-borda)); }
.cd-item:focus-visible, .cd-oferta:focus-visible { outline: 3px solid var(--cd-destaque); outline-offset: 2px; }
.cd-item-foto { order: 2; width: 92px; height: 92px; border-radius: 10px; overflow: hidden; background: var(--cd-fundo); display: grid; place-items: center; }
.cd-item-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cd-item.is-sem-foto { grid-template-columns: minmax(0, 1fr); }
.cd-item.is-sem-foto .cd-item-foto { display: none; }
.cd-item-texto { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cd-item-nome { font-size: 1rem; font-weight: 750; color: var(--cd-tinta); line-height: 1.25; }
.cd-item-desc {
  margin: 0; font-size: .8125rem; color: var(--cd-suave); line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.cd-item-rodape { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 6px; }
.cd-item-preco { font-size: 1rem; font-weight: 850; color: var(--cd-marca); font-variant-numeric: tabular-nums; }
.cd-item-preco small { font-size: .6875rem; font-weight: 700; color: var(--cd-suave); }
.cd-item-add { display: none; }
.cd-item-selo {
  position: absolute; top: 8px; right: 8px; z-index: 1; min-width: 26px; padding: 3px 7px; border-radius: 999px;
  background: var(--cd-destaque); color: var(--cd-destaque-texto); font-size: .75rem; font-weight: 850; text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}
.cd-item.is-sem-foto:has(.cd-item-selo:not([hidden])) { padding-right: 56px; }
.cd-vazio { margin: 24px 6px; color: var(--cd-suave); }

/* ---- Sobre a loja e contato --------------------------------------------------- */
.cd-sobre-secao { display: grid; gap: 12px; padding: 30px 14px 0; }
.cd-sobre-card, .cd-contato-card { padding: 20px; border-radius: 20px; background: var(--cd-papel); border: 1px solid var(--cd-borda); }
.cd-sobre-card h2, .cd-contato-card h2 { margin: 0 0 10px; font-size: 1.25rem; font-weight: 900; letter-spacing: -.02em; }
.cd-sobre-texto { margin: 0 0 12px; color: var(--cd-texto); }
.cd-sobre-linha, .cd-contato-linha { display: flex; align-items: center; gap: 10px; margin: 0; padding: 8px 0; color: var(--cd-texto); text-decoration: none; }
.cd-sobre-linha + .cd-sobre-linha, .cd-contato-linha + .cd-contato-linha { border-top: 1px solid var(--cd-borda); }
.cd-sobre-linha .cd-ico, .cd-contato-linha .cd-ico, .cd-contato-linha .cd-ico-wa { color: var(--cd-marca); width: 18px; height: 18px; }
a.cd-contato-linha:hover { color: var(--cd-marca); }

/* ---- Folhas: ficha do item, sacola/checkout, acompanhamento ------------------- */
.cd-folha {
  position: fixed; inset: 0; z-index: 40; display: flex; align-items: flex-end; justify-content: center;
  background: rgba(27, 26, 33, .55); animation: cd-surgir .18s ease;
}
.cd-folha-card {
  position: relative; width: 100%; max-width: 560px; max-height: 92vh; overflow-y: auto;
  background: var(--cd-papel); border-radius: 22px 22px 0 0; box-shadow: 0 -10px 40px rgba(0, 0, 0, .25);
  animation: cd-subir .22s ease; padding-bottom: calc(12px + env(safe-area-inset-bottom));
}
.cd-folha-x {
  position: absolute; top: 12px; right: 12px; z-index: 2; width: 38px; height: 38px; border-radius: 50%;
  border: 0; background: rgba(255, 255, 255, .94); color: var(--cd-tinta); display: grid; place-items: center; cursor: pointer;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
}
.cd-folha-x .cd-ico { width: 18px; height: 18px; }
.cd-ficha-midia { background: var(--cd-fundo); }
.cd-ficha-foto { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; display: block; }
.cd-ficha-corpo { padding: 18px 18px 6px; }
.cd-ficha-corpo .cd-secao-tag { margin-bottom: 8px; }
.cd-ficha-nome { margin: 0; font-size: 1.375rem; font-weight: 850; letter-spacing: -.01em; padding-right: 40px; line-height: 1.2; }
.cd-ficha-desc { margin: 8px 0 0; color: var(--cd-texto); font-size: .9375rem; }
.cd-ficha-preco { margin: 12px 0 0; font-size: 1.375rem; font-weight: 850; color: var(--cd-marca); font-variant-numeric: tabular-nums; }
.cd-ficha-preco small { font-size: .8125rem; font-weight: 700; color: var(--cd-suave); }
.cd-ficha-rodape { display: grid; gap: 12px; padding: 12px 18px 6px; border-top: 1px solid var(--cd-borda); margin-top: 14px; }
.cd-obs { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--cd-borda); border-radius: 12px; background: var(--cd-fundo); font: inherit; font-size: .9375rem; }
.cd-obs:focus { outline: 2px solid var(--cd-marca); border-color: transparent; background: #fff; }
.cd-ficha-acoes { display: flex; gap: 10px; align-items: center; }
.cd-stepper { display: inline-flex; align-items: center; border: 1px solid var(--cd-borda); border-radius: 12px; background: var(--cd-fundo); }
.cd-step { width: 42px; height: 44px; border: 0; background: transparent; font-size: 1.25rem; font-weight: 700; color: var(--cd-marca); cursor: pointer; }
.cd-step:disabled { color: #b8b8c2; cursor: default; }
.cd-step-n { min-width: 28px; text-align: center; font-weight: 800; font-variant-numeric: tabular-nums; }
.cd-stepper-mini .cd-step { width: 36px; height: 36px; font-size: 1rem; }
.cd-adicionar {
  flex: 1; min-height: 46px; border: 0; border-radius: 12px; background: var(--cd-marca); color: var(--cd-marca-texto);
  font-weight: 800; font-size: 1rem; cursor: pointer; box-shadow: 0 8px 18px color-mix(in srgb, var(--cd-marca) 28%, transparent);
}
.cd-adicionar:hover { filter: brightness(1.08); }

.cd-pedido { padding-top: 6px; }
.cd-pedido-cabeca { display: flex; align-items: center; justify-content: space-between; padding: 12px 18px 6px; }
.cd-pedido-cabeca h2 { margin: 0; font-size: 1.25rem; font-weight: 850; }
.cd-pedido-cabeca .cd-folha-x { position: static; box-shadow: none; background: var(--cd-fundo); }
.cd-pedido-lista { display: grid; gap: 8px; padding: 6px 18px; }
.cd-pedido-linha { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--cd-borda); }
.cd-pedido-texto { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cd-pedido-texto strong { font-size: .9375rem; }
.cd-pedido-texto small { color: var(--cd-suave); font-size: .75rem; }
.cd-pedido-preco { font-weight: 800; color: var(--cd-tinta); font-variant-numeric: tabular-nums; font-size: .9375rem; }
.cd-pedido-total { display: grid; gap: 4px; padding: 12px 18px 4px; }
.cd-pedido-taxa { display: flex; justify-content: space-between; font-size: .875rem; color: var(--cd-suave); }
.cd-pedido-total-linha { display: flex; justify-content: space-between; align-items: baseline; font-size: 1rem; }
.cd-pedido-total-linha strong { font-size: 1.375rem; font-weight: 850; color: var(--cd-tinta); font-variant-numeric: tabular-nums; }
.cd-pedido-form { display: grid; gap: 12px; padding: 8px 18px 4px; }
.cd-campo { display: grid; gap: 5px; font-size: .75rem; font-weight: 800; color: var(--cd-suave); letter-spacing: .02em; text-transform: uppercase; }
.cd-campo input, .cd-campo select {
  min-height: 44px; padding: 0 12px; border: 1px solid var(--cd-borda); border-radius: 12px; background: var(--cd-fundo);
  font: inherit; font-size: .9375rem; color: var(--cd-tinta); text-transform: none; letter-spacing: 0;
}
.cd-campo input:focus, .cd-campo select:focus { outline: 2px solid var(--cd-marca); border-color: transparent; background: #fff; }
.cd-segmento { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 4px; border-radius: 12px; background: var(--cd-fundo); border: 1px solid var(--cd-borda); }
.cd-seg { min-height: 38px; border: 0; border-radius: 9px; background: transparent; font-weight: 750; color: var(--cd-texto); cursor: pointer; text-transform: none; letter-spacing: 0; font-size: .875rem; }
.cd-seg.is-active { background: var(--cd-papel); color: var(--cd-marca); box-shadow: 0 1px 3px rgba(27, 26, 33, .12); }
.cd-aviso { margin: 0; padding: 10px 12px; border-radius: 12px; background: color-mix(in srgb, var(--cd-destaque) 12%, #fff); color: #6b3d05; font-size: .8125rem; }
.cd-pedido-nota { margin: 0; font-size: .8125rem; color: var(--cd-suave); }
.cd-erro { margin: 0; color: var(--cd-vermelho); font-size: .8125rem; font-weight: 700; }
.cd-enviar, .cd-finalizar {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; margin-top: 4px; width: 100%; border: 0;
  border-radius: 14px; font-weight: 850; font-size: 1rem; text-decoration: none; cursor: pointer;
}
.cd-enviar { background: #25d366; color: #fff; box-shadow: 0 8px 20px rgba(37, 211, 102, .35); }
.cd-finalizar { background: var(--cd-marca); color: var(--cd-marca-texto); box-shadow: 0 10px 22px color-mix(in srgb, var(--cd-marca) 30%, transparent); }
.cd-enviar .cd-ico, .cd-finalizar .cd-ico { width: 20px; height: 20px; }
.cd-enviar[disabled], .cd-enviar:not([href]), .cd-finalizar:disabled { opacity: .5; pointer-events: none; }

/* Acompanhamento do pedido online. */
.cd-acomp-titulo { display: flex; flex-direction: column; }
.cd-acomp-rotulo { font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--cd-marca); }
.cd-acomp-codigo { margin: 0; font-size: 1.75rem; font-weight: 900; letter-spacing: -.02em; }
.cd-acomp-corpo { display: grid; gap: 14px; padding: 4px 18px 8px; }
.cd-acomp-status { margin: 0; font-weight: 800; font-size: 1rem; color: var(--cd-tinta); }
.cd-acomp-status.is-delivered, .cd-acomp-status.is-completed { color: var(--cd-verde); }
.cd-acomp-status.is-rejected, .cd-acomp-status.is-cancelled { color: var(--cd-vermelho); }
.cd-acomp-etapas { display: flex; justify-content: space-between; gap: 4px; margin: 0; padding: 0; list-style: none; counter-reset: etapa; }
.cd-acomp-etapas li { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: .6875rem; font-weight: 700; color: var(--cd-suave); text-align: center; }
.cd-acomp-etapas li::before {
  counter-increment: etapa; content: counter(etapa); width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
  background: var(--cd-fundo); border: 2px solid var(--cd-borda); font-size: .75rem; font-weight: 900; color: var(--cd-suave);
}
.cd-acomp-etapas li::after { content: ""; position: absolute; top: 13px; left: calc(50% + 16px); right: calc(-50% + 16px); height: 2px; background: var(--cd-borda); }
.cd-acomp-etapas li:last-child::after { display: none; }
.cd-acomp-etapas li.is-feita::before { content: "✓"; background: var(--cd-marca); border-color: var(--cd-marca); color: var(--cd-marca-texto); }
.cd-acomp-etapas li.is-feita::after { background: var(--cd-marca); }
.cd-acomp-etapas li.is-atual { color: var(--cd-marca); }
.cd-acomp-etapas li.is-atual::before { border-color: var(--cd-marca); color: var(--cd-marca); background: color-mix(in srgb, var(--cd-marca) 10%, #fff); }
.cd-pix { display: grid; gap: 10px; padding: 16px; border-radius: 16px; border: 1px solid var(--cd-borda); background: var(--cd-fundo); justify-items: center; }
.cd-pix h3 { margin: 0; font-size: 1rem; font-weight: 850; }
.cd-pix-qr { width: 210px; height: 210px; border-radius: 12px; background: #fff; padding: 8px; box-shadow: 0 4px 14px rgba(0, 0, 0, .1); }
.cd-pix-linha { display: flex; gap: 8px; width: 100%; }
.cd-pix-codigo { flex: 1; min-width: 0; min-height: 42px; padding: 0 10px; border: 1px solid var(--cd-borda); border-radius: 10px; background: #fff; font: inherit; font-size: .75rem; color: var(--cd-texto); }
.cd-pix-copiar { display: inline-flex; align-items: center; gap: 6px; height: 42px; padding: 0 14px; border: 0; border-radius: 10px; background: var(--cd-marca); color: var(--cd-marca-texto); font-weight: 800; font-size: .8125rem; cursor: pointer; white-space: nowrap; }
.cd-pix-abrir { display: inline-flex; align-items: center; gap: 6px; font-size: .875rem; font-weight: 700; color: var(--cd-marca); text-decoration: none; }
.cd-pix-nota { margin: 0; font-size: .75rem; color: var(--cd-suave); text-align: center; }
.cd-acomp-pagamento { margin: 0; font-size: .875rem; color: var(--cd-texto); }
.cd-acomp-pagamento.is-paid { color: var(--cd-verde); font-weight: 700; }
.cd-acomp-pagamento.is-expired { color: var(--cd-vermelho); font-weight: 700; }
.cd-acomp-pagamento:empty { display: none; }
.cd-acomp-itens { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--cd-borda); }
.cd-acomp-itens li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 10px; padding: 8px 0; border-bottom: 1px solid var(--cd-borda); font-size: .9375rem; }
.cd-acomp-itens li small { flex-basis: 100%; color: var(--cd-suave); font-size: .75rem; }
.cd-acomp-total { padding-top: 4px; }
.cd-acomp-entrega { margin: 0; font-size: .875rem; color: var(--cd-texto); }
.cd-acomp-wa { justify-self: start; min-height: 44px; }
.cd-acomp-nota { margin: 0; font-size: .75rem; color: var(--cd-suave); }

/* ---- Barra do pedido (celular) e o WhatsApp flutuante ---------------------------- */
.cd-barra-pedido {
  position: fixed; left: 50%; bottom: calc(14px + env(safe-area-inset-bottom)); z-index: 30; transform: translateX(-50%);
  width: min(560px, calc(100% - 24px)); display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 12px 10px 16px; border-radius: 16px; background: var(--cd-tinta); color: #fff;
  box-shadow: 0 14px 36px rgba(27, 26, 33, .35); animation: cd-subir .2s ease;
}
.cd-barra-resumo { display: flex; flex-direction: column; line-height: 1.15; }
.cd-barra-resumo strong { font-size: 1.125rem; font-variant-numeric: tabular-nums; }
.cd-barra-resumo span { font-size: .75rem; color: rgba(255, 255, 255, .75); }
.cd-ver-pedido {
  display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border: 0; border-radius: 11px;
  background: var(--cd-marca); color: var(--cd-marca-texto); font-weight: 850; font-size: .9375rem; cursor: pointer;
}
.cd-ver-pedido .cd-ico { width: 18px; height: 18px; }
.cd-wa {
  position: fixed; right: 14px; bottom: calc(84px + env(safe-area-inset-bottom)); z-index: 20; width: 54px; height: 54px; border-radius: 50%;
  display: grid; place-items: center; background: #25d366; box-shadow: 0 10px 24px rgba(18, 140, 80, .4); transition: transform .16s ease;
}
.cd-sem-pedido .cd-wa { bottom: calc(18px + env(safe-area-inset-bottom)); }
.cd-wa .cd-wa-ico { width: 28px; height: 28px; fill: #fff; }
.cd-wa:hover { transform: scale(1.06); }

/* ---- Rodapé ---------------------------------------------------------------------- */
.cd-rodape {
  display: grid; gap: 16px; margin-top: 36px; padding: 26px 18px calc(28px + env(safe-area-inset-bottom));
  background: var(--cd-tinta); color: rgba(255, 255, 255, .78); font-size: .8125rem;
}
.cd-rodape-marca { display: flex; align-items: center; gap: 12px; }
.cd-rodape-logo { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; background: #fff; box-shadow: 0 0 0 2px rgba(255, 255, 255, .25); }
.cd-rodape-nome { display: grid; gap: 2px; }
.cd-rodape-nome strong { font-size: 1.0625rem; color: #fff; }
.cd-rodape-info { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.cd-rodape-info span, .cd-rodape-info a { display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; }
.cd-rodape-info a:hover { color: #fff; }
.cd-rodape-info .cd-ico { opacity: .8; }
.cd-rodape-plataforma { font-size: .75rem; color: rgba(255, 255, 255, .5); text-decoration: none; }
.cd-rodape-plataforma:hover { color: #fff; }
.cd-erro-pagina { padding: 48px 24px; text-align: center; color: var(--cd-suave); }

/* ---- Tela média (tablet): mesmo desenho, mais largo ---------------------------- */
@media (min-width: 760px) {
  .cd-topo { padding: 0 24px; height: 64px; }
  .cd-topo-sacola-texto { display: inline; }
  .cd-topo-cta { display: inline-flex; align-items: center; }
  .cd-acompanhar-barra { top: 64px; }
  .cd-hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; padding: 40px 32px 44px; gap: 32px; }
  .cd-hero-visual { min-height: 340px; }
  .cd-hero-foto { width: min(100%, 340px); }
  .cd-passos { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 18px 24px 0; gap: 12px; }
  .cd-ofertas { padding: 30px 0 0 24px; }
  .cd-barra { top: 64px; padding: 10px 24px; grid-template-columns: minmax(0, 1fr) 280px; align-items: center; }
  .cd-busca { order: 2; }
  .cd-secoes { padding: 4px 24px 0; }
  .cd-secao { scroll-margin-top: 130px; }
  .cd-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .cd-item-foto { width: 108px; height: 108px; }
  .cd-sobre-secao { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 34px 24px 0; gap: 16px; }
  .cd-rodape { grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 30px 32px; column-gap: 32px; }
  .cd-rodape-plataforma { grid-column: 1 / -1; }
  .cd-folha { align-items: center; }
  .cd-folha-card { border-radius: 22px; max-height: 88vh; padding-bottom: 0; }
  .cd-pedido, .cd-acomp { padding-bottom: 16px; }
}

/* ---- Desktop: o site inteiro ------------------------------------------------------ */
@media (min-width: 1024px) {
  /* O SITE OCUPA A LARGURA INTEIRA: topo, capa, barra e rodapé vão de ponta
     a ponta; o conteúdo fica numa coluna de 1240px centrada pelo padding
     lateral (em %, para o scrollbar não desalinhar). "Faixa cinza dos dois
     lados é brega" (dono, 20/09). */
  .cardapio-body { background: var(--cd-fundo); }
  .cardapio-main {
    --cd-lateral: max(36px, calc((100% - 1240px) / 2 + 36px));
    --cd-lateral-hero: max(48px, calc((100% - 1240px) / 2 + 48px));
    max-width: none; padding: 0 0 40px; background: var(--cd-fundo);
  }
  .cardapio-main.cd-sem-pedido { padding-bottom: 0; }
  .cd-topo { padding: 0 var(--cd-lateral); gap: 28px; }
  .cd-topo-links { display: flex; gap: 22px; margin-left: 8px; }
  .cd-topo-links a { text-decoration: none; font-weight: 700; font-size: .9375rem; color: var(--cd-texto); padding: 6px 0; border-bottom: 2px solid transparent; }
  .cd-topo-links a:hover { color: var(--cd-marca); border-bottom-color: var(--cd-marca); }
  .cd-acompanhar-barra { padding: 10px var(--cd-lateral); }

  .cd-hero { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); padding: 56px var(--cd-lateral-hero) 60px; gap: 40px; }
  .cd-hero h1 { font-size: 3.25rem; }
  .cd-hero-sub { font-size: 1.125rem; }
  .cd-hero-visual { min-height: 420px; }
  .cd-hero-blob-1 { width: 380px; height: 380px; right: -60px; top: -40px; }
  .cd-hero-blob-2 { width: 120px; height: 120px; left: 0; bottom: 30px; }
  .cd-hero-foto { width: 400px; border-radius: 36px; margin: 0 0 0 auto; transform: rotate(-3deg); }
  .cd-hero-foto-logo { width: 360px; }
  .cd-hero-etiqueta { left: -18px; bottom: 26px; padding: 12px 18px; }
  .cd-hero-etiqueta strong { font-size: .9375rem; }
  .cd-hero-etiqueta span { font-size: 1.375rem; }
  .cd-hero-foto-2 { width: 170px; height: 170px; right: -10px; bottom: -22px; border-radius: 28px; }

  .cd-passos { padding: 22px var(--cd-lateral) 0; gap: 16px; }
  .cd-passo { padding: 16px 18px; border-radius: 18px; gap: 14px; }
  .cd-passo-ico { width: 48px; height: 48px; border-radius: 14px; }
  .cd-passo-ico svg { width: 22px; height: 22px; }
  .cd-passo strong { font-size: 1rem; }

  .cd-ofertas { padding: 36px var(--cd-lateral) 0; }
  .cd-ofertas-titulo { font-size: 1.75rem; }
  .cd-ofertas-trilho { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; overflow: visible; padding: 4px 0 6px; }
  .cd-oferta { flex: none; padding: 12px; }
  .cd-oferta-foto { height: 168px; }

  .cd-barra { padding: 0 var(--cd-lateral); margin-top: 26px; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; background: color-mix(in srgb, var(--cd-fundo) 94%, transparent); }
  .cd-chips { gap: 4px; padding-bottom: 0; }
  .cd-chip { padding: 18px 12px 14px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; font-size: .9375rem; font-weight: 700; color: var(--cd-suave); }
  .cd-chip:hover { color: var(--cd-tinta); }
  .cd-chip.is-active { background: transparent; color: var(--cd-marca); border-bottom-color: var(--cd-marca); }
  .cd-busca { margin: 10px 0; }
  .cd-busca input { min-height: 38px; font-size: .875rem; }

  .cd-secoes { padding: 0 var(--cd-lateral); }
  .cd-secao { scroll-margin-top: 130px; padding-top: 28px; }
  .cd-secao-titulo { font-size: 1.5rem; margin-bottom: 14px; }
  .cd-lista { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .cd-item { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 12px 12px 14px; border-radius: 18px; }
  .cd-item-foto { order: -1; width: 100%; height: 172px; border-radius: 12px; }
  .cd-item.is-sem-foto { grid-template-columns: minmax(0, 1fr); }
  .cd-item.is-sem-foto .cd-item-foto { display: grid; height: 96px; }
  .cd-ico-prato { width: 44px; height: 44px; }
  .cd-item-texto { padding: 2px 2px 0; }
  .cd-item-nome { font-size: 1.0625rem; }
  .cd-item-desc { font-size: .875rem; }
  .cd-item-preco { font-size: 1.125rem; }
  .cd-item-add { display: inline-flex; }
  .cd-item-selo { top: 10px; right: 10px; }
  .cd-item.is-sem-foto:has(.cd-item-selo:not([hidden])) { padding-right: 12px; }

  .cd-sobre-secao { padding: 40px var(--cd-lateral) 0; gap: 20px; }
  .cd-sobre-card, .cd-contato-card { padding: 26px 28px; }
  .cd-sobre-card h2, .cd-contato-card h2 { font-size: 1.375rem; }
  .cd-rodape { margin-top: 44px; padding: 32px var(--cd-lateral); }
  .cd-barra-pedido { display: none; }
  .cd-wa { right: 24px; bottom: 24px; }

  .cd-folha-card.has-foto { max-width: 900px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: 1fr auto; grid-template-areas: "midia corpo" "midia rodape"; }
  .cd-folha-card.has-foto .cd-ficha-midia { grid-area: midia; display: grid; place-items: center; min-height: 380px; max-height: 520px; }
  .cd-folha-card.has-foto .cd-ficha-foto { aspect-ratio: auto; height: 100%; max-height: 520px; }
  .cd-folha-card.has-foto .cd-ficha-corpo { grid-area: corpo; padding: 28px 28px 8px; }
  .cd-folha-card.has-foto .cd-ficha-rodape { grid-area: rodape; align-self: end; padding: 14px 28px 24px; }
  .cd-folha-card:not(.has-foto) .cd-ficha-corpo { padding: 26px 24px 8px; }
  .cd-folha-card:not(.has-foto) .cd-ficha-rodape { padding: 14px 24px 22px; }
  .cd-ficha-nome { font-size: 1.5rem; }
  .cd-acomp { max-width: 600px; }
}
@keyframes cd-subir { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes cd-surgir { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .cd-folha, .cd-folha-card, .cd-barra-pedido, .cd-item, .cd-oferta, .cd-wa, .cd-cta { animation: none; transition: none; }
}

/* ---- DELIVERY PROFISSIONAL (20/09/2026): aberto/fechado, promoção, esgotado,
   endereço por CEP, bairro, cupom, agendamento, sinal, prazos --------------- */
.cd-topo-nome { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.cd-topo-estado { font-size: .6875rem; font-weight: 700; color: var(--cd-suave); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cd-topo-estado.is-aberto { color: var(--cd-verde); }
.cd-topo-estado.is-fechado, .cd-topo-estado.is-pausado { color: var(--cd-vermelho); }
.cd-hero-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.cd-hero-estado {
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; font-size: .75rem; font-weight: 800;
  background: var(--cd-papel); border: 1px solid var(--cd-borda); color: var(--cd-texto);
}
.cd-hero-estado .cd-ico { width: 14px; height: 14px; }
.cd-hero-estado.is-aberto { color: var(--cd-verde); border-color: color-mix(in srgb, var(--cd-verde) 40%, #fff); }
.cd-hero-estado.is-fechado, .cd-hero-estado.is-pausado { color: var(--cd-vermelho); border-color: color-mix(in srgb, var(--cd-vermelho) 40%, #fff); }
.cd-preco-de { font-size: .8em; font-weight: 600; color: var(--cd-suave); margin-right: 2px; }
.cd-item-badge {
  position: absolute; top: 8px; left: 8px; z-index: 1; padding: 3px 8px; border-radius: 999px; font-size: .6875rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase;
  background: var(--cd-destaque); color: var(--cd-destaque-texto); box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}
.cd-item.is-sem-foto .cd-item-badge { position: static; display: inline-block; margin-bottom: 4px; box-shadow: none; }
.cd-item.is-esgotado, .cd-oferta.is-esgotado { opacity: .62; }
.cd-item.is-esgotado img, .cd-oferta.is-esgotado img { filter: grayscale(1); }
.cd-item-esgotado {
  position: absolute; left: 50%; top: 40%; transform: translate(-50%, -50%) rotate(-6deg); padding: 4px 10px; border-radius: 8px;
  background: var(--cd-tinta); color: #fff; font-size: .75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap;
}
.cd-item.is-sem-foto .cd-item-esgotado { position: static; transform: none; display: inline-block; margin-top: 4px; }
.cd-item.is-esgotado .cd-item-add, .cd-oferta.is-esgotado .cd-oferta-ver { border-color: var(--cd-borda); color: var(--cd-suave); }
.cd-secao-tag.is-esgotado { background: var(--cd-tinta); color: #fff; }
.cd-ficha-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.cd-adicionar:disabled { opacity: .5; cursor: default; box-shadow: none; }
.cd-horarios { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 2px; }
.cd-horarios li { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-bottom: 1px solid var(--cd-borda); font-size: .875rem; color: var(--cd-texto); }
.cd-horarios li span::first-letter { text-transform: uppercase; }
.cd-horarios li.is-fechado strong { color: var(--cd-suave); font-weight: 600; }
/* Checkout. */
.cd-campos-2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.cd-campos-2 > .cd-campo { min-width: 0; }
.cd-campos-2 > .cd-campo > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cd-campo input, .cd-campo select { width: 100%; min-width: 0; }
.cd-pedido-form { min-width: 0; }
.cd-folha-card { overflow-x: hidden; }
.cd-endereco { display: grid; gap: 10px; padding: 12px; border-radius: 14px; background: var(--cd-fundo); border: 1px solid var(--cd-borda); }
.cd-endereco .cd-campo input, .cd-endereco .cd-campo select { background: #fff; }
.cd-campo-nota { margin: 0; font-size: .75rem; color: var(--cd-suave); }
.cd-quando { display: grid; gap: 10px; }
.cd-seg:disabled { opacity: .45; cursor: default; }
.cd-cupom { display: flex; gap: 8px; }
.cd-cupom input { flex: 1; min-width: 0; text-transform: uppercase; }
.cd-cupom-aplicar { height: 44px; padding: 0 16px; border: 1.5px solid var(--cd-marca); border-radius: 12px; background: var(--cd-papel); color: var(--cd-marca); font-weight: 800; cursor: pointer; text-transform: none; letter-spacing: 0; }
.cd-cupom-aplicar:hover { background: var(--cd-marca); color: var(--cd-marca-texto); }
.cd-pagamento-instrucao { margin: -4px 0 0; padding: 8px 12px; border-radius: 10px; background: color-mix(in srgb, var(--cd-marca) 8%, #fff); font-size: .8125rem; color: var(--cd-texto); }
.cd-pedido-taxa.is-desconto span:last-child { color: var(--cd-verde); font-weight: 700; }
.cd-pedido-taxa.is-sinal { padding: 8px 10px; border-radius: 10px; background: color-mix(in srgb, var(--cd-marca) 8%, #fff); color: var(--cd-tinta); font-weight: 700; }
.cd-pedido-prazo { margin: -4px 0 0; padding: 0 18px; font-size: .8125rem; font-weight: 700; color: var(--cd-marca); }
.cd-fechado-aviso { background: color-mix(in srgb, var(--cd-vermelho) 10%, #fff); color: var(--cd-vermelho); }
/* Acompanhamento. */
.cd-acomp-extras { display: grid; gap: 6px; }
.cd-acomp-extras:empty { display: none; }
.cd-acomp-extra { display: flex; align-items: center; gap: 8px; margin: 0; font-size: .875rem; color: var(--cd-texto); }
.cd-acomp-extra .cd-ico { color: var(--cd-marca); width: 18px; height: 18px; }
.cd-acomp-extra.is-agendado { font-weight: 800; color: var(--cd-tinta); }
.cd-acomp-extra.is-motivo { color: var(--cd-vermelho); font-weight: 700; }
.cd-acomp-extra.is-sinal { padding: 8px 12px; border-radius: 10px; background: color-mix(in srgb, var(--cd-marca) 8%, #fff); font-weight: 700; }
.cd-acomp-resumo { display: grid; gap: 4px; }
.cd-acomp-resumo:empty { display: none; }
.cd-acomp-pagamento.is-deposit_paid { color: var(--cd-verde); font-weight: 700; }
@media (min-width: 760px) {
  .cd-topo-estado { font-size: .75rem; }
}

/* ---- RELEASE B: complementos/sabores na ficha, cancelar, avaliar. ---- */
.cd-grupo { border: 1px solid var(--cd-borda, #e5e7eb); border-radius: 12px; padding: 10px 12px 8px; margin: 12px 0 0; display: grid; gap: 4px; }
.cd-grupo-titulo { display: flex; align-items: baseline; gap: 8px; padding: 0 4px; font-size: .9375rem; }
.cd-grupo-regra { font-size: .75rem; color: #6b7280; }
.cd-grupo-regra.is-obrigatorio { color: var(--cd-marca, #0f766e); font-weight: 700; }
.cd-opcao { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 8px 4px; border-top: 1px solid #f1f5f9; font-size: .9375rem; cursor: pointer; }
.cd-opcao input { width: 18px; height: 18px; margin: 0; accent-color: var(--cd-marca, #0f766e); }
.cd-opcao:has(.cd-stepper) { grid-template-columns: minmax(0, 1fr) auto auto; }
.cd-opcao-preco { font-size: .8125rem; color: #6b7280; white-space: nowrap; }
.cd-opcao.is-marcada .cd-opcao-nome { font-weight: 700; color: var(--cd-marca, #0f766e); }
.cd-opcao.is-esgotada { opacity: .5; }
.cd-opcao.is-esgotada .cd-opcao-nome { text-decoration: line-through; }
.cd-grupo-contador { margin: 4px 4px 0; text-align: right; font-size: .8125rem; font-weight: 700; color: #b45309; }
.cd-grupo-contador.is-completo { color: #047857; }
.cd-ficha-rodape .cd-erro { margin: 0 0 6px; }
.cd-pedido-opcoes { display: block; color: #4b5563; }
.cd-campo-cpf input { max-width: 240px; }
.cd-acomp-hora { font-size: .6875rem; color: #6b7280; font-weight: 600; }
.cd-acomp-acoes { display: grid; gap: 10px; margin-top: 12px; }
.cd-acomp-cancelar { justify-self: start; border: 1px solid #fca5a5; background: #fff; color: #b91c1c; border-radius: 999px; padding: 8px 16px; font-weight: 700; cursor: pointer; }
.cd-avaliar { display: grid; gap: 8px; padding: 12px; border-radius: 12px; background: #f8fafc; }
.cd-avaliar-titulo { margin: 0; font-weight: 800; }
.cd-estrelas { display: flex; gap: 4px; }
.cd-estrela { border: 0; background: none; font-size: 2rem; line-height: 1; color: #d1d5db; cursor: pointer; padding: 0 2px; }
.cd-estrela.is-acesa { color: #f59e0b; }
.cd-avaliar-enviar { justify-self: start; border: 0; background: var(--cd-marca, #0f766e); color: var(--cd-marca-texto, #fff); border-radius: 999px; padding: 10px 18px; font-weight: 800; cursor: pointer; }
.cd-avaliado { margin: 0; font-weight: 700; color: #047857; }

/* ---- RELEASE C: nota no hero, push no celular, resposta da loja. ---- */
.cd-hero-nota { display: inline-flex; align-items: baseline; gap: 2px; padding: 6px 12px; border-radius: 999px; background: #fffbeb; color: #b45309; font-weight: 800; font-size: .8125rem; }
.cd-hero-nota small { font-weight: 600; color: #92400e; }
.cd-acomp-push { display: inline-flex; align-items: center; gap: 8px; justify-self: start; border: 1px solid var(--cd-marca, #0f766e); background: #fff; color: var(--cd-marca, #0f766e); border-radius: 999px; padding: 9px 16px; font-weight: 700; cursor: pointer; }
.cd-acomp-push .cd-ico { width: 18px; height: 18px; }
.cd-acomp-push-ok { margin: 0; font-size: .8125rem; font-weight: 700; color: #047857; }
.cd-resposta-loja { margin: 0; padding: 10px 12px; border-radius: 10px; background: #f8fafc; font-size: .875rem; color: #1f2933; border-left: 3px solid var(--cd-marca, #0f766e); }

/* ---- A CAPA COMO FUNDO DO TOPO (20/09/2026): largura inteira, texto em claro. ---- */
.cd-hero-capa { position: absolute; inset: 0; z-index: 0; }
.cd-hero-capa img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.cd-hero-capa::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 8, 14, .72) 0%, rgba(10, 8, 14, .5) 60%, rgba(10, 8, 14, .62) 100%); }
.cd-hero.has-capa { background: #14111a; min-height: 440px; }
.cd-hero.has-capa.has-capa-so { grid-template-columns: minmax(0, 1fr); }
.cd-hero.has-capa h1, .cd-hero.has-capa .cd-hero-sub, .cd-hero.has-capa .cd-hero-loja { color: #fff; }
.cd-hero.has-capa .cd-hero-sub { opacity: .92; text-shadow: 0 1px 2px rgba(0, 0, 0, .35); }
.cd-hero.has-capa h1 { text-shadow: 0 2px 10px rgba(0, 0, 0, .45); }
.cd-hero.has-capa .cd-hero-loja { opacity: .85; }
.cd-hero.has-capa .cd-hero-estado { background: rgba(255, 255, 255, .92); }
.cd-hero.has-capa .cd-meta-item { background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .38); color: #fff; backdrop-filter: blur(6px); }
.cd-hero.has-capa .cd-meta-item .cd-ico { color: #fff; }
.cd-hero.has-capa a.cd-meta-item:hover, .cd-hero.has-capa button.cd-meta-item:hover { border-color: #fff; color: #fff; }
.cd-hero.has-capa .cd-cta-wa { background: rgba(255, 255, 255, .96); }
.cd-hero.has-capa .cd-cta-principal { box-shadow: 0 12px 26px rgba(0, 0, 0, .35); }
.cd-hero.has-capa .cd-hero-visual { min-height: 0; }
.cd-hero-foto-2.is-sozinha { position: relative; right: auto; bottom: auto; margin: 0 auto; width: 200px; height: 200px; transform: rotate(-3deg); z-index: 1; }
@media (min-width: 760px) {
  .cd-hero.has-capa { min-height: 480px; }
  .cd-hero-capa::after { background: linear-gradient(90deg, rgba(10, 8, 14, .78) 0%, rgba(10, 8, 14, .55) 50%, rgba(10, 8, 14, .2) 100%); }
  .cd-hero-foto-2.is-sozinha { width: 260px; height: 260px; margin: 0 0 0 auto; }
}
@media (min-width: 1024px) {
  .cd-hero.has-capa { min-height: 540px; }
}

/* ==========================================================================
   MODO APP (21/09/2026). Dentro do aplicativo Android, instalado na tela
   inicial ou com ?app=1, a loja vira app: cabeçalho curto com saudação,
   categorias redondas com foto, grade de produtos de duas colunas com o
   "+" laranja, e a barra de navegação embaixo (Início · Cardápio · Sacola
   · Pedido). O hero de site, os "passos" e o botão flutuante do WhatsApp
   saem de cena — no app, quem entra já sabe onde está.
   ========================================================================== */
.cd-modo-app { display: flex; flex-direction: column; padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
.cd-modo-app .cd-hero, .cd-modo-app .cd-passos, .cd-modo-app .cd-wa, .cd-modo-app .cd-topo-cta, .cd-modo-app .cd-topo-links, .cd-modo-app .cd-topo-sacola { display: none; }
.cd-modo-app .cd-topo { order: 0; position: sticky; top: 0; box-shadow: none; border-bottom: 0; background: var(--cd-fundo); }
.cd-modo-app .cd-app-cabeca { order: 1; padding: 6px 18px 4px; }
.cd-modo-app .cd-app-ola { margin: 0; font-size: .9375rem; font-weight: 700; color: var(--cd-suave); }
.cd-modo-app .cd-app-chamada { margin: 2px 0 0; font-size: clamp(1.5rem, 6.4vw, 1.875rem); font-weight: 900; letter-spacing: -.03em; line-height: 1.1; color: var(--cd-tinta); text-wrap: balance; }
.cd-modo-app .cd-app-chamada em { font-style: normal; color: var(--cd-destaque-tinta); white-space: nowrap; }
.cd-modo-app .cd-app-linha { margin: 8px 0 0; font-size: .8125rem; font-weight: 700; color: var(--cd-marca); }
.cd-modo-app .cd-acompanhar-barra { order: 2; position: static; margin: 10px 14px 0; border: 1px solid color-mix(in srgb, var(--cd-marca) 22%, #fff); border-radius: 14px; }
.cd-modo-app .cd-barra { order: 3; position: sticky; top: 58px; margin-top: 8px; padding: 8px 14px 6px; border-bottom: 0; background: var(--cd-fundo); backdrop-filter: none; display: flex; flex-direction: column-reverse; gap: 12px; }
.cd-modo-app .cd-busca { border-radius: 999px; min-height: 48px; background: #fff; box-shadow: 0 2px 10px rgba(27, 26, 33, .06); }
.cd-modo-app .cd-busca input { min-height: 46px; }
.cd-modo-app .cd-chips { gap: 8px; padding: 4px 2px 6px; align-items: flex-start; }
/* Cada chip tem a MESMA largura (22/09/2026): o nome longo quebra em até
   duas linhas, centralizado, sem empurrar os vizinhos — antes cada chip
   crescia com o próprio nome e a fileira ficava torta. */
/* O chip é um <button>: como item do flex ele vira `block`, e sem `display: flex`
   aqui a coluna e o centro não valem — a foto encostava à esquerda e o nome
   centralizava, 9 px de diferença (régua da bancada, 22/09/2026). */
.cd-modo-app .cd-chip { display: flex; flex: 0 0 80px; width: 80px; min-width: 80px; max-width: 80px; flex-direction: column; align-items: center; gap: 6px; padding: 0; border: 0; background: transparent; color: var(--cd-texto); font-size: .6875rem; font-weight: 700; white-space: normal; }
.cd-modo-app .cd-chip-nome { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; width: 100%; text-align: center; line-height: 1.2; max-height: 2.4em; overflow-wrap: anywhere; }
.cd-modo-app .cd-chip.is-active { background: transparent; color: var(--cd-tinta); }
.cd-modo-app .cd-chip.is-active .cd-chip-foto { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--cd-destaque); }
.cd-modo-app .cd-chip.is-active .cd-chip-nome { color: var(--cd-destaque-tinta); }
.cd-modo-app .cd-chip-foto { display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; overflow: hidden; background: #fff; box-shadow: 0 2px 10px rgba(27, 26, 33, .08); }
.cd-modo-app .cd-chip-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cd-modo-app .cd-chip-foto.is-vazia .cd-ico { width: 26px; height: 26px; color: var(--cd-marca); }
.cd-chip-foto { display: none; }
.cd-modo-app .cd-ofertas { order: 4; padding-top: 10px; }
.cd-modo-app .cd-secoes { order: 5; }
.cd-modo-app .cd-secao { scroll-margin-top: 250px; padding-top: 14px; }
.cd-modo-app .cd-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cd-modo-app .cd-item { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 10px; border-radius: 18px; border-color: transparent; box-shadow: 0 2px 12px rgba(27, 26, 33, .06); }
.cd-modo-app .cd-item-foto { order: 0; width: 100%; height: auto; aspect-ratio: 1 / 1; border-radius: 14px; }
.cd-modo-app .cd-item.is-sem-foto .cd-item-foto { display: grid; }
.cd-modo-app .cd-item.is-sem-foto .cd-item-foto .cd-ico { width: 36px; height: 36px; color: var(--cd-marca); opacity: .5; }
.cd-modo-app .cd-item-nome { font-size: .9375rem; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cd-modo-app .cd-item-desc { display: none; }
.cd-modo-app .cd-item-rodape { padding-top: 2px; }
.cd-modo-app .cd-item-preco { font-size: 1.0625rem; color: var(--cd-tinta); }
.cd-modo-app .cd-item-add { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--cd-destaque); color: var(--cd-destaque-texto); font-size: 0; box-shadow: 0 4px 10px color-mix(in srgb, var(--cd-destaque) 40%, transparent); }
.cd-modo-app .cd-item-add::before { content: "+"; font-size: 1.375rem; font-weight: 800; line-height: 1; }
.cd-modo-app .cd-item.is-esgotado .cd-item-add { background: var(--cd-borda); color: var(--cd-suave); box-shadow: none; }
.cd-modo-app .cd-item.is-esgotado .cd-item-add::before { content: "×"; }
.cd-modo-app .cd-item-badge { top: 16px; left: 16px; }
.cd-modo-app .cd-sobre-secao, .cd-modo-app .cd-rodape { order: 6; }
.cd-modo-app .cd-rodape-plataforma { padding-bottom: 8px; }
/* A barra de navegação: pílula flutuante, a aba ativa em destaque. */
.cd-app-nav { position: fixed; left: 50%; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 32; transform: translateX(-50%); display: flex; gap: 4px; width: min(420px, calc(100% - 24px)); padding: 6px; border-radius: 999px; background: var(--cd-tinta); box-shadow: 0 14px 36px rgba(27, 26, 33, .35); }
.cd-app-aba { position: relative; flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 4px; border: 0; border-radius: 999px; background: transparent; color: rgba(255, 255, 255, .72); font: inherit; font-size: .6875rem; font-weight: 700; cursor: pointer; }
.cd-app-aba .cd-ico { width: 22px; height: 22px; }
.cd-app-aba.is-active { background: #fff; color: var(--cd-tinta); }
.cd-app-badge { position: absolute; top: 4px; right: calc(50% - 22px); min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--cd-destaque); color: var(--cd-destaque-texto); font-size: .625rem; font-weight: 900; display: grid; place-items: center; }
/* A barra da sacola (total · ver pedido) sobe para não cobrir a navegação. */
.cd-modo-app .cd-barra-pedido { bottom: calc(84px + env(safe-area-inset-bottom)); }
/* As folhas (ficha do produto, sacola, acompanhar) por cima da navegação. */
.cd-modo-app .cd-folha { z-index: 40; }
.cd-modo-app .cd-ficha-foto { aspect-ratio: 1 / 1; object-fit: cover; }
.cd-modo-app .cd-step { width: 48px; height: 48px; font-size: 1.5rem; }
.cd-modo-app .cd-step-n { min-width: 36px; font-size: 1.25rem; }
.cd-modo-app .cd-adicionar { min-height: 52px; border-radius: 999px; font-size: 1rem; }

/* A ÁREA ATENDIDA (22/09/2026): o aviso ao digitar o CEP — dentro, fora
   (com o botão de retirar na loja) ou "escreva a rua" para regra por raio. */
.cd-area { margin: 0; padding: 10px 12px; border-radius: 12px; font-size: .8125rem; font-weight: 600; display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; background: var(--cd-papel); color: var(--cd-texto); border: 1px solid var(--cd-borda); }
.cd-area.is-dentro { background: #e7f6ee; color: #14552f; border-color: #bfe6cf; }
.cd-area.is-fora { background: #fbe9e7; color: #8a2116; border-color: #f3c4bd; }
.cd-area.is-pendente { color: var(--cd-suave); }
.cd-area-retirar { border: 0; border-radius: 999px; padding: 6px 14px; background: var(--cd-marca); color: var(--cd-marca-texto); font: inherit; font-size: .8125rem; font-weight: 700; cursor: pointer; }

/* CARTÃO ONLINE (22/09/2026): o bloco "pague com cartão" no acompanhamento
   e a página /pagar.html (o Brick do Mercado Pago mora no container). */
.cd-cartao { display: grid; gap: 10px; padding: 16px; border-radius: 16px; border: 1px solid var(--cd-borda); background: var(--cd-fundo); justify-items: center; text-align: center; }
.cd-cartao h3 { margin: 0; font-size: 1rem; font-weight: 850; }
.cd-cartao-recusa { margin: 0; color: var(--cd-vermelho); font-weight: 700; font-size: .875rem; }
.cd-cartao-pagar { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--cd-marca); color: var(--cd-marca-texto); font: inherit; font-weight: 800; cursor: pointer; }
.cd-cartao-pagar .cd-ico { width: 18px; height: 18px; }
.cd-acomp-pagamento.is-chargeback { color: var(--cd-vermelho); font-weight: 700; }
.pg-body { background: var(--cd-fundo); }
.pg-main { max-width: 520px; margin: 0 auto; padding: 24px 16px 48px; }
.pg-card { display: grid; gap: 16px; padding: 20px; border-radius: 20px; background: var(--cd-papel); box-shadow: var(--cd-sombra); min-width: 0; }
.pg-card > * { min-width: 0; }
#cardPaymentBrick_container, #statusScreenBrick_container { min-width: 0; max-width: 100%; overflow-x: auto; }
.pg-topo { display: flex; align-items: center; gap: 12px; }
.pg-logo { width: 48px; height: 48px; border-radius: 12px; object-fit: cover; }
.pg-titulo { display: grid; }
.pg-loja { font-size: .8125rem; font-weight: 700; color: var(--cd-suave); text-transform: uppercase; letter-spacing: .04em; }
.pg-titulo h1 { margin: 0; font-size: 1.375rem; font-weight: 900; color: var(--cd-tinta); }
.pg-valor { margin: 0; display: flex; justify-content: space-between; align-items: baseline; padding: 12px 14px; border-radius: 12px; background: var(--cd-fundo); font-weight: 700; }
.pg-valor strong { font-size: 1.5rem; color: var(--cd-marca); }
.pg-aviso { margin: 0; padding: 10px 12px; border-radius: 12px; font-size: .875rem; font-weight: 600; background: var(--cd-fundo); color: var(--cd-texto); }
.pg-aviso.is-formulario, .pg-aviso.is-erro, .pg-aviso.is-encerrado { background: #fbe9e7; color: #8a2116; }
.pg-aviso.is-pago { background: #e7f6ee; color: #14552f; }
.pg-espera { margin: 0; text-align: center; color: var(--cd-suave); font-weight: 600; }
.pg-voltar { justify-self: center; font-weight: 700; color: var(--cd-marca); text-decoration: none; }
.pg-seguro { margin: 0; font-size: .75rem; color: var(--cd-suave); text-align: center; }
#cardPaymentBrick_container:not([hidden]) { min-height: 120px; }

/* PRIVACIDADE (22/09/2026, LGPD): o link no rodapé, a linha do checkout e a página da política. */
.cd-rodape-privacidade { color: inherit; opacity: .8; font-size: .8125rem; text-decoration: underline; text-underline-offset: 3px; }
.cd-pedido-lgpd { margin: 0; font-size: .75rem; color: var(--cd-suave); text-align: center; }
.cd-pedido-lgpd a { color: var(--cd-marca); font-weight: 700; }
.pv-body { background: var(--cd-fundo); }
.pv-main { max-width: 720px; margin: 0 auto; padding: 24px 16px 48px; }
.pv-card { display: grid; gap: 18px; padding: 24px 22px; border-radius: 20px; background: var(--cd-papel); box-shadow: var(--cd-sombra); }
.pv-topo { display: grid; gap: 4px; }
.pv-eyebrow { font-size: .8125rem; font-weight: 700; color: var(--cd-suave); text-transform: uppercase; letter-spacing: .04em; }
.pv-topo h1 { margin: 0; font-size: 1.625rem; font-weight: 900; color: var(--cd-tinta); }
.pv-versao { margin: 0; font-size: .8125rem; color: var(--cd-suave); }
.pv-secao { display: grid; gap: 8px; }
.pv-secao h2 { margin: 0; font-size: 1.0625rem; font-weight: 850; color: var(--cd-tinta); }
.pv-secao p, .pv-secao li { margin: 0; font-size: .9375rem; line-height: 1.5; color: var(--cd-texto); }
.pv-secao ul { margin: 0; padding-left: 20px; display: grid; gap: 4px; }
.pv-form { display: grid; gap: 12px; padding: 18px; border-radius: 16px; border: 1px solid var(--cd-borda); background: var(--cd-fundo); }
.pv-form h2 { margin: 0; font-size: 1.0625rem; font-weight: 850; }
.pv-form > p { margin: 0; font-size: .875rem; color: var(--cd-texto); }
.pv-campo { display: grid; gap: 4px; font-size: .75rem; font-weight: 700; color: var(--cd-suave); text-transform: uppercase; letter-spacing: .04em; }
.pv-campo input, .pv-campo textarea { font: inherit; font-size: 1rem; text-transform: none; letter-spacing: 0; padding: 12px; border: 1px solid var(--cd-borda); border-radius: 12px; background: #fff; color: var(--cd-tinta); }
.pv-erro { margin: 0; color: var(--cd-vermelho); font-weight: 700; font-size: .875rem; }
.pv-feito { margin: 0; padding: 10px 12px; border-radius: 12px; background: #e7f6ee; color: #14552f; font-weight: 700; font-size: .875rem; }
.pv-enviar { min-height: 46px; border: 0; border-radius: 999px; background: var(--cd-marca); color: var(--cd-marca-texto); font: inherit; font-weight: 800; cursor: pointer; }
.pv-voltar { justify-self: center; font-weight: 700; color: var(--cd-marca); text-decoration: none; }

