/* EconoWeb Minimal Tourism — 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 form,
   the availability inquiry and the complaints form: 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; }

/* Tourism listing / detail runtime states. The frozen prototype re-rendered these views with React; the
   static package renders every card once and toggles them, so the [hidden] attribute must win over the
   flex/grid display values the frozen sheet gives the same elements. */
.mc-cardhost[hidden], .review-tour-panel[hidden], .review-filter-field[hidden], .mc-pager[hidden], .mc-empty[hidden],
.mc-grid[hidden], .review-tour-toolbar [hidden], [data-hero-guests][hidden], [data-inq-error][hidden], [data-inq-wa][hidden],
[data-inq-wa-off][hidden], [data-video-facade][hidden], [data-video-blocked][hidden], .m-mapframe[hidden] { display: none !important; }
.mc-detail .m-demo-note { margin: 10px 0 14px; }
.m-btn--wa[data-inq-wa] { text-decoration: none; }

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