/* EconoWeb Minimal Restaurant — package additions.
   Kept separate so minimal-collection.css stays byte-identical to the approved frozen source.
   Only surfaces the frozen prototype lacks are styled here. */

/* Skip link — accessibility contract (WCAG 2.4.1). The frozen prototype omitted one; a missing
   prototype skip link is not a waiver. Off-screen until focused, then a visible pill. */
.m-skip { position: absolute; left: 12px; top: -60px; z-index: 300; padding: 10px 16px; border-radius: 999px; background: var(--primary); color: var(--paper); font-weight: 600; font-size: 14px; text-decoration: none; transition: top var(--dur) var(--ease); }
.m-skip:focus { top: 12px; outline: 2px solid var(--paper); outline-offset: 2px; }

.m-sign-mateuss { font-weight: 500; color: var(--ink); text-decoration: none; }
.m-sign-mateuss:hover { text-decoration: underline; }

/* Pre-submit demonstration disclosure — shown BEFORE any input is collected on the contact and
   complaints forms: a local simulation that transmits/stores nothing. */
.m-demo-note { margin: 0 0 14px; padding: 10px 14px; border-left: 3px solid var(--primary); border-radius: 8px; background: color-mix(in srgb, var(--primary) 8%, transparent); color: var(--ink); font-size: 14px; line-height: 1.5; }

.m-field-err { margin-top: 6px; font-size: 13px; line-height: 1.4; color: var(--err); }
.m-input[aria-invalid="true"] { border-bottom-color: var(--err); }
.m-cbstate[hidden], .mc-lightbox[hidden] { display: none; }

/* Restaurant: elements the frozen CSS gives an explicit display (grid/flex) would ignore the [hidden]
   attribute that the local filters, cart drawer and presentation gate rely on. */
.mc-drawer-back[hidden], .mc-grid[hidden], .mc-grid > [hidden], .m-btn[hidden], .mc-empty[hidden] { display: none; }

/* 2026-09-29 demo reconcile: with the approved (longer) record names the frozen two-column product grid overflows at 320-375px
   (the approved demo overflows identically: 32px on dish/drink lists, 20px on add-ons). Let the two columns shrink and wrap. */
@media (max-width: 380px) {
  .mc-rest .mc-grid, .mc-rest .mc-grid--3, .mc-rest .mc-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mc-rest .mc-grid > *, .mc-rest .mc-card, .mc-rest .mc-card-body { min-width: 0; }
  .mc-rest .mc-card-h, .mc-rest .mc-card-p, .mc-rest .mc-price, .mc-rest .mc-card-state { overflow-wrap: anywhere; }
  .mc-rest .mc-card .m-btn--sm { white-space: normal; max-width: 100%; }
}

/* Logo sizing = the approved demo entries' own rules (owner decision 2026-09-30: the approved demos have the correct logo sizes).
   Header: max 230x45 (180x38 up to 600 px); footer: max min(100%,320px) x 60; aspect ratio, asset bytes and object-fit:contain untouched. */
html body img[data-brand-logo]{width:auto!important;height:auto!important;max-width:100%;object-fit:contain;max-height:60px}
html body header img[data-brand-logo="header"]{max-width:230px!important;max-height:45px!important;width:auto!important;height:auto!important}
html body footer img[data-brand-logo="footer"]{max-width:min(100%,320px)!important;max-height:60px!important}
@media(max-width:600px){html body header img[data-brand-logo="header"]{max-width:180px!important;max-height:38px!important}}
