/* MeshiNavi local design system, aligned with DADS foundations.
 * Load last. See docs/dads-design-system.md for scope, sources and verification.
 * Brand colors are local; the yellow/black focus colors are intentionally fixed.
 */
:root {
  --mn-font-body: "Noto Sans JP", "Noto Sans CJK JP", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  --mn-sans: var(--mn-font-body);
  --mn-serif: var(--mn-font-body);
  --mn-text: #1a1a1a;
  --mn-text-secondary: #4d4d4d;
  --mn-ink: #24362f;
  --mn-ink-deep: #18281f;
  --mn-paper: #ffffff;
  --mn-paper-deep: #f1f5f3;
  --mn-orange: #a83c26;
  --mn-line: #c7ceca;
  --mn-control-border: #767676;
  --mn-link: #0052a4;
  --mn-link-visited: #6f2b90;
  --mn-focus: #ffd43d;
  --mn-space-1: 8px;
  --mn-space-2: 16px;
  --mn-space-3: 24px;
  --mn-space-4: 32px;
  --mn-space-6: 48px;
  --mn-space-8: 64px;
  --mn-radius-control: 8px;
  --mn-radius-panel: 16px;
}
html { scroll-padding-block: 16px; }
body { background: var(--mn-paper); color: var(--mn-text); font-family: var(--mn-font-body); font-size: 16px; line-height: 1.75; }
button, input, select, textarea { font: inherit; }
button, input, select, textarea, a, summary { touch-action: manipulation; }
h1, h2, h3, h4, h5, h6 { font-family: var(--mn-font-body); font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
a { color: var(--mn-link); text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:visited { color: var(--mn-link-visited); }
a:hover { text-decoration-thickness: 2px; }
/* Black outer edge remains visible against the yellow ring and light surfaces. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 4px solid #000 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px var(--mn-focus) !important;
}
.mn-skip-link { border-radius: var(--mn-radius-control); min-height: 48px; padding: 12px 16px; }
.mn-shell { width: min(1200px, calc(100% - 64px)); }
.mn-site-header { background: #fff; border-bottom: 1px solid var(--mn-line); }
.mn-site-header__inner { min-height: 88px; gap: 24px; }
.mn-site-header .mn-brand { display: flex; align-items: center; }
.mn-brand > a { min-height: 48px; color: var(--mn-ink); text-decoration: none; }
.mn-brand__name { font-size: 24px; font-weight: 700; line-height: 1.25; }
.mn-brand__name small { margin-top: 0; font-size: 14px; line-height: 1.5; }
.mn-site-nav { gap: 24px; overflow: visible; padding-bottom: 0; }
.mn-site-nav a { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 8px; color: var(--mn-ink); font-size: 16px; font-weight: 700; text-decoration: none; }
.mn-site-nav a:hover { background: var(--mn-paper-deep); text-decoration: underline; }
.mn-header-cta { min-height: 48px; border: 1px solid var(--mn-control-border); border-radius: var(--mn-radius-control); padding: 8px 16px; color: var(--mn-ink); font-size: 16px; text-decoration: none; }
.mn-header-cta b, .mn-button > span[aria-hidden] { color: currentColor; }
.mn-header-cta:hover { background: var(--mn-paper-deep); color: var(--mn-ink); }

/* One primary search task on both national and regional landing pages. */
.mn-home-discover { background: var(--mn-paper-deep); padding-top: 32px; }
.mn-home-discover__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
.mn-home-discover__copy { padding: 0; }
.mn-home-discover__eyebrow { margin-bottom: 16px; font-size: 16px; font-weight: 700; letter-spacing: 0; }
.mn-home-discover h1 { font-size: clamp(32px, 3.3vw, 48px); font-weight: 700; line-height: 1.5; letter-spacing: 0; }
.mn-home-discover__lead { margin-top: 16px; font-size: 16px; line-height: 1.75; }
.mn-home-discover__links { margin-top: 16px; gap: 8px 24px; }
.mn-home-discover__links a, .mn-home-discover__back, .mn-home-discover__footer > a { min-height: 48px; color: var(--mn-link); border: 0; font-size: 16px; line-height: 1.5; text-decoration: underline; }
.mn-home-discover__back { margin: -16px 0 8px; }
.mn-home-search { padding: 24px; border: 1px solid var(--mn-line); border-radius: var(--mn-radius-panel); box-shadow: none; }
.mn-home-search h2 { font-size: 24px; font-weight: 700; margin-bottom: 16px; }
.mn-home-search form { gap: 16px; }
.mn-home-search__field label, .mn-filter-drawer__field label { display: block; margin-bottom: 8px; color: var(--mn-text); font-size: 16px; line-height: 1.5; font-weight: 700; }
.mn-field-hint { margin: 0 0 8px; color: var(--mn-text-secondary); font-size: 16px; line-height: 1.5; }
.mn-home-search__filters { gap: 16px; }
.mn-home-search__field input[type=search], .mn-home-search__field select,
.mn-filter-drawer__field input, .mn-filter-drawer__field select,
.mn-single-layout .p-widget form input {
  display: block; width: 100%; min-width: 0; min-height: 48px; height: auto;
  padding: 11px 16px; border: 1px solid var(--mn-control-border);
  border-radius: var(--mn-radius-control); color: var(--mn-text); background-color: #fff; font-size: 16px; line-height: 1.5;
}
.mn-home-search button, .mn-filter-drawer__actions button, .mn-single-layout .p-widget form .c-btn {
  min-height: 48px; padding: 12px 24px; border: 2px solid transparent; border-radius: var(--mn-radius-control);
  color: #fff; background: var(--mn-ink); font-size: 16px; line-height: 1.5; font-weight: 700; white-space: normal;
}
.mn-home-search button { min-height: 56px; }
.mn-home-search button:hover, .mn-filter-drawer__actions button:hover { background: var(--mn-ink-deep); text-decoration: underline; }
.mn-home-search__note { margin: 0; color: var(--mn-text-secondary); font-size: 16px; line-height: 1.5; text-align: left; }
.mn-home-discover__footer { margin-top: 24px; padding-block: 16px; }
.mn-home-discover__footer p { color: var(--mn-text-secondary); font-size: 16px; line-height: 1.5; gap: 8px 16px; }
.mn-home-discover__footer b { font-size: 24px; }

/* Resource lists: consistent hierarchy, readable dates, text + color statuses. */
.mn-feed-section, .mn-area-directory, .mn-editorial-reports, .mn-official-notices, .mn-database-guide { padding-block: 48px; }
.mn-feed-section { background: #fff; }
.mn-section-heading { margin-bottom: 24px; }
.mn-section-heading h2, .mn-home-about h2, .mn-official-notices h2 { font-size: clamp(24px, 2.5vw, 32px); font-weight: 700; line-height: 1.5; }
.mn-section-heading p, .mn-area-directory__note { color: var(--mn-text-secondary); font-size: 16px; line-height: 1.75; }
.mn-feed-layout { gap: 32px; }
.mn-feed-card__head { gap: 16px; flex-wrap: wrap; padding-bottom: 16px; border-bottom: 2px solid var(--mn-ink); }
.mn-feed-card__head h3 { margin: 0; color: var(--mn-ink); font-size: 24px; font-weight: 700; }
.mn-feed-card__head a { display: inline-flex; align-items: center; min-height: 44px; color: var(--mn-link); font-size: 16px; line-height: 1.5; }
.mn-open-close-list a { grid-template-columns: minmax(0, 1fr) 24px; gap: 8px 16px; padding: 24px 8px; color: var(--mn-text); text-decoration: none; border-radius: var(--mn-radius-control); }
.mn-open-close-list a:hover { background: var(--mn-paper-deep); color: var(--mn-text); transform: none; }
.mn-open-close-list .mn-status { grid-column: 1; justify-self: start; }
.mn-open-close-list__body { grid-column: 1; grid-row: 2; }
.mn-open-close-list a > span:last-child { grid-column: 2; grid-row: 2; padding-top: 4px; }
.mn-open-close-list__body b { font-family: var(--mn-font-body); font-size: 20px; line-height: 1.5; color: var(--mn-link); font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.mn-open-close-list__address, .mn-open-close-list__body small { display: block; margin-top: 8px; color: var(--mn-text-secondary); opacity: 1; font-size: 16px; font-weight: 400; line-height: 1.75; }
.mn-status, .mn-result-card .p-archive-open-close__badge, .mn-open-close-archive__results .p-archive-open-close__badge { border-radius: 4px; padding: 4px 8px; font-size: 16px; font-weight: 700; line-height: 1.5; letter-spacing: 0; margin: 0; }
.mn-status.is-open, .mn-feed-card--opening .mn-status.is-open, .mn-result-card .p-archive-open-close__badge--open, .c-badge--event-open, .c-badge--event-open:visited, .mn-open-close-archive__results .p-archive-open-close__badge--open { background: #fff0e8; color: #87351f; }
.mn-status.is-close, .mn-feed-card--closed .mn-status.is-close, .mn-result-card .p-archive-open-close__badge--close, .c-badge--event-close, .c-badge--event-close:visited, .mn-open-close-archive__results .p-archive-open-close__badge--close { background: #e7eeea; color: #24362f; }
.mn-status.is-move, .mn-feed-card--opening .mn-status.is-move, .mn-result-card .p-archive-open-close__badge--move, .c-badge--event-move, .c-badge--event-move:visited, .mn-open-close-archive__results .p-archive-open-close__badge--move { background: #e8f1ff; color: #003e86; }
.mn-status.is-renewal, .mn-feed-card--opening .mn-status.is-renewal, .mn-result-card .p-archive-open-close__badge--renewal, .c-badge--event-renewal, .c-badge--event-renewal:visited, .mn-open-close-archive__results .p-archive-open-close__badge--renewal { background: #f3eafa; color: #633080; }
.mn-area-directory { background: var(--mn-paper-deep); }
.mn-area-directory__grid { gap: 16px 32px; }
.mn-area-group { padding-block: 16px; }
.mn-area-group__head h3 { font-size: 24px; font-weight: 700; }
.mn-area-group__head > span, .mn-kicker { display: none; }
.mn-area-group__links { gap: 8px; }
.mn-area-group__links a, .mn-local-area-group .mn-area-group__links a { min-height: 48px; padding: 12px 16px; border: 1px solid var(--mn-control-border); border-radius: var(--mn-radius-control); color: var(--mn-ink); background: #fff; font-size: 16px; line-height: 1.5; text-decoration: none; }
.mn-area-group__links a:hover, .mn-area-group__links a:focus-visible,
.mn-local-area-group .mn-area-group__links a:hover, .mn-local-area-group .mn-area-group__links a:focus-visible { color: var(--mn-ink); background: #e7eeea; text-decoration: underline; }
.mn-editorial-report h3 { font-size: 24px; font-weight: 700; }
.mn-editorial-report h3 a, .mn-editorial-text-link { color: var(--mn-link); }
.mn-editorial-report__date, .mn-editorial-report > p:last-child, .mn-editorial-text-link { font-size: 16px; line-height: 1.75; }
.mn-home-about { background: var(--mn-ink); padding-block: 48px; }
.mn-home-about__content p { color: #fff; font-size: 16px; line-height: 1.75; }
.mn-button { min-height: 48px; border-radius: var(--mn-radius-control); padding: 12px 24px; font-size: 16px; line-height: 1.5; font-weight: 700; }
.mn-button--ink, .mn-button--ink:visited { color: #fff; background: var(--mn-ink); }
.mn-button--light, .mn-button--light:visited { background: #fff; color: var(--mn-ink); }
.mn-guide-grid article h3 { font-size: 20px; font-weight: 700; }
.mn-guide-grid article p { color: var(--mn-text-secondary); font-size: 16px; line-height: 1.75; }
.mn-empty-state h2 { font-size: 24px; font-weight: 700; }
.mn-empty-state, .mn-empty-state--ink p { font-size: 16px; line-height: 1.75; color: var(--mn-text-secondary); }
.mn-official-notice h3 { font-size: 24px; }
.mn-official-notice h3 a { color: var(--mn-link); }
.mn-official-notice dl, .mn-official-notice .mn-official-notice__status,
.mn-official-notice .mn-official-notice__address, .mn-official-notice .mn-official-notice__caution,
.mn-official-notice__sources a { font-size: 16px; line-height: 1.75; }

/* Results and native disclosures preserve existing URLs, history and GET state. */
.mn-open-close-archive__hero .c-page-title { font-size: clamp(24px, 3vw, 40px); font-weight: 700; }
.mn-archive-hero__lead, .mn-open-close-archive__hero .mn-archive-hero__lead { color: var(--mn-text-secondary); font-size: 16px; line-height: 1.75; }
.mn-filter-drawer { border: 1px solid var(--mn-control-border); border-radius: var(--mn-radius-control); overflow: visible; }
.mn-filter-drawer summary { min-height: 56px; padding: 16px; border-radius: var(--mn-radius-control); color: var(--mn-text); background: #fff; }
.mn-filter-drawer summary > span, .mn-filter-drawer summary small { font-size: 16px; line-height: 1.5; }
.mn-filter-drawer .mn-filter-drawer__form { gap: 24px 16px; padding: 24px; }
.mn-filter-drawer__field { align-self: end; min-width: 0; }
.mn-filter-drawer__actions a { display: inline-flex; align-items: center; min-height: 48px; color: var(--mn-link); font-size: 16px; }
.mn-open-close-archive__toolbar { gap: 16px; flex-wrap: wrap; }
.mn-sort-links { gap: 8px; }
.mn-sort-links > span { color: var(--mn-text-secondary); font-size: 16px; }
.mn-sort-links a, .mn-recovery-link, .shops-list-filter-chip { min-height: 48px; padding: 8px 16px; border: 1px solid var(--mn-control-border); border-radius: var(--mn-radius-control); color: var(--mn-ink); background: #fff; font-size: 16px; line-height: 1.5; }
.mn-sort-links a[aria-current] { background: var(--mn-ink); color: #fff; font-weight: 700; text-decoration: underline; }
.shops-list-filter-summary, .shops-list-filter-summary a, .shops-list-filter-summary__title { color: var(--mn-text-secondary); font-size: 16px; line-height: 1.5; }
.shops-list-filter-summary .shops-list-filter-chip { max-width: 100%; white-space: normal; }
.shops-list-filter-summary .shops-list-filter-chip span { min-width: 0; font-size: 16px; line-height: 1.5; }
.mn-open-close-archive__results .p-archive-open-close__item { border-radius: var(--mn-radius-control); overflow: visible; }
.mn-open-close-archive__results .p-archive-open-close__link { display: block; padding: 24px; text-decoration: none; }
.mn-open-close-archive__results .p-archive-open-close__title { font-family: var(--mn-font-body); color: var(--mn-link); font-size: 24px; line-height: 1.5; font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.mn-result-card__headline, .mn-result-card__event, .p-archive-open-close__address,
.mn-open-close-archive__results .p-archive-open-close__meta .c-date, .mn-open-close-archive__results .shops-list-card__area { color: var(--mn-text-secondary); font-size: 16px; line-height: 1.75; }
.p-archive-open-close__header { gap: 8px; }
.p-archive-open-close__header > .u-flex { flex-wrap: wrap; gap: 8px; }
.l-pagenation a, .l-pagenation span, .l-pagenation .page-numbers li > .page-numbers { min-width: 44px; min-height: 44px; font-size: 16px; }

/* Event-date lists reuse the same resource-card hierarchy outside the archive wrapper. */
.mn-result-card { min-width: 0; overflow: visible; border-radius: var(--mn-radius-control); }
.mn-result-card .p-archive-open-close__link { display: block; padding: 24px; text-decoration: none; }
.mn-result-card .p-archive-open-close__title { font-family: var(--mn-font-body); font-size: 24px; line-height: 1.5; color: var(--mn-link); font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.mn-result-card .p-archive-open-close__meta, .mn-result-card .p-archive-open-close__meta time, .mn-result-card .p-archive-open-close__meta span, .mn-result-card .shops-list-card__category { font-size: 16px; line-height: 1.75; color: var(--mn-text-secondary); opacity: 1; }
.mn-result-card .shops-list-card__category { padding: 4px 8px; border-radius: 4px; }
.c-badge[class*="c-badge--event-"] { display: inline-flex; align-items: center; min-height: 44px; padding: 8px; font-size: 16px; line-height: 1.5; }

/* Reading and action hierarchy on details, source notes and reports. */
.mn-open-close-detail__entry { border-radius: var(--mn-radius-control); overflow: visible; }
.mn-open-close-detail__entry .p-entry__title { font-size: clamp(24px, 3vw, 40px); font-weight: 700; }
.mn-open-close-detail__entry .p-entry__body, .mn-single-entry__body { font-size: 16px; line-height: 1.75; }
.p-shop-detail__info-row dt, .p-shop-detail__info-row dd, .p-shop-detail__event-notice { font-size: 16px; line-height: 1.75; }
.p-shop-detail__info-row dt { color: var(--mn-text); font-weight: 700; }
.p-shop-detail__info-row dd { color: var(--mn-text); }
.p-shop-detail__event-notice { padding: 16px; border-left: 4px solid var(--mn-orange); background: #fff5ec; }
.p-shop-detail__phone-link, .p-shop-detail__link-button, .p-shop-detail__verification-sources a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.p-shop-detail__icon-link { min-height: 44px; min-width: 44px; }
.mn-shop-actions a, .mn-open-close-share__button, .mn-shop-map summary { min-height: 48px; padding: 12px 16px; border: 1px solid var(--mn-control-border); border-radius: var(--mn-radius-control); font-size: 16px; line-height: 1.5; }
.mn-open-close-share__title, .mn-open-close-share__lead { font-size: 16px; line-height: 1.75; }
.mn-open-close-share__button { color: var(--mn-ink); text-decoration: none; font-weight: 700; }
.mn-source-context p, .mn-source-context li, .mn-source-context a,
.mn-source-context__label, .mn-source-context__meta, .mn-source-context__field, .mn-source-context small, .mn-source-context__list a, .mn-source-context__links a { font-size: 16px; line-height: 1.75; }
.mn-single-layout .p-widget__title, .mn-single-layout .p-widget__category-list a { font-size: 16px; }
.mn-single-layout .p-widget__category-list a { min-height: 44px; }
.c-breadcrumb__item { font-size: 16px; line-height: 1.5; }
.c-breadcrumb__link { display: inline-flex; align-items: center; min-height: 44px; }
.mn-brand--footer, .mn-brand--footer:visited { color: #fff; }
.mn-site-footer { background: var(--mn-ink-deep); color: #fff; }
.mn-site-footer__links a, .mn-site-footer__bottom a,
.mn-footer-areas-desktop .mn-site-footer__prefectures a { display: inline-flex; align-items: center; min-height: 44px; color: #fff; font-size: 16px; line-height: 1.5; }
.mn-site-footer__brand p, .mn-site-footer__partner-note { color: #fff; opacity: 1; font-size: 16px; line-height: 1.75; }
.mn-site-footer__bottom { flex-wrap: wrap; gap: 16px; }
.mn-site-footer__bottom > p { color: #fff; font-size: 14px; }
.mn-footer-areas summary { min-height: 48px; font-size: 16px; }

/* The same foundations apply to reports, contact and recovery pages. */
.mn-report-card__link { border-radius: var(--mn-radius-control); text-decoration: none; }
.mn-report-card__title { font-size: 24px; line-height: 1.5; font-weight: 700; color: var(--mn-link); text-decoration: underline; text-underline-offset: .2em; }
.mn-report-card__label, .mn-report-card__topline time, .mn-report-card__meta, .mn-report-card__excerpt,
.mn-report-detail__summary span, .mn-report-detail__entry .p-entry__date, .mn-entry-navigation a { font-size: 16px; line-height: 1.75; color: var(--mn-text-secondary); }
.mn-report-detail__summary { gap: 24px; }
.mn-entry-navigation a { min-height: 48px; color: var(--mn-link); }
.mn-contact-page .c-page-title { font-size: clamp(24px, 3vw, 40px); font-weight: 700; line-height: 1.5; }
.mn-contact-page__body { padding-block: 32px 48px; }
.mn-contact-page__form-card { padding: 24px; border-radius: var(--mn-radius-panel); box-shadow: none; }
.mn-contact-page__form-card .wpcf7 form { gap: 24px; }
.mn-contact-page__form-card label, .mn-contact-page__form-card .mn-cf7-required,
.mn-contact-page__form-card .mn-cf7-note, .mn-contact-page__form-card .mn-cf7-privacy,
.mn-contact-page__form-card .wpcf7-not-valid-tip, .mn-contact-page__form-card .wpcf7-response-output,
.mn-contact-page__form-unavailable p, .mn-contact-page__form-unavailable a { font-size: 16px; line-height: 1.75; }
.mn-contact-page__form-card label { font-weight: 700; }
.mn-contact-page__form-card .mn-cf7-note, .mn-contact-page__form-card .mn-cf7-privacy,
.mn-contact-page__form-unavailable p { color: var(--mn-text-secondary); }
.mn-contact-page__form-card input:not([type="submit"]):not([type="checkbox"]), .mn-contact-page__form-card select, .mn-contact-page__form-card textarea {
  min-height: 48px; margin-top: 8px; padding: 11px 16px; border: 1px solid var(--mn-control-border);
  border-radius: var(--mn-radius-control); font-size: 16px; font-weight: 400; line-height: 1.5; color: var(--mn-text); background: #fff;
}
.mn-contact-page__form-card input[type="checkbox"] { appearance: auto; width: 24px; height: 24px; flex-shrink: 0; accent-color: var(--mn-ink); }
.mn-contact-page__form-card .wpcf7-acceptance label { display: flex; align-items: center; gap: 12px; min-height: 48px; font-weight: 400; }
.mn-contact-page__form-card input[type="submit"] { min-height: 56px; max-width: 100%; padding: 12px 24px; border-radius: var(--mn-radius-control); color: #fff; background: var(--mn-ink); font-size: 16px; line-height: 1.5; font-weight: 700; white-space: normal; }
.mn-contact-page__form-card input[type="submit"]:hover { transform: none; }
.mn-contact-page__form-card input[type="submit"]:disabled { background: #d9d9d9; color: #4d4d4d; cursor: not-allowed; }
.mn-contact-page__form-card [aria-invalid="true"] { border: 2px solid #b00020 !important; }
.mn-contact-page__form-card .wpcf7-not-valid-tip { display: block; color: #b00020; }
.mn-contact-page__form-unavailable a { display: inline-flex; align-items: center; min-height: 48px; }
.mn-error-page { background: var(--mn-paper-deep); padding-block: 48px; }
.mn-error-page__orb, .mn-error-page__eyebrow, .mn-error-page__search-label { display: none; }
.mn-error-page__code { font-size: 64px; line-height: 1.25; }
.mn-error-page h1 { font-size: clamp(24px, 3vw, 40px); font-weight: 700; line-height: 1.5; letter-spacing: 0; }
.mn-error-page__lead, .mn-error-page__search-links a, .mn-error-page__actions .mn-text-link { font-size: 16px; line-height: 1.75; color: var(--mn-text-secondary); }
.mn-error-page__search { color: var(--mn-text); background: #fff; box-shadow: none; padding: 24px; border: 1px solid var(--mn-line); border-radius: var(--mn-radius-panel); }
.mn-error-page__search h2 { margin-top: 0; color: var(--mn-ink); font-size: 24px; font-weight: 700; }
.mn-error-page__search form { background: transparent; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.mn-error-page__search label { color: var(--mn-text); display: block; font-size: 16px; font-weight: 700; }
.mn-error-page__search input { min-width: 0; width: 100%; height: auto; min-height: 48px; border: 1px solid var(--mn-control-border); border-radius: var(--mn-radius-control); padding: 11px 16px; font-size: 16px; }
.mn-error-page__search button { width: 100%; min-height: 48px; padding: 12px 24px; border-radius: var(--mn-radius-control); color: #fff; background: var(--mn-ink); font-size: 16px; line-height: 1.5; font-weight: 700; }
.mn-error-page__search-links a, .mn-error-page__actions .mn-text-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--mn-link); }

@media (max-width: 1000px) {
  .mn-home-discover__grid { gap: 32px; }
  .mn-site-nav { gap: 8px; }
}
@media (max-width: 900px) {
  .mn-home-discover__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 800px) {
  .mn-shell { width: calc(100% - 32px); }
  .mn-site-header__inner { min-height: 0; gap: 0; padding-block: 4px; }
  .mn-brand__name { font-size: 22px; }
  .mn-brand__name small { font-size: 14px; }
  .mn-site-nav { gap: 0; }
  .mn-site-nav a { min-height: 48px; padding: 8px 4px; font-size: 16px; line-height: 1.5; }
  .mn-home-discover { padding-top: 24px; }
  .mn-home-discover h1 { font-size: 32px; }
  .mn-home-discover__eyebrow { font-size: 16px; margin-bottom: 8px; }
  .mn-home-discover__lead, .mn-home-discover__links { margin-top: 8px; }
  .mn-home-search { padding: 16px; }
  .mn-home-search h2 { font-size: 20px; }
  .mn-home-search form { gap: 16px; }
  .mn-home-search__filters { gap: 16px; }
  .mn-home-discover__footer { margin-top: 24px; }
  .mn-feed-section, .mn-area-directory, .mn-editorial-reports, .mn-official-notices, .mn-database-guide, .mn-home-about { padding-block: 32px; }
  .mn-feed-layout { gap: 32px; }
  .mn-feed-card__head h3 { font-size: 20px; }
  .mn-open-close-list a { padding: 16px 0; }
  .mn-open-close-list__body b { font-size: 20px; }
  .mn-area-group__head h3 { font-size: 20px; }
  .mn-guide-grid { grid-template-columns: 1fr; }
  .mn-open-close-archive__hero { padding-block: 0; }
  .mn-open-close-archive__toolbar { display: flex; gap: 16px; }
  .mn-open-close-archive .mn-sort-links { display: flex; flex-wrap: wrap; gap: 8px; }
  .mn-open-close-archive .mn-sort-links a { flex: 1 1 auto; padding: 8px; font-size: 16px; }
  .mn-filter-drawer summary { grid-template-columns: minmax(0, 1fr) 24px; }
  .mn-filter-drawer summary small { display: none; }
  .mn-filter-drawer .mn-filter-drawer__form { grid-template-columns: minmax(0, 1fr); padding: 16px; gap: 16px; }
  .mn-filter-drawer__field { gap: 0; }
  .mn-open-close-archive__results .p-archive-open-close__link { padding: 20px 16px; }
  .mn-open-close-archive__results .p-archive-open-close__title { font-size: 20px; }
  .mn-open-close-archive__results .p-archive-open-close__badge,
  .mn-open-close-archive__results .shops-list-card__area,
  .mn-open-close-archive__results .p-archive-open-close__meta .c-date { font-size: 16px; }
  .mn-single-breadcrumb .c-breadcrumb__item { font-size: 16px; }
  .mn-site-footer__links { gap: 24px; }
}
@media (max-width: 480px) {
  .mn-home-search__filters { grid-template-columns: minmax(0, 1fr); }
  .mn-feed-card__head { gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition: none !important; }
}
@media (forced-colors: active) {
  :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid Highlight !important; box-shadow: none !important; }
  .mn-status, .mn-sort-links a[aria-current] { border: 1px solid currentColor; }
}

.mn-error-page__search-links a span { color: currentColor; }
.mn-error-page__search-links a:hover, .mn-error-page__search-links a:focus-visible { color: var(--mn-link); text-decoration: underline; }

/* Supporting cards remain readable at the same scale as primary content. */
.mn-sidebar-eyebrow, .mn-sidebar-contribute__content small { display: none; }
.mn-sidebar-promo { border-radius: var(--mn-radius-control); }
.mn-sidebar-promo h2 { font-size: 24px; line-height: 1.5; }
.mn-sidebar-promo p:not(.mn-sidebar-eyebrow), .mn-sidebar-promo__link { color: var(--mn-text-secondary); font-size: 16px; line-height: 1.75; }
.mn-sidebar-promo__link { color: var(--mn-link); text-decoration: underline; }
.mn-sidebar-contribute { display: flex; flex-direction: column; aspect-ratio: auto; overflow: visible; border: 1px solid var(--mn-line); border-radius: var(--mn-radius-control); }
.mn-sidebar-contribute img { height: 160px; object-fit: cover; border-radius: 8px 8px 0 0; }
.mn-sidebar-contribute:hover img, .mn-sidebar-contribute:focus-visible img { transform: none; }
.mn-sidebar-contribute__content { position: static; width: 100%; min-width: 0; padding: 16px; background: #fff; }
.mn-sidebar-contribute__content strong { font-size: 20px; line-height: 1.5; }
.mn-sidebar-contribute__content > span { font-size: 16px; line-height: 1.75; color: var(--mn-link); text-decoration: underline; }
.mn-sidebar-ad-slot { color: var(--mn-text-secondary); }
.mn-sidebar-ad-slot span, .mn-sidebar-ad-slot small { font-size: 14px; line-height: 1.5; }
.mn-report-card__meta b { font-size: 16px; line-height: 1.75; color: var(--mn-text-secondary); }

.mn-open-close-archive .shops-list-header__count, .mn-results-toolbar .shops-list-header__count, .shops-list-header__count { font-size: 16px; line-height: 1.5; color: var(--mn-text); }

.mn-archive-hero .l-page-header__inner > p:last-child { color: var(--mn-text-secondary); font-size: 16px; line-height: 1.75; }
.mn-local-area-group .mn-area-group__head small { color: var(--mn-text-secondary); font-size: 16px; line-height: 1.5; }
.mn-guide-grid article > span { color: var(--mn-orange); font-size: 16px; line-height: 1.5; }

/* Compact phone layout: keep reading/input text and targets, reduce repeated chrome.
 * 14px is limited to constrained, secondary labels; see docs/dads-design-system.md.
 * Tablet and desktop retain the original foundation layout.
 */
@media (max-width: 600px) {
  .mn-home-discover { padding-top: 16px; }
  .mn-home-discover__grid { gap: 16px; }
  .mn-home-discover h1 { font-size: 28px; line-height: 1.4; }
  .mn-home-discover__eyebrow { font-size: 14px; line-height: 1.5; }
  .mn-home-discover__lead { line-height: 1.5; }
  .mn-home-discover__links { gap: 8px 16px; }
  .mn-home-search h2 { font-size: 18px; margin-bottom: 12px; }
  .mn-home-search form, .mn-home-search__filters { gap: 12px; }
  .mn-home-search__field label { margin-bottom: 4px; }
  .mn-home-search__filters { grid-template-columns: minmax(0, 1fr); }
  .mn-home-search__filters .mn-home-search__field { display: grid; grid-template-columns: 5em minmax(0, 1fr); align-items: center; gap: 8px; }
  .mn-home-search__filters label { margin: 0; }
  .mn-home-search__field select { padding-inline: 8px 24px; }
  .mn-home-search .mn-field-hint, .mn-home-search__note { font-size: 14px; line-height: 1.5; }
  .mn-home-discover__footer { margin-top: 8px; padding-block: 8px; gap: 8px; }
  .mn-home-discover__footer p { font-size: 14px; gap: 4px 12px; }
  .mn-home-discover__footer b { font-size: 20px; }
  .mn-feed-section { padding-block: 24px; }
  .mn-section-heading { margin-bottom: 16px; }
  .mn-feed-card__head { padding-bottom: 8px; }
  .mn-open-close-list a { padding-block: 12px; gap: 4px 12px; }
  .mn-open-close-list__body b { font-size: 18px; line-height: 1.5; }
  .mn-open-close-list__address, .mn-open-close-list__body small { margin-top: 4px; line-height: 1.5; }
  .mn-status, .mn-result-card .p-archive-open-close__badge,
  .mn-open-close-archive__results .p-archive-open-close__badge,
  .mn-result-card .shops-list-card__category,
  .mn-open-close-archive__results .p-archive-open-close__meta .c-date { font-size: 14px; line-height: 1.5; }
  .mn-open-close-archive__toolbar { gap: 8px; }
  .mn-open-close-archive .mn-sort-links { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mn-open-close-archive .mn-sort-links a { min-width: 0; padding: 8px 4px; }
  .mn-open-close-archive__results .p-archive-open-close__link,
  .mn-result-card .p-archive-open-close__link { padding: 12px 16px; }
  .mn-open-close-archive__results .p-archive-open-close__title,
  .mn-result-card .p-archive-open-close__title { font-size: 18px; line-height: 1.5; }
  .mn-result-card__event, .p-archive-open-close__address { line-height: 1.5; }
  .mn-open-close-detail__entry .p-entry__title { font-size: 22px; line-height: 1.5; }
  .mn-single-entry .p-entry__head { margin-bottom: 16px; }
  .p-shop-detail__event-notice { padding: 12px; line-height: 1.5; }
  .mn-single-entry .p-shop-detail__info-row { padding-block: 12px; gap: 4px; }
  .p-shop-detail__info-row dt, .p-shop-detail__info-row dd { line-height: 1.5; }
  .mn-source-context { margin-top: 16px; padding-top: 16px; }
  .mn-source-context h2 { font-size: 18px; margin-bottom: 8px; }
  .mn-source-context__list { margin-block: 12px; }
  .mn-source-context__list li { padding-block: 8px; }
  .mn-source-context small, .mn-source-context__meta { font-size: 14px; line-height: 1.5; }
  .mn-open-close-share { margin-top: 16px; }
  .mn-open-close-share__button { padding-inline: 8px; }
  .mn-sidebar-contribute { flex-direction: row; align-items: center; }
  .mn-sidebar-contribute img { width: 88px; height: 88px; flex-shrink: 0; border-radius: 8px 0 0 8px; }
  .mn-sidebar-contribute__content { padding: 12px; }
  .mn-sidebar-contribute__content strong { font-size: 18px; }
}
