:root {
  --kraft: #e7dcc4; --papel: #faf5e9; --mata: #2f3b28; --folha: #5c7a4a; --cenoura: #dd7b3b; --cenoura2: #c66429;
  --ovo: #e9a934; --terra: #4a3728; --perigo: #b3503a; --linha: rgba(47,59,40,.14); --zap: #25D366;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--kraft); color: var(--terra); font: 16px/1.45 'Work Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-tap-highlight-color: transparent; }
h1, h2, h3, .serif { font-family: 'Fraunces', Georgia, serif; color: var(--mata); }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; touch-action: manipulation; }
img { display: block; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 10px 18px; border-radius: 14px; border: 2px solid var(--mata); background: var(--mata); color: var(--papel); font-weight: 700; text-decoration: none; }
.btn.laranja { background: var(--cenoura); border-color: var(--cenoura); color: #fff; }
.btn.zap { background: var(--zap); border-color: var(--zap); color: #fff; }
.btn.sec { background: transparent; color: var(--mata); }
.btn.pequeno { min-height: 40px; padding: 6px 12px; font-size: 14px; border-radius: 10px; }
.btn.cheio { width: 100%; }
.btn:disabled { opacity: .55; }
.link { background: none; border: 0; color: var(--folha); font-weight: 700; text-decoration: underline; padding: 4px; }
.link.perigo { color: var(--perigo); }

.campo { display: block; margin-bottom: 14px; }
.campo > span { display: block; font-weight: 600; margin-bottom: 6px; color: var(--mata); }
.campo > span em { font-weight: 400; font-style: normal; opacity: .7; }
.campo input, .campo textarea, .campo select { width: 100%; font-size: 17px; padding: 12px 14px; border: 2px solid var(--linha); border-radius: 12px; background: #fff; }
.campo textarea { min-height: 84px; resize: vertical; }
.campo input:focus, .campo textarea:focus { outline: none; border-color: var(--folha); }
.erro { color: var(--perigo); font-weight: 600; }
.cartao { background: var(--papel); border-radius: 18px; padding: 18px; box-shadow: 0 6px 18px rgba(47,59,40,.10); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { border: 2px solid var(--linha); background: #fff; border-radius: 30px; padding: 8px 14px; font-weight: 600; font-size: 15px; }
.chip[aria-pressed="true"] { background: var(--mata); border-color: var(--mata); color: var(--papel); }
.chip[aria-pressed="true"]::before { content: "✓ "; }
.troca { display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--mata); margin-bottom: 12px; }
.troca input { width: 22px; height: 22px; accent-color: var(--folha); }
