/* EconoWeb Minimal Catalog — 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; }

/* `hidden` must win over component display rules (grid/flex) for script-toggled catalog parts:
   product grid, empty state, filtered cards, selection hint, WhatsApp swap, cart foot rows. */
[hidden] { display: none !important; }

/* Approved logos are very wide (about 6:1): never let the header logo push the burger off-screen or the footer logo overflow at 375/320 px. No effect at >= 390 px. */
.m-logo { min-width: 0; max-width: calc(100vw - 104px); }
.m-logo img { max-width: 100%; object-fit: contain; object-position: left center; }
.m-foot-logo { max-width: 100%; object-fit: contain; object-position: left center; }
.m-logo { max-width: calc(100vw - 152px); } /* catalog header also carries the 44px cart button */

/* 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}}
