:root{--terra:#C4602E;--vinho:#7A2E28;--areia:#C9B391;--bege:#F3E7D8;--verde:#56613A;--papel:#FBF5EC;--tinta:#3b2a24;--serif:"Cinzel Decorative",Georgia,serif;--sans:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box;margin:0}
body{font-family:var(--sans);background:var(--bege);color:var(--tinta);line-height:1.6;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-text-size-adjust:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--terra);outline-offset:2px}
.wrap{max-width:880px;margin:0 auto;padding:0 18px 48px}
h2{font-family:var(--serif);color:var(--vinho);font-size:1.4rem}
h3{color:var(--vinho);font-size:1rem;margin:20px 0 8px}
.card{background:var(--papel);border:1px solid var(--areia);border-radius:16px;padding:16px;margin-bottom:12px}
.card h4{color:var(--vinho);font-size:.98rem}
.card p,.muted{font-size:.88rem;color:#5b4a3f}
.row{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.price{color:var(--terra);font-weight:600;white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--terra);color:#fff;border:0;border-radius:999px;padding:12px 20px;font:600 .88rem var(--sans);cursor:pointer;text-decoration:none;margin:8px 8px 0 0}
.btn.alt{background:transparent;color:var(--vinho);border:1.5px solid var(--vinho)}
.btn:hover{filter:brightness(1.08)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
label{display:block;font-size:.82rem;font-weight:600;color:var(--vinho);margin:12px 0 4px}
input,select,textarea{width:100%;font:inherit;padding:11px 12px;border:1px solid var(--areia);border-radius:12px;background:#fff;color:var(--tinta)}
input[type=checkbox]{width:auto}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:var(--vinho);color:#fff;padding:12px 20px;border-radius:999px;font-size:.88rem;opacity:0;pointer-events:none;transition:.25s;z-index:20;max-width:90vw;text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}
svg.i{fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:380px){.two{grid-template-columns:1fr}}

button.card{font:inherit;text-align:left;width:100%}
textarea{resize:vertical}
