/* ============================================================
   Site-wide typography system (v0.9.155)
   ------------------------------------------------------------
   Ruhige Rollen-Skala nach Live-Benchmark mit einfachbacken.de.
   Bewusst in px: Astra setzt live 1rem = 20px; rem-Werte wuerden
   die beabsichtigten Groessen deshalb um 25 Prozent aufblasen.
   - Normaler Lesetext: 16px
   - Rezept-Lesetext: 17px
   - Karten-Titel: 18px
   - UI: 15px / Formfelder: 16px
   - Sekundaertext: 14px
   - Meta/Pflichtlabel: 12px (absolutes Minimum fuer sichtbaren Text)

   Die Datei wird bewusst als letztes Theme-Stylesheet geladen. Dadurch
   bleiben bestehende Layouts erhalten, waehrend zu kleine lokale Werte
   auf Home, Archiven, Singles, Kurs und Saisonkalender korrigiert werden.
   ============================================================ */

:root {
  --wm-type-prose: 16px;
  --wm-type-recipe: 17px;
  --wm-type-card: 18px;
  --wm-type-body: var(--wm-type-recipe);
  --wm-type-ui: 15px;
  --wm-type-control: 16px;
  --wm-type-small: 14px;
  --wm-type-micro: 12px;
  --wm-leading-body: 1.6;
}

/* Header und Navigation */
.wmc-header__search-toggle,
.wmc-header__topbar-links a,
.wmc-header__account-link {
  font-size: 13px;
  line-height: 1.35;
}

.wmc-header__menu a {
  font-size: var(--wm-type-ui);
  line-height: 1.4;
}

.wmc-header__menu .sub-menu a {
  font-size: 15px;
  line-height: 1.45;
}

.wmc-header__mobile-menu a {
  font-size: var(--wm-type-control);
  line-height: 1.45;
}

/* Footer: Navigation und Rechtstexte bleiben auch auf dunklem Grund lesbar. */
.wmc-footer__site-name {
  font-size: 22px;
  line-height: 1.2;
}

.wmc-footer__tagline,
.wmc-footer__nav a {
  font-size: var(--wm-type-small);
  line-height: 1.55;
}

.wmc-footer__copy,
.wmc-footer__legal a {
  color: #a8a29e;
  font-size: 13px;
  line-height: 1.55;
}

/* Direkter Lesetext: Komponenten in Artikeln werden nicht mitvergroessert. */
body.page:not(.saisonkalender-page):not(.wm-hub-page) .entry-content > p,
body.page:not(.saisonkalender-page):not(.wm-hub-page) .entry-content > ul > li,
body.page:not(.saisonkalender-page):not(.wm-hub-page) .entry-content > ol > li,
body.page:not(.saisonkalender-page):not(.wm-hub-page) .entry-content > blockquote,
body.page:not(.saisonkalender-page):not(.wm-hub-page) .wp-block-group__inner-container > p,
body.page:not(.saisonkalender-page):not(.wm-hub-page) .wp-block-column > p,
.wm-hub-body__content,
.wm-hub-body__content p,
.wm-hub-body__content li {
  font-size: var(--wm-type-prose);
  line-height: var(--wm-leading-body);
}

body.wm-recipe-page .article > .entry-content > p:not(.wm-amz-disclosure),
body.wm-recipe-page .article > .entry-content > ul > li,
body.wm-recipe-page .article > .entry-content > ol > li,
body.wm-recipe-page .article > .entry-content > blockquote p {
  font-size: var(--wm-type-recipe);
  line-height: var(--wm-leading-body);
}

.wm-hub-body__lead,
.wm-hub-description__lead,
body.wm-recipe-page .hero__lede {
  font-size: var(--wm-type-recipe);
  line-height: 1.6;
}

/* Heading-Hierarchie: Referenz 48px Rezept-H1, 24px H2, 18px Karten. */
body.wm-home-page .home-hero h1 {
  font-size: clamp(40px, 5.2vw, 64px);
  line-height: 1.02;
}

body.wm-archive-page .arc-hero h1,
.wm-ratgeber-hub .arc-hero h1 {
  font-size: clamp(36px, 4.5vw, 52px);
  line-height: 1.04;
}

body.wm-home-page .section-head h2,
body.wm-archive-page .section-head h2,
.wm-ratgeber-hub .rh-section__title {
  font-size: clamp(26px, 2.8vw, 32px);
  line-height: 1.12;
}

body.wm-home-page .hub-card h3 {
  font-size: 22px;
  line-height: 1.18;
}

body.wm-home-page .hub-card--lg h3 {
  font-size: 28px;
}

body.wm-home-page .weekplan h2 {
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.1;
}

body.wm-home-page .combo h2 {
  font-size: clamp(26px, 2.6vw, 32px);
}

body.wm-home-page .newsletter h2 {
  font-size: clamp(26px, 2.8vw, 34px);
}

body.wm-home-page .seo-cluster h2 {
  font-size: 28px;
}

body.wm-recipe-page .hero h1 {
  font-size: clamp(34px, 5vw, 48px);
  line-height: 1.15;
}

body.wm-recipe-page .article > .entry-content > h2 {
  font-size: 24px;
  line-height: 1.3;
}

body.wm-recipe-page .article > .entry-content > h3 {
  font-size: 21px;
  line-height: 1.35;
}

body.wm-recipe-page .related h2 {
  font-size: clamp(26px, 3vw, 34px);
}

body.wm-recipe-page .recipe-card__title,
body.wm-recipe-page .wprm-recipe-name {
  font-size: 22px;
  line-height: 1.2;
}

.wm-course h1 {
  font-size: clamp(36px, 5vw, 52px);
  line-height: 1.04;
}

.wm-course__section-head h2,
.wm-course__standard h2,
.wm-course__profile h2,
.wm-course__signup h2,
.wm-course__completion h2 {
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.12;
}

.saison-wrap .sk-hero h1 {
  font-size: clamp(36px, 4.5vw, 52px);
  line-height: 1.04;
}

.saison-wrap .section-head h2,
.saison-wrap .sk-monthnav__head h2,
.saison-wrap .sk-newsletter h2,
.saison-wrap .sk-sub h2 {
  font-size: clamp(26px, 2.8vw, 32px);
  line-height: 1.15;
}

/* Home- und Archive-Karten: Titel bleiben primaer, Metadaten lesbar. */
.rcard__cat,
.rcard__fresh,
.rcard__new,
.feat-card__cat,
.feat-stack__cat,
.strip-row__cat,
.day-card__cat,
.trend-row__cat,
.article-card__kicker {
  font-size: var(--wm-type-micro);
  line-height: 1.4;
}

.rcard__title,
.rrow h3,
.trend-row__body h3,
.article-card h3,
.strip-row__body h4,
.day-card h3 {
  font-size: var(--wm-type-card);
  line-height: 1.35;
}

.rcard__meta,
.feat-card__meta,
.feat-stack__meta,
.strip-row__time,
.day-card__time,
.trend-row__meta,
.article-card__cta,
.loadmore__progress span,
.bigsearch__hints,
.bigsearch__hints button {
  font-size: 13px;
  line-height: 1.45;
}

.grundlagen a,
.seo-cluster a,
.btn-primary,
.btn-ghost,
.filter-mobile,
.select__wrap select {
  font-size: 15px;
  line-height: 1.45;
}

/* Rezeptartikel und Rezeptkarte: Zutaten und Arbeitsschritte sind Lesetext. */
.ing__text,
.step__body p,
.wprm-recipe-summary,
.wprm-recipe-ingredient-name,
.wprm-recipe-instruction-text,
body.wm-recipe-page .wprm-recipe-summary {
  font-size: var(--wm-type-recipe) !important;
  line-height: 1.6 !important;
}

.ing__text small,
.wprm-recipe-ingredient-notes,
.wprm-recipe-rating-details,
.wprm-recipe-rating-count {
  font-size: var(--wm-type-small);
  line-height: 1.45;
}

.notes-box p,
.wprm-recipe-notes-container,
.wprm-recipe-notes {
  font-size: var(--wm-type-control);
  line-height: 1.6;
}

body.wm-recipe-page .wprm-recipe-header,
body.wm-recipe-page .wprm-recipe-ingredients-header,
body.wm-recipe-page .wprm-recipe-instructions-header,
body.wm-recipe-page .wprm-recipe-equipment-header,
body.wm-recipe-page .wprm-recipe-nutrition-header,
body.wm-recipe-page .wprm-recipe-notes-header,
body.wm-recipe-page .wprm-recipe-time-container-name,
body.wm-recipe-page .wprm-recipe-servings-container-name,
body.wm-recipe-page .toc a {
  font-size: var(--wm-type-small) !important;
  line-height: 1.45;
}

body.wm-recipe-page .wprm-recipe-equipment-name,
body.wm-recipe-page .wprm-recipe-equipment-item a,
body.wm-recipe-page .wprm-recipe-equipment-item span {
  font-size: var(--wm-type-control) !important;
  line-height: 1.4 !important;
}

.rc-section-h,
.rc-section-h .sub,
body.wm-recipe-page .recipe-card .rc-section-h .sub,
body.wm-recipe-page .wprm-wrap .rc-section-h .sub,
.toc__label,
.hero__image-caption,
.fact__label,
.nut__l,
.ad-slot__label {
  font-size: var(--wm-type-micro) !important;
  line-height: 1.45;
}

body.wm-recipe-page .aff-card__sub {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

body.wm-recipe-page .wprm-recipe-nutrition-label-name {
  font-size: var(--wm-type-micro) !important;
  line-height: 1.4 !important;
}

body.wm-recipe-page .wprm-recipe-video-container-header,
body.wm-recipe-page .wprm-recipe-equipment-notes {
  font-size: var(--wm-type-small) !important;
  line-height: 1.45 !important;
}

body.wm-recipe-page .comments-title,
body.wm-recipe-page .comment-reply-title {
  font-size: 24px;
  line-height: 1.3;
}

body.wm-recipe-page .comment-content p,
body.wm-recipe-page .comment-notes,
body.wm-recipe-page .logged-in-as,
body.wm-recipe-page .comment-form label {
  font-size: var(--wm-type-control);
  line-height: 1.6;
}

body.wm-recipe-page .comment-form input,
body.wm-recipe-page .comment-form textarea,
body.wm-recipe-page .comment-form select {
  font-size: var(--wm-type-control);
}

body.wm-recipe-page .wmc-equipment-from-wprm .wprm-recipe-equipment-name {
  font-size: var(--wm-type-control) !important;
  line-height: 1.4 !important;
}

body.wm-recipe-page .wmc-equipment-from-wprm .wprm-recipe-equipment-notes {
  font-size: var(--wm-type-small) !important;
  line-height: 1.45 !important;
}

/* Kontextuelle Sidebars und Newsletter */
.wm-sidebar-book__eyebrow,
.wm-sidebar-top__eyebrow,
.wm-sidebar-news__eyebrow {
  font-size: var(--wm-type-micro);
  line-height: 1.4;
}

.wm-sidebar-book__title,
.wm-sidebar-top__title,
.wm-sidebar-news__title {
  font-size: var(--wm-type-ui);
  line-height: 1.35;
}

.wm-sidebar-book__subtitle,
.wm-sidebar-book__rating,
.wm-sidebar-top__name,
.wm-sidebar-news__lead {
  font-size: var(--wm-type-small);
  line-height: 1.5;
}

.wm-sidebar-book__reviews,
.wm-sidebar-book__price,
.wm-sidebar-top__meta,
.wm-sidebar-news__trust {
  font-size: 13px;
  line-height: 1.45;
}

.wm-sidebar-book__cta {
  font-size: 15px;
}

.wm-sidebar-news__input,
.wm-sidebar-news__submit {
  font-size: var(--wm-type-control);
}

.wm-sidebar-book__disclosure,
.wm-sidebar-news__legal,
.wm-hub-products__disclosure,
.wm-hub-book__disclosure {
  color: var(--ink-3, #6b6460);
  font-size: 13px;
  line-height: 1.5;
}

.wm-amz-disclosure-tag {
  color: #fff;
  font-size: var(--wm-type-micro);
  line-height: 1.45;
}

/* Die Offenlegung ist ein <p> innerhalb .article und bleibt bewusst kompakt. */
.wm-amz-disclosure,
body.wm-recipe-page .article p.wm-amz-disclosure {
  color: var(--wm-muted, var(--ink-3, #6b6460));
  font-size: 13px;
  line-height: 1.5;
  margin: 10px 0 0;
}

.wm-hub-product__body strong {
  font-size: var(--wm-type-ui);
  line-height: 1.35;
}

.wm-hub-product__body span,
.wm-hub-book__link small {
  font-size: var(--wm-type-small);
  line-height: 1.5;
}

.wm-hub-product__body em,
.wm-hub-book__link em {
  font-size: 13px;
  line-height: 1.4;
}

/* MIX-Basiskurs: geerbter Lerntext war zuvor nur etwa 15px. */
.wm-course {
  font-size: var(--wm-type-prose);
  line-height: 1.6;
}

.wm-course__eyebrow,
.wm-course__lesson-day,
.wm-course__recipe-kicker,
.wm-course__mistake-grid p strong,
.wm-course__learning-goal strong {
  font-size: 13px;
  line-height: 1.45;
}

.wm-course__independent,
.wm-course__proof,
.wm-course__mastery-count,
.wm-course__duration,
.wm-course__skills li,
.wm-course__recipe-card small,
.wm-course__standard li span {
  font-size: var(--wm-type-small);
  line-height: 1.5;
}

.wm-course__quiz > small {
  color: var(--course-muted);
  font-size: 13px;
  line-height: 1.5;
}

.wm-course__button,
.wm-course__quiz-button,
.wm-course__profile-fields select,
.wm-course__quiz textarea,
.wm-course__check {
  font-size: var(--wm-type-control);
  line-height: 1.45;
}

.wm-course__profile-fields label,
.wm-course__quiz-feedback,
.wm-course__journal-label,
.wm-course__rail-list a,
.wm-course__gate-hint {
  font-size: 15px;
  line-height: 1.5;
}

.wm-course__reset,
.wm-course__rail > p,
.wm-course__why {
  font-size: var(--wm-type-small);
  line-height: 1.55;
}

.wm-course__legal {
  color: #6f6862;
  font-size: 13px;
  line-height: 1.6;
}

/* Saisonkalender: Codes bleiben kompakt, aber nie kleiner als 12px. */
.saison-wrap .ising-card__tag,
.saison-wrap .sk-mini-cal .m-name,
.saison-wrap .sk-mini-cal .m-code,
.saison-wrap .sk-mini__cell,
.saison-wrap .sk-mini__cell .bar,
.saison-wrap .sk-recipe__meta,
.saison-wrap .focus-card__sub,
.saison-wrap .weekplan-day span,
.saison-wrap .top10-hero {
  font-size: var(--wm-type-micro);
  line-height: 1.4;
}

.saison-wrap .ising-card__body p,
.saison-wrap .top10-body p,
.saison-wrap .focus-card__body p,
.saison-wrap .focus-card__recipes a,
.saison-wrap .tips-list li,
.saison-wrap .author-box__body p {
  font-size: var(--wm-type-prose);
  line-height: 1.6;
}

/* Ratgeberrollen bleiben kompakt, aber lesbar. */
.wm-ratgeber-hub .rh-section__sub,
.wm-ratgeber-hub .rh-cluster__lede,
.wm-ratgeber-hub .rh-article__excerpt,
.wm-ratgeber-hub .rh-faq__answer,
.wm-ratgeber-hub .rh-content .entry-content,
.wm-ratgeber-hub .rh-content .entry-content p,
.wm-ratgeber-hub .rh-content .entry-content li {
  font-size: var(--wm-type-prose);
  line-height: 1.6;
}

.wm-ratgeber-hub .rh-article__title {
  font-size: var(--wm-type-card);
  line-height: 1.3;
}

/* Mobil: Primaertexte und Formulare duerfen nicht auf 10-15px schrumpfen. */
@media (max-width: 760px) {
  body.wm-home-page .home-hero h1,
  body.wm-archive-page .arc-hero h1,
  .wm-ratgeber-hub .arc-hero h1 {
    font-size: clamp(30px, 8vw, 36px) !important;
  }

  body.wm-recipe-page .hero h1 {
    font-size: clamp(30px, 8vw, 36px);
  }

  body.wm-home-page .section-head h2,
  body.wm-archive-page .section-head h2,
  body.wm-home-page .combo h2,
  .wm-ratgeber-hub .rh-section__title {
    font-size: 26px;
  }

  body.wm-home-page .weekplan h2,
  body.wm-home-page .newsletter h2 {
    font-size: 28px;
  }

  body.wm-home-page .hub-card h3 {
    font-size: 20px;
  }

  body.wm-home-page .hub-card--lg h3 {
    font-size: 22px !important;
  }

  .wm-course h1,
  .saison-wrap .sk-hero h1 {
    font-size: clamp(32px, 10vw, 40px);
  }

  body.wm-recipe-page .article > .entry-content > h2 {
    font-size: 24px;
  }

  body.wm-recipe-page .comments-title,
  body.wm-recipe-page .comment-reply-title {
    font-size: 22px;
  }

  .rcard__title,
  .rrow h3,
  .trend-row__body h3,
  .article-card h3,
  .strip-row__body h4,
  .day-card h3 {
    font-size: var(--wm-type-recipe);
    line-height: 1.35;
  }

  .rcard__meta,
  .rrow__meta,
  .rcard__cat,
  .rcard__fresh {
    font-size: 13px;
    line-height: 1.45;
  }

  .bigsearch input,
  .searchbox input,
  .newsletter__form input,
  .wm-sidebar-book__cta,
  .wm-sidebar-news__input,
  .wm-sidebar-news__submit,
  .filter-mobile,
  .btn-primary,
  .btn-ghost {
    font-size: var(--wm-type-control);
  }

  .wm-sidebar-book--inline .wm-sidebar-book__subtitle,
  .wm-sidebar-book--inline .wm-sidebar-book__rating {
    font-size: var(--wm-type-small);
    line-height: 1.5;
  }
}
