/* All-page shell and discovery. Article body/layout rules stay in article CSS. */
:root {
  --site-ink: #302b2e;
  --site-muted: #64565d;
  --site-accent: #9d3159;
  --site-tint: #fff5f8;
  --site-border: #e8cbd6;
}
/* Preserve the approved brand palette, borders and shadows in the existing CSS. */
[data-medical-mikke-page] .skip-link {
  position: fixed; inset: 8px auto auto 8px; z-index: 10000;
  transform: translateY(-160%); padding: 12px 20px;
  background: #fff; color: var(--site-accent); border: 2px solid var(--site-accent);
}
[data-medical-mikke-page] .skip-link:focus { transform: none; }
[data-medical-mikke-page] :where(a, button, input, summary):focus-visible {
  outline: 3px solid var(--site-accent); outline-offset: 4px;
}
[data-medical-mikke-header] { position: relative; z-index: 50; }
[data-medical-mikke-header] :where(.menu-toggle, .gnav a) { min-height: 44px; }
[data-medical-mikke-header] .gnav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 5px; }
[data-medical-mikke-footer] nav a { display: flex; align-items: center; min-height: 44px; margin: 0; font-size: 15px; }
[data-medical-mikke-footer] a:hover { text-decoration: underline; }

.site-discovery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 24px 0; }
.site-discovery > a {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 20px; background: #fff; border: 2px solid var(--medical-ink);
  border-radius: 9px; box-shadow: var(--medical-shadow); text-decoration: none; color: var(--site-ink); min-width: 0;
}
.site-discovery > a:hover { border-color: var(--site-accent); background: var(--site-tint); }
.site-discovery strong { display: block; font-size: 17px; line-height: 1.6; color: var(--site-accent); }
.site-discovery small { display: block; font-size: 14px; line-height: 1.7; margin-top: 6px; color: var(--site-muted); }
.site-link-arrow { flex: 0 0 auto; color: var(--site-accent); font-size: 26px; }
.site-page-heading { margin: 24px 0; }
.site-page-heading h1 { font-size: clamp(26px, 3vw, 34px); line-height: 1.5; margin: 0 0 12px; }
.site-page-heading p { font-size: 16px; line-height: 1.9; }
.site-catalog { margin-top: 32px; }
[data-medical-mikke-page]:not([data-medical-mikke-page="article"]) .articles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
[data-medical-mikke-page] .site-article-card {
  overflow: hidden; min-width: 0; margin: 0; padding: 0;
}
[data-medical-mikke-page] .site-article-card[hidden] { display: none; }
[data-medical-mikke-page] .site-article-card > a { display: flex; height: 100%; flex-direction: column; padding: 0; text-decoration: none; color: var(--site-ink); }
[data-medical-mikke-page] .site-article-card > a:hover { background: var(--site-tint); }
[data-medical-mikke-page] .site-article-card .thumb { aspect-ratio: 16 / 9; height: auto; }
[data-medical-mikke-page] .site-article-card .thumb img { display: block; width: 100%; height: 100%; object-fit: contain; }
.site-card-copy { padding: 20px; display: flex; flex: 1; flex-direction: column; align-items: flex-start; }
.site-card-label { display: inline-block; padding: 3px 10px; border: 2px solid var(--medical-ink); border-radius: 4px; background: var(--yellow); font-size: 12px; color: var(--medical-ink); font-weight: 800; }
[data-medical-mikke-page] .site-card-copy h2 { font-size: 19px; line-height: 1.7; margin: 10px 0; background: none; border: 0; padding: 0; color: var(--site-ink); }
[data-medical-mikke-page] .site-card-copy p { font-size: 15px; line-height: 1.9; color: var(--site-muted); margin: 0 0 16px; }
.site-card-action { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 15px; font-weight: 700; color: var(--site-accent); text-decoration: underline; text-underline-offset: 4px; }
/* Home comparisons are compact navigation, not full-size article previews. */
[data-medical-mikke-page="home"] .soft .articles { grid-template-columns: 1fr; max-width: 960px; margin-inline: auto; gap: 14px; }
[data-medical-mikke-page="home"] .soft .site-article-card > a { flex-direction: row; align-items: center; gap: 20px; padding: 16px; }
[data-medical-mikke-page="home"] .soft .site-article-card .thumb { width: 240px; flex: 0 0 240px; }
[data-medical-mikke-page="home"] .soft .site-card-copy { min-width: 0; padding: 0; }
[data-medical-mikke-page="home"] .soft .site-card-copy h2 { font-size: 18px; margin: 8px 0; }
[data-medical-mikke-page="home"] .soft .site-card-copy p { line-height: 1.8; margin: 0 0 8px; }
/* The palette's background shorthands clear this original brand illustration. */
[data-medical-mikke-page="home"] .hero {
  background-image: url('/img/hero.svg');
  background-position: center;
  background-size: cover;
}
[data-medical-mikke-page="home"] .site-search--card :is(button, input) { min-height: 48px; }
[data-medical-mikke-page="home"] .site-search-kw a { min-height: 44px; }
[data-medical-mikke-page="category"] .site-discovery:has(> a:only-child) { grid-template-columns: 1fr; }
[data-medical-mikke-page="category"] .articles.site-article-list { grid-template-columns: 1fr; }
[data-medical-mikke-page="category"] .site-article-card > a { flex-direction: row; align-items: center; }
[data-medical-mikke-page="category"] .site-article-card .thumb { width: 220px; flex: 0 0 220px; }
[data-medical-mikke-page="article_index"] .sect-title h1 { font-size: 32px; line-height: 1.5; }
[data-medical-mikke-page="article_index"] .sect-title p { font-size: 16px; }
[data-medical-mikke-page="article_index"] .articles-filter button { min-height: 44px; font-size: 14px; }
[data-medical-mikke-page="article_index"] .articles-filter { flex-wrap: wrap; overflow: visible; }
[data-medical-mikke-page="article_index"] .articles-search button { min-width: 72px; min-height: 48px; padding: 0 16px; background: var(--site-accent); color: #fff; font-size: 14px; font-weight: 700; border: 0; }
[data-medical-mikke-page="article_index"] .articles-filter button[aria-pressed="true"] { background: var(--site-accent); color: #fff; }

@media (max-width: 860px) {
  [data-medical-mikke-header] .gnav { max-height: calc(100dvh - 72px); overflow-y: auto; overscroll-behavior: contain; }
}
@media (max-width: 600px) {
  .site-discovery { grid-template-columns: 1fr; gap: 10px; margin: 20px 0; }
  .site-discovery > a { padding: 16px; }
  .site-discovery strong { font-size: 16px; }
  [data-medical-mikke-page]:not([data-medical-mikke-page="article"]) .articles { grid-template-columns: 1fr; gap: 18px; }
  [data-medical-mikke-page="category"] .site-article-card > a { flex-direction: column; align-items: stretch; }
  [data-medical-mikke-page="category"] .site-article-card .thumb { flex: auto; width: 100%; }
  [data-medical-mikke-footer] .mega-footer-bottom { display: block; }
  .site-card-copy { padding: 18px; }
  [data-medical-mikke-page="home"] .soft .site-article-card > a { display: grid; grid-template-columns: 104px minmax(0, 1fr); align-items: start; gap: 8px 12px; padding: 14px; }
  [data-medical-mikke-page="home"] .soft .site-article-card .thumb { grid-column: 1; grid-row: 1 / 3; align-self: start; width: 104px; }
  [data-medical-mikke-page="home"] .soft .site-card-copy { display: contents; }
  [data-medical-mikke-page="home"] .soft .site-card-label { grid-column: 2; grid-row: 1; justify-self: start; }
  [data-medical-mikke-page="home"] .soft .site-card-copy h2 { grid-column: 2; grid-row: 2; font-size: 16px; margin: 0; }
  [data-medical-mikke-page="home"] .soft .site-card-copy p { grid-column: 1 / -1; margin: 4px 0 0; }
  [data-medical-mikke-page="home"] .soft .site-card-action { grid-column: 1 / -1; margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
  [data-medical-mikke-page] { scroll-behavior: auto; }
  [data-medical-mikke-page] :where(a, button) { transition: none; }
}

/* Short reader actions; no provider rankings, full-screen prompts, or new brand palette. */
[data-medical-mikke-page="article"] .site-journey-shortcut { margin: 20px 0; }
[data-medical-mikke-page="article"] .site-journey-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 12px 18px; max-width: 100%; box-sizing: border-box;
  border: 1px solid #c97996; border-radius: 8px; background: #fff0f4 !important;
  color: #81264a !important; font-size: 16px; font-weight: 800; line-height: 1.6;
  text-decoration: none !important; text-align: center; word-break: normal; overflow-wrap: anywhere;
}
[data-medical-mikke-page="article"] .site-journey-button:hover { background: #ffe0e9 !important; text-decoration: underline !important; }
.site-journey-button > span { flex: none; }
[data-medical-mikke-page="article"] .site-journey-end { padding: 22px; margin: 28px 0; border: 1px solid var(--site-border); border-radius: 10px; background: #fff; }
[data-medical-mikke-page="article"] .site-journey-end strong { display: block; color: var(--site-ink); font-size: 19px; line-height: 1.7; background: none; box-shadow: none; }
[data-medical-mikke-page="article"] .site-journey-end p { color: var(--site-muted); margin: 8px 0 14px; font-size: 16px; line-height: 1.9; }
.site-journey-mobile, .site-journey-mobile[hidden] { display: none; }
[data-medical-mikke-page="article"] :where(section[id], h2[id]) { scroll-margin-top: 20px; }
@media (max-width: 960px) {
  .has-journey-mobile { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  [data-medical-mikke-page="article"] .site-journey-mobile:not([hidden]) {
    display: flex; align-items: center; gap: 8px; position: fixed; inset: auto 0 0; z-index: 40;
    padding: 8px max(12px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    border-top: 1px solid var(--site-border); background: #fff; box-shadow: 0 -3px 14px #302b2e0d;
  }
  [data-medical-mikke-page="article"] .site-journey-mobile .site-journey-button { flex: 1; min-width: 0; padding: 10px; font-size: 15px; }
  .site-journey-close { flex: 0 0 44px; width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 6px; background: #fff; color: var(--site-muted); font-size: 26px; }
}
@media print { .site-journey-mobile { display: none !important; } .has-journey-mobile { padding-bottom: 0; } }
