/* Small-screen, input and consent improvements; preserve the approved hero. */
[hidden]{display:none!important}
.basis-item a,.legal-page a:not(.button){color:#873e4b;text-decoration:underline;text-underline-offset:3px}
input[aria-invalid=true]{outline:2px solid #9b343e;outline-offset:1px}
.receipt output.is-large{white-space:normal;overflow-wrap:anywhere}
.consent-settings{font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;color:#873e4b;border:0;background:transparent;padding:8px 0;min-height:44px}
.consent-banner{position:fixed;inset:auto 16px 16px;z-index:80;max-width:790px;margin-inline:auto;background:#fff;border:1px solid #d7c5c2;border-radius:16px;padding:20px;box-shadow:0 6px 30px #36272a25;color:#36272a;font:14px/1.6 -apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;word-break:keep-all;max-height:70dvh;overflow:auto}
.consent-banner h2{font-size:18px;color:#36272a;margin:0 0 8px;letter-spacing:-.02em}
.consent-banner p{margin:0}.consent-banner a{color:#873e4b;text-decoration:underline}
.consent-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.consent-actions button{font:inherit;min-height:44px;padding:10px 18px;border:1px solid #873e4b;border-radius:9px;background:#fff;color:#873e4b;cursor:pointer}
.consent-actions button:hover{background:#f5efe9}.consent-actions button:focus-visible,.consent-settings:focus-visible{outline:3px solid #873e4b;outline-offset:3px}
.consent-status{font-size:13px;color:#6e6063}.consent-banner .consent-status{margin-top:10px}
.footer-top>div{flex-wrap:wrap;align-items:center}
.legal-page ul{padding-left:22px}.legal-page li{margin-block:9px}.legal-page .updated{font-size:14px;color:#6e6063}
@media(max-width:940px){.calc-layout{display:flex;flex-direction:column;gap:25px}.receipt{order:-1;position:static;width:100%}}
@media(max-width:680px){
  .hero-description,.faq-list details p{font-size:16px}
  .add-row select,.dish-label select{font-size:16px}
  .ingredient,.seasoning-group .ingredient{grid-template-columns:minmax(0,1fr) 88px 32px;gap:6px}
  .ingredient-identity{grid-column:1/-1}.amount-control{grid-column:1;justify-self:stretch}
  .row-cost{grid-column:2}.remove{grid-column:3;width:32px}
  .ingredient-name,.ingredient-unit,.seasoning-group .ingredient-name{font-size:14px}
  .price-basis summary,.price-basis p,.basis-item,.receipt-note p{font-size:14px}
  .consent-banner{inset:auto 10px 10px;padding:16px;font-size:14px}
  .consent-actions button{flex:1}.footer-top{align-items:flex-start;flex-wrap:wrap}
}
@media(max-width:380px){.steps{grid-template-columns:1fr;gap:10px}.steps p{font-size:14px}.steps h3{font-size:16px}.step-index{margin-bottom:5px}.quantity-field{grid-template-columns:1fr}.quantity-field small{grid-column:auto}}
