html { -webkit-tap-highlight-color: transparent; }
.safe-bottom { padding-bottom: env(safe-area-inset-bottom); }

/* Inputs numéricos sem setas */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }

.field {
  width: 100%; border-radius: .875rem; border: 1px solid #e7e0d8; background: #fff;
  padding: .75rem 1rem; font-size: 1rem; color: #292524; transition: border-color .15s, box-shadow .15s;
}
.field:focus { outline: none; border-color: #efb100; box-shadow: 0 0 0 4px rgba(239,177,0,.18); }
.label { display: block; font-size: .8rem; font-weight: 700; color: #57534e; margin-bottom: .35rem; letter-spacing: .01em; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border-radius: .875rem;
  font-weight: 700; padding: .75rem 1.25rem; transition: transform .08s, background-color .15s, box-shadow .15s; }
.btn:active { transform: scale(.98); }
.btn-primary { background: #c11718; color: #fff; box-shadow: 0 6px 16px -6px rgba(193,23,24,.55); }
.btn-primary:hover { background: #a11213; }
.btn-primary:disabled { background: #d6d3d1; box-shadow: none; cursor: not-allowed; }
.btn-dark { background: #3a0201; color: #fff; }
.btn-dark:hover { background: #5a0806; }
.btn-gold { background: #efb100; color: #3a0201; box-shadow: 0 6px 16px -6px rgba(239,177,0,.6); }
.btn-gold:hover { background: #ffc21a; }
.btn-ghost { background: #fff; color: #3a0201; border: 1px solid #e7e0d8; }
.btn-ghost:hover { border-color: #efb100; }
.btn-green { background: #16a34a; color: #fff; box-shadow: 0 6px 16px -6px rgba(22,163,74,.55); }
.btn-green:hover { background: #15803d; }

/* Linha de produto selecionada */
[data-row].is-active { background: #fff9e6; border-color: #efb100; }
[data-row].is-active [data-qty] { color: #3a0201; font-weight: 800; }

.stepper button { width: 2.75rem; height: 2.75rem; border-radius: .8rem; display: grid; place-items: center; transition: background .12s, transform .08s; }
.stepper button:active { transform: scale(.92); }

@keyframes toast { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.animate-toast { animation: toast .25s ease-out; }

@keyframes pop { 0% { transform: scale(.5); opacity: 0; } 70% { transform: scale(1.08); } 100% { transform: scale(1); opacity: 1; } }
.animate-pop { animation: pop .5s cubic-bezier(.2,.9,.3,1.2) both; }

.bg-pattern {
  background-color: #3a0201;
  background-image: radial-gradient(circle at 20% 20%, rgba(239,177,0,.18) 0, transparent 40%),
                    radial-gradient(circle at 85% 10%, rgba(193,23,24,.45) 0, transparent 45%),
                    radial-gradient(circle at 70% 90%, rgba(239,177,0,.10) 0, transparent 40%);
}

.scrollbar-none::-webkit-scrollbar { display: none; }
.scrollbar-none { scrollbar-width: none; }

@media print {
  header, nav, .no-print { display: none !important; }
  body { background: #fff; padding: 0; }
}
