/* Tellerland — Typo-Lock (Faz 6, Iteration 2)
   Genau 8 Textstile. Kursiv (Newsreader) und Versalien+Laufweite sind Modifikatoren, keine eigenen Stile.
   Wird NACH den Seitenstilen geladen. In Horizon entspricht das den 8 Typo-Tokens in tokens.css. */
:root{
  --tl-type-display: 300 clamp(2.5rem, 1.6rem + 3.6vw, 5rem)/1.02 var(--tl-font-serif);   /* 1 Display 80→40 */
  --tl-type-h2:      300 clamp(2rem, 1.5rem + 2vw, 3.25rem)/1.08 var(--tl-font-serif);     /* 2 H2 52→32 */
  --tl-type-h3:      300 clamp(1.5rem, 1.3rem + .8vw, 1.875rem)/1.15 var(--tl-font-serif); /* 3 H3 30→24 */
  --tl-type-serif-s: 300 1.25rem/1.3 var(--tl-font-serif);   /* 4 Serif S 20 — Kartenpreis, Charaktersatz */
  --tl-type-body:    400 1rem/1.6 var(--tl-font-sans);       /* 5 Body 16 */
  --tl-type-small:   400 .875rem/1.5 var(--tl-font-sans);    /* 6 Small 14 */
  --tl-type-label:   600 .875rem/1.2 var(--tl-font-sans);    /* 7 Label 14 — Buttons, Tabs, Überschriften in UI */
  --tl-type-caption: 400 .75rem/1.45 var(--tl-font-sans);    /* 8 Caption 12 — Eyebrow (+Versalien), Badges, Meta */
}
b,strong{font-weight:600} /* Inline-Hervorhebung = Modifikator */

/* 1 Display */
.t-display,.abend h2,.print .num,.editorial__txt h2{font:var(--tl-type-display)!important;letter-spacing:-.015em}
/* 2 H2 */
.t-h2,.print h3,.buy h1{font:var(--tl-type-h2)!important;letter-spacing:-.01em}
/* 3 H3 */
.t-h3,.series h3,.ftr__claim,.sector h3,.gastro__nums b,.hero__price b,.set .p,.pricebox .t-price,.timeline b,.promo__txt h3,.details h2{font:var(--tl-type-h3)!important}
/* 4 Serif S */
.t-price,.card__price,.tag,.series .tag,.print .tag,.buy .tag,.sticky-buy b,.set h3,.editorial__txt .t-eyebrow+h2+p em{font:var(--tl-type-serif-s)!important}
.tag,.print .tag,.buy .tag,.series .tag{font-style:italic!important}
/* 5 Body */
body,.t-body-l,.hero__lead,.sec__head p,.abend__intro p,.editorial__txt p,.c-head p,.card__name,.acc .acc__body,.care p,.mega ul,.gastro__l p,.promise p.t-body-l{font:var(--tl-type-body)!important}
/* 6 Small */
.t-body-s,.hdr__nav,.hdr__nav > li > a,.hdr__tools a,.ann,.ann__msg,.trust > div,.trust-2x2,.spec,.card__series,.dims,.deliv,.ship,.toast,.ftr ul,.facet label,.pair li,.sets-foot p,.reorder p,.set li,.set .sub,.set .save,.hero__price,.hero__facts,.timeline div,.sector p,.gastro__nums div,.props,.fork,.series-sw a,.toolbar .count,.toolbar select,.mega__feature p,.gastro-hint,.empty p,.ftr__news input,.promo__txt .btn,.more p{font:var(--tl-type-small)!important}
/* 7 Label */
.btn,.chip,.steps span,.seg,.seg button,.acc summary,.facet h3,.pair h2,.pair button,.print .more,.label,.ftr__news button,.care h3,.deliv .ok,.qty output,.set .flag{font:var(--tl-type-label)!important}
/* 8 Caption (Eyebrow = Caption + Versalien) */
.t-caption,.t-eyebrow,.dim,.badge,.pay i,.card__props,.card__vat,.b2b-code,.b2b-meta,.crumb,.brief,.mega h4,.ftr h4,.size,.demo-note,.promo .lbl,.ve-note,.label span,.ftr__bottom,.price-b2b .t-caption,.pricebox .t-caption,.set .p small,.sticky-buy .t-caption,.hdr__tools .lbl+*{font:var(--tl-type-caption)!important}
.t-eyebrow,.badge,.mega h4,.ftr h4,.promo .lbl{text-transform:uppercase;letter-spacing:.16em}
.badge{letter-spacing:.1em}
.btn small{font-weight:600!important;opacity:.85}
.mnav summary,.mnav > .mnav__panel > a{font:var(--tl-type-body)!important}
.mnav ul,.ckb p{font:var(--tl-type-small)!important}
.ckb h2{font:var(--tl-type-serif-s)!important}
.sernum{font:var(--tl-type-h3)!important;color:var(--tl-color-accent-text)}
