[x-cloak] { display: none !important; }
.hero-spot { position:absolute; width:34rem; height:34rem; left:50%; top:-22rem; transform:translateX(-50%); border-radius:9999px; background:radial-gradient(circle,#ffdfaf 0%,rgba(255,239,213,.2) 65%,transparent 72%); }
.coupon-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.5rem; }
.coupon { aspect-ratio:1; min-width:0; border-radius:.7rem; border:1px solid #d6d3d1; background:#fff; color:#44403c; font-size:.75rem; font-weight:700; transition:transform .15s,box-shadow .15s,background .15s; }
.coupon:not(:disabled):hover { transform:translateY(-2px); border-color:#f28c28; box-shadow:0 5px 12px rgba(242,140,40,.18); }
.coupon:focus-visible { outline:3px solid rgba(242,140,40,.35); outline-offset:2px; }
.coupon-selected { border-color:#db7111; background:#f28c28; color:#fff; box-shadow:0 5px 12px rgba(242,140,40,.25); }
.coupon-unavailable { border-color:#e7e5e4; background:#f1f0ef; color:#a8a29e; text-decoration:line-through; cursor:not-allowed; }
.field-label { display:block; font-size:.875rem; font-weight:700; color:#44403c; }
.field-input { display:block; width:100%; margin-top:.4rem; border:1px solid #d6d3d1; border-radius:.8rem; padding:.8rem .9rem; font-weight:500; outline:none; transition:border .15s,box-shadow .15s; }
.field-input:focus { border-color:#f28c28; box-shadow:0 0 0 3px rgba(242,140,40,.16); }
.field-error { border-color:#dc2626; }
.error-text { display:block; margin-top:.3rem; color:#b91c1c; font-weight:600; }
@media (min-width:400px) { .coupon-grid { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media (min-width:640px) { .coupon-grid { grid-template-columns:repeat(10,minmax(0,1fr)); gap:.65rem; } .coupon { font-size:.8rem; } }
