/* Pra Vida Produtos Naturais — site de demonstração (13/11/2026). Tokens em tokens.css. */
@font-face { font-family: "Open Sans"; src: url("../fonts/OpenSans-VF-latin-normal.woff2") format("woff2"); font-weight: 300 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Open Sans"; src: url("../fonts/OpenSans-VF-latin-italic.woff2") format("woff2"); font-weight: 300 800; font-style: italic; font-display: swap; }

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--papel); color: var(--tinta); font: 400 1.0625rem/1.6 var(--fonte); overflow-x: clip; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, p, ol, dl, dd, figure, blockquote { margin: 0; }
ol { padding: 0; list-style: none; }
a { color: inherit; }
b { font-weight: var(--peso-vida); }
:focus-visible { outline: 3px solid var(--faixa); outline-offset: 3px; border-radius: 4px; }
.so-defs { position: absolute; }
.so-leitor { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.pular { position: absolute; left: 1rem; top: -4rem; z-index: 50; background: var(--creme); color: var(--mata); padding: .75rem 1rem; border-radius: var(--raio-pilula); font-weight: 700; }
.pular:focus { top: 1rem; }

.textura { position: fixed; inset: 0; z-index: 40; pointer-events: none; opacity: .035; mix-blend-mode: multiply; }

/* ---------- peças ---------- */
.sobrelinha { display: flex; align-items: center; gap: .6rem; font-size: .8125rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--marrom); }
.sobrelinha::before { content: ""; width: .8rem; height: .8rem; background: currentColor; border-radius: 0 70% 0 70%; flex: none; }
.titulo { font-size: clamp(2.1rem, 4.6vw, 4.25rem); font-weight: var(--peso-pra); line-height: 1.04; letter-spacing: -.02em; color: var(--verde); text-wrap: balance; }
.titulo--claro { color: var(--creme); }

.botao { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 3.25rem; padding: 0 1.6rem; border-radius: var(--raio-pilula); border: 2px solid transparent; font: 700 1rem/1 var(--fonte); text-decoration: none; transition: transform var(--dur-curta) var(--curva), background-color var(--dur-curta), color var(--dur-curta), box-shadow var(--dur-curta); }
.botao:hover { transform: translateY(-3px); box-shadow: var(--sombra); }
.botao:active { transform: translateY(0); }
.botao:hover .icone { transform: rotate(-12deg) scale(1.12); }
.botao--faixa { background: var(--faixa); color: var(--mata); }
.botao--faixa:hover { background: var(--creme); }
.botao--creme { background: var(--creme); color: var(--verde); }
.botao--mata { background: var(--mata); color: var(--creme); }
.botao--verde { background: var(--verde); color: var(--creme); }
.botao--linha { border-color: var(--creme); color: var(--creme); }
.botao--linha:hover { background: var(--creme); color: var(--verde); }
.botao--linha-escura { border-color: var(--verde); color: var(--verde); }
.botao--linha-escura:hover { background: var(--verde); color: var(--creme); }

.icone { width: 1.2em; height: 1.2em; flex: none; background: currentColor; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; transition: transform var(--dur-curta) var(--curva); }
.icone--whats { --m: url("../img/icones/whatsapp.svg"); }
.icone--insta { --m: url("../img/icones/instagram.svg"); }
.icone--pino { --m: url("../img/icones/map-pin.svg"); }

/* o oval do logo como janela */
.oval { position: relative; border-radius: 50%; overflow: hidden; border: .6rem solid var(--creme); box-shadow: 0 0 0 2px var(--verde), 0 0 0 .3rem var(--creme), var(--sombra); background: var(--mata); }
.oval img { width: 100%; height: 100%; object-fit: cover; }

/* a faixa do logo */
.fita { position: relative; z-index: 2; display: table; margin: -1.6rem auto 0; transform: rotate(-2deg); }
.fita span { position: relative; z-index: 1; display: block; padding: .55rem 1.6rem; background: var(--faixa); color: var(--mata); font-weight: 700; font-size: clamp(.85rem, 1.25vw, 1.05rem); border-radius: .2rem; white-space: nowrap; }
.fita::before, .fita::after { content: ""; position: absolute; top: -.55rem; width: 2.2rem; height: 100%; background: var(--faixa-dobra); }
.fita::before { left: -1.3rem; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 35% 50%); }
.fita::after { right: -1.3rem; clip-path: polygon(0 0, 100% 0, 65% 50%, 100% 100%, 0 100%); }

.trigo { width: 7.5rem; height: 3.75rem; color: var(--creme); }

/* ---------- topo ---------- */
.topo { position: absolute; inset: 0 0 auto 0; z-index: 10; display: flex; align-items: center; gap: var(--esp-4); padding: 1rem clamp(1.25rem, 4vw, 4rem); color: var(--creme); }
.topo__logo { flex: none; display: block; }
.topo__logo img { width: 7.5rem; -webkit-mask: radial-gradient(ellipse 50% 50% at 50% 50%, #000 88%, transparent 100%); mask: radial-gradient(ellipse 50% 50% at 50% 50%, #000 88%, transparent 100%); }
.topo__nav { display: flex; gap: .25rem; margin-left: auto; }
.topo__nav a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 .9rem; font-weight: 600; font-size: .95rem; white-space: nowrap; text-decoration: none; border-radius: var(--raio-pilula); background: linear-gradient(var(--creme), var(--creme)) no-repeat 50% 82% / 0 2px; transition: background-size var(--dur-curta) var(--curva); }
.topo__nav a:hover { background-size: calc(100% - 1.8rem) 2px; }
.topo__cta { min-height: 2.75rem; padding: 0 1.2rem; font-size: .95rem; }

/* ---------- 1. abertura ---------- */
.abre { position: relative; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 4vw, 4rem); min-height: 100svh; padding: 8.5rem clamp(1.25rem, 4vw, 4rem) 5rem; background: radial-gradient(120% 90% at 78% 46%, #176F33 0%, var(--verde) 52%, #0C4F22 100%); color: var(--creme); overflow: hidden; }
.abre::after { content: ""; position: absolute; left: -14vw; bottom: -30vw; width: 46vw; aspect-ratio: 1; border: 1.5px solid rgba(244, 236, 213, .28); border-radius: 50%; pointer-events: none; }
.abre .sobrelinha { color: var(--creme); }
.abre__titulo { margin: 1.4rem 0 1.6rem; font-size: clamp(2rem, 4.5vw, 5rem); font-weight: var(--peso-pra); line-height: 1.02; white-space: nowrap; letter-spacing: -.03em; }
.abre__titulo .linha { display: block; overflow: hidden; padding-bottom: .12em; }
.abre__titulo .entra-linha { display: inline-block; }
.abre__apoio { max-width: 34rem; font-size: clamp(1.05rem, 1.3vw, 1.2rem); color: rgba(244, 236, 213, .92); }
.abre__acoes { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2rem; }
.abre__nota { margin-top: 1.6rem; font-size: .95rem; }
.abre__nota b { font-size: 1.25rem; margin-right: .15rem; }
.abre__janela { position: relative; }
.oval--abre { aspect-ratio: 1.6; }
.trigo--esq { position: absolute; left: 2%; top: -2.6rem; transform: rotate(-8deg); }
.trigo--dir { position: absolute; right: 2%; top: -2.6rem; transform: scaleX(-1) rotate(-8deg); }

/* ---------- faixa corrida ---------- */
.corre { position: relative; z-index: 3; margin: -1.6rem -2vw 0; padding: .9rem 0; background: var(--faixa); color: var(--mata); transform: rotate(-1.2deg); overflow: hidden; box-shadow: var(--sombra); }
.corre__trilho { display: flex; align-items: center; gap: 1.6rem; width: max-content; font-size: clamp(1.2rem, 2.2vw, 1.9rem); font-weight: 700; white-space: nowrap; }
.corre__trilho i { width: .7em; height: .7em; background: var(--mata); border-radius: 0 70% 0 70%; flex: none; }

/* ---------- 2. prateleira ---------- */
.prateleira { padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 4vw, 4rem) clamp(4rem, 8vw, 7rem); }
.prateleira__cabeca { max-width: 62rem; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.prateleira__cabeca .titulo { margin-top: 1rem; }
.prateleira__corpo { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.prateleira__foto { position: sticky; top: 2.5rem; }
.oval--pe { aspect-ratio: 3 / 4; max-width: 22rem; margin-inline: auto; border-color: var(--verde); box-shadow: 0 0 0 2px var(--papel), 0 0 0 .3rem var(--verde), var(--sombra); }
.oval--pe img { position: absolute; inset: 0; opacity: 0; transform: scale(1.08); transition: opacity var(--dur-media) var(--curva), transform var(--dur-longa) var(--curva); }
.oval--pe img.ativa { opacity: 1; transform: none; }
.prateleira__foto figcaption { margin-top: 1.2rem; text-align: center; font-size: .9rem; font-style: italic; color: var(--marrom); }

.lista { border-bottom: 1.5px solid rgba(17, 96, 42, .28); }
.item a { position: relative; display: grid; grid-template-columns: 3.2rem minmax(0, 1fr) minmax(0, 17rem) 2rem; align-items: center; gap: 1rem; min-height: 5.5rem; padding: 1.1rem 0; border-top: 1.5px solid rgba(17, 96, 42, .28); text-decoration: none; transition: padding var(--dur-media) var(--curva), color var(--dur-curta); }
.item a::before { content: ""; position: absolute; inset: 0 -1rem; z-index: -1; background: var(--creme); border-radius: var(--raio); transform: scaleY(0); transform-origin: 50% 100%; transition: transform var(--dur-media) var(--curva); }
.item__n { font-size: .85rem; font-weight: 700; letter-spacing: .1em; color: var(--marrom); }
.item__nome { font-size: clamp(1.6rem, 3.3vw, 3rem); font-weight: var(--peso-pra); line-height: 1.08; letter-spacing: -.02em; color: var(--verde); transition: font-weight var(--dur-media) var(--curva); }
.item__txt { font-size: .98rem; line-height: 1.45; }
.item__seta { font-size: 1.5rem; color: var(--verde); transition: transform var(--dur-media) var(--curva); }
.item a:hover, .item a:focus-visible { padding-left: 1rem; }
.item a:hover::before, .item a:focus-visible::before { transform: none; }
.item a:hover .item__nome, .item a:focus-visible .item__nome { font-weight: var(--peso-vida); }
.item a:hover .item__seta, .item a:focus-visible .item__seta { transform: translateX(.5rem); }

/* ---------- 3. o mix ---------- */
.mix { position: relative; background: var(--mata); color: var(--creme); }
.mix__palco { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); min-height: 100svh; padding: clamp(4rem, 8vw, 6rem) clamp(1.25rem, 4vw, 4rem); overflow: hidden; }
.mix .sobrelinha { color: var(--faixa); }
.mix .titulo { margin: 1rem 0 2rem; }
.mix__lista { margin-bottom: 2.4rem; counter-reset: passo; }
.mix__lista li { counter-increment: passo; display: flex; align-items: baseline; gap: 1rem; padding: .7rem 0; border-top: 1px solid rgba(244, 236, 213, .22); font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 600; transition: opacity var(--dur-media), color var(--dur-media); }
.mix__lista li::before { content: "0" counter(passo); font-size: .8rem; font-weight: 700; letter-spacing: .1em; color: var(--faixa); }
.mix--anima .mix__lista li { opacity: .38; }
.mix--anima .mix__lista li.aceso { opacity: 1; color: var(--faixa); }
.mix__cena { position: relative; aspect-ratio: 1.25; max-height: 78vh; margin-inline: auto; width: 100%; }
.mix__aro { position: absolute; inset: 0; margin: auto; width: 66%; height: fit-content; aspect-ratio: 1.6; border-radius: 50%; border: .6rem solid var(--creme); box-shadow: 0 0 0 2px var(--mata), 0 0 0 .3rem var(--creme); background: radial-gradient(closest-side, #176F33, var(--verde)); }
.grao { position: absolute; width: 23%; filter: drop-shadow(0 12px 14px rgba(0, 0, 0, .35)); will-change: transform; }
.grao--caju { left: 3%; top: 4%; transform: rotate(-18deg); }
.grao--amendoa { right: 4%; top: 2%; transform: rotate(24deg); }
.grao--amendoim { left: 5%; bottom: 2%; transform: rotate(38deg); }
.grao--milho { right: 5%; bottom: 4%; transform: rotate(-14deg); }

/* ---------- 4. quem é daqui ---------- */
.daqui { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 4vw, 4rem); }
.daqui__janela { position: relative; max-width: 28rem; justify-self: center; width: 100%; }
.arco { aspect-ratio: 3 / 4; border-radius: 999px 999px var(--raio) var(--raio); overflow: hidden; border: .6rem solid var(--verde); box-shadow: var(--sombra); background: var(--mata); }
.arco img { width: 100%; height: 116%; object-fit: cover; object-position: 76% 50%; }
.folha { position: absolute; width: 5rem; height: 5rem; color: var(--faixa); }
.folha--a { right: -1.8rem; top: 14%; transform: rotate(18deg); }
.folha--b { left: -1.6rem; bottom: 8%; width: 3.6rem; height: 3.6rem; transform: rotate(200deg); color: var(--verde); --veio: #F4ECD5; }
.daqui__frase { margin: 1.2rem 0 1.8rem; font-size: clamp(2.3rem, 5.4vw, 5rem); font-style: italic; font-weight: var(--peso-vida); line-height: 1.02; letter-spacing: -.02em; color: var(--verde); text-wrap: balance; }
.daqui__frase span { display: inline-block; }
.daqui__apoio { max-width: 34rem; font-size: clamp(1.1rem, 1.5vw, 1.35rem); line-height: 1.5; }
.daqui__fonte { margin-top: 1rem; font-size: .9rem; color: var(--marrom); }
.daqui__fonte a { display: inline-flex; align-items: center; min-height: 2.75rem; font-weight: 700; }

/* ---------- 5. números ---------- */
.numeros { padding: clamp(3.5rem, 7vw, 6rem) clamp(1.25rem, 4vw, 4rem); background: var(--creme); }
.numeros__grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
.numero { display: flex; flex-direction: column; padding-top: 1.2rem; border-top: 3px solid var(--verde); }
.numero dd { font-size: clamp(3rem, 6.4vw, 6rem); font-weight: var(--peso-vida); line-height: 1; letter-spacing: -.04em; color: var(--verde); font-variant-numeric: tabular-nums; }
.numero dt { order: 2; margin-top: .6rem; max-width: 14rem; font-size: 1rem; line-height: 1.4; }
.numeros__nota { margin-top: 2rem; font-size: .85rem; color: var(--marrom); }

/* ---------- 6. tele-entrega ---------- */
.entrega { position: relative; display: flex; flex-direction: column; align-items: center; gap: 1.4rem; padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 4vw, 4rem); background: var(--faixa); color: var(--mata); text-align: center; overflow: hidden; }
.entrega .sobrelinha { color: var(--mata); }
.entrega__titulo { max-width: 18ch; font-size: clamp(2.3rem, 6vw, 5.5rem); font-weight: var(--peso-pra); line-height: 1; letter-spacing: -.03em; text-wrap: balance; }
.entrega__apoio { max-width: 32rem; font-size: clamp(1.05rem, 1.4vw, 1.25rem); font-weight: 600; }
.entrega .botao { margin-top: .6rem; min-height: 4rem; padding: 0 2.2rem; font-size: clamp(1.15rem, 2vw, 1.5rem); }
.entrega__trigo { position: absolute; left: -3rem; bottom: -1rem; width: 30rem; height: 15rem; color: var(--mata); opacity: .14; }

/* ---------- 7. visita ---------- */
.visita { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 4vw, 4rem); }
.visita .titulo { margin: 1rem 0 2rem; }
.visita__endereco { font-style: normal; font-size: clamp(1.15rem, 1.6vw, 1.4rem); line-height: 1.5; font-weight: 600; }
.horario { width: 100%; max-width: 30rem; margin: 2rem 0; border-collapse: collapse; }
.horario th, .horario td { padding: .9rem .8rem; border-top: 1.5px solid rgba(17, 96, 42, .28); text-align: left; font-weight: 400; }
.horario td { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.horario tr:last-child th, .horario tr:last-child td { border-bottom: 1.5px solid rgba(17, 96, 42, .28); }
.horario tr.hoje th, .horario tr.hoje td { background: var(--creme); color: var(--verde); font-weight: 700; }
.horario tr.hoje th::after { content: "hoje"; margin-left: .6rem; padding: .15rem .55rem; border-radius: var(--raio-pilula); background: var(--verde); color: var(--creme); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; vertical-align: middle; }
.visita__acoes { display: flex; flex-wrap: wrap; gap: .9rem; }
.visita__foto { position: relative; }
.oval--visita { aspect-ratio: 1.45; border-color: var(--verde); box-shadow: 0 0 0 2px var(--papel), 0 0 0 .3rem var(--verde), var(--sombra); }

/* ---------- rodapé ---------- */
.rodape { padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 4vw, 4rem) 2rem; background: var(--mata); color: var(--creme); overflow: hidden; }
.rodape__nome { font-size: clamp(5rem, 25vw, 24rem); line-height: .82; letter-spacing: -.05em; color: var(--faixa); white-space: nowrap; text-align: center; padding-bottom: .16em; }
.rodape__nome span { font-weight: var(--peso-pra); }
.rodape__linha { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2rem; margin-top: clamp(2rem, 4vw, 3.5rem); padding-top: 2rem; border-top: 1px solid rgba(244, 236, 213, .25); line-height: 1.7; }
.rodape__linha a { display: inline-flex; align-items: center; min-height: 2.75rem; font-weight: 700; text-underline-offset: .25em; }
.rodape__nota { margin-top: 2rem; font-size: .82rem; color: rgba(244, 236, 213, .8); }

/* ---------- WhatsApp fixo (celular) ---------- */
.zap-fixo { display: none; }

/* ---------- movimento ---------- */
@keyframes sobe-linha { from { transform: translateY(110%); } to { transform: none; } }
@keyframes entra { from { opacity: 0; transform: translateY(1.2rem); } to { opacity: 1; transform: none; } }
@keyframes iris { from { clip-path: ellipse(6% 6% at 50% 50%); } to { clip-path: ellipse(60% 60% at 50% 50%); } }
@keyframes revela { from { transform: scale(1.28); } to { transform: none; } }
@keyframes corre { to { transform: translateX(-50%); } }
@keyframes sobe { from { opacity: 0; transform: translateY(2.2rem); } to { opacity: 1; transform: none; } }
@keyframes desliza { from { transform: translateY(-13%); } to { transform: translateY(0); } }
@keyframes ergue { from { transform: translateY(38%); } to { transform: none; } }
@keyframes brota { from { transform: rotate(-30deg) scale(.4); opacity: 0; } to { opacity: 1; } }

@media (prefers-reduced-motion: no-preference) {
  .entra-linha { animation: sobe-linha var(--dur-longa) var(--curva) both; animation-delay: calc(var(--i) * var(--escalonamento) + .15s); }
  .entra { animation: entra var(--dur-longa) var(--curva) both; animation-delay: calc(var(--i) * var(--escalonamento) + .25s); }
  .oval--abre { animation: iris 1.5s var(--curva) .2s both; }
  .oval--abre img { animation: revela 2s var(--curva) .2s both; }
  .fita--abre { animation: entra var(--dur-longa) var(--curva) 1s both; }
  .abre .trigo { animation: entra var(--dur-longa) var(--curva) 1.1s both; }
  .corre__trilho { animation: corre 34s linear infinite; }
  .corre:hover .corre__trilho { animation-play-state: paused; }

  @supports (animation-timeline: view()) {
    .sobe { animation: sobe linear both; animation-timeline: view(); animation-range: entry 5% entry 55%; }
    .arco img { animation: desliza linear both; animation-timeline: view(); animation-range: cover 0% cover 100%; }
    .rodape__nome { animation: ergue linear both; animation-timeline: view(); animation-range: entry 0% entry 90%; }
    .daqui .folha { animation: brota linear both; animation-timeline: view(); animation-range: entry 20% entry 80%; }
  }
  /* sem view(): o JS marca .sem-view e revela pelo IntersectionObserver */
  .sem-view .sobe { opacity: 0; transform: translateY(2.2rem); transition: opacity var(--dur-longa) var(--curva), transform var(--dur-longa) var(--curva); }
  .sem-view .sobe.visto { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

/* ---------- telas menores ---------- */
@media (max-width: 1279px) { .item a { grid-template-columns: 3.2rem minmax(0, 1fr) minmax(0, 12rem) 2rem; } }
@media (max-width: 1023px) {
  .abre { grid-template-columns: 1fr; padding-top: 7.5rem; gap: 3.5rem; min-height: 0; }
  .abre__titulo { font-size: clamp(2rem, 7.4vw, 4.6rem); }
  .abre__janela { max-width: 40rem; width: 100%; margin-inline: auto; }
  .prateleira__corpo { grid-template-columns: 1fr; }
  .prateleira__foto { position: static; }
  .oval--pe { max-width: 15rem; }
  .mix__palco { grid-template-columns: 1fr; min-height: 0; }
  .mix__cena { max-width: 36rem; order: -1; }
  .daqui, .visita { grid-template-columns: 1fr; }
  .daqui__janela { max-width: 22rem; }
  .numeros__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  body { padding-bottom: 5rem; }
  .topo__nav { display: none; }
  .topo__cta { margin-left: auto; }
  .topo__logo img { width: 6.25rem; }
  .abre { padding-top: 6.5rem; padding-bottom: 4.5rem; gap: 0; }
  .abre__texto { display: contents; }
  .abre .sobrelinha { order: 1; }
  .abre__titulo { order: 2; margin: 1rem 0 2.6rem; font-size: clamp(1.7rem, 8.6vw, 3.6rem); }
  .abre__janela { order: 3; }
  .abre__apoio { order: 4; margin-top: 2.2rem; }
  .abre__acoes { order: 5; margin-top: 1.5rem; }
  .abre__acoes .botao { flex: 1 1 auto; }
  .abre__nota { order: 6; }
  .oval { border-width: .4rem; }
  .trigo { width: 5rem; height: 2.5rem; }
  .trigo--esq, .trigo--dir { top: -1.9rem; }
  .fita { margin-top: -1.2rem; }
  .item a { grid-template-columns: 2.4rem minmax(0, 1fr) 1.6rem; row-gap: .25rem; }
  .item__txt { grid-column: 2 / 3; grid-row: 2; }
  .item__seta { grid-column: 3; grid-row: 1 / 3; }
  .numero dt { font-size: .92rem; }
  .horario th, .horario td { padding: .9rem .6rem; font-size: .95rem; white-space: nowrap; }
  .folha--a { right: -.6rem; }
  .folha--b { left: -.6rem; }
  .entrega__trigo { width: 18rem; height: 9rem; }
  .rodape__linha { flex-direction: column; gap: 1rem; }
  .zap-fixo { position: fixed; left: .75rem; right: .75rem; bottom: .75rem; z-index: 30; display: flex; align-items: center; justify-content: center; gap: .6rem; min-height: 3.25rem; border-radius: var(--raio-pilula); background: var(--faixa); color: var(--mata); font-weight: 700; text-decoration: none; box-shadow: 0 10px 30px -8px rgba(7, 46, 20, .6); transition: transform var(--dur-media) var(--curva), opacity var(--dur-media); }
  .js .zap-fixo:not(.aparece) { transform: translateY(160%); opacity: 0; pointer-events: none; }
}
