/* TE Design Bridge v1.9.1 · Editorial article typography consolidation.
 * Uses the published Staging homepage tokens (Lato + Editorial Serif).
 * Applied to all present/future published posts in WordPress category `ratgeber`
 * only when staging opt-in is enabled, or in nonce-protected previews.
 * No post/Composer/image/1200–1040 axis modification. No Product Engine changes.
 * Typesetting differs by ROLE, not arbitrary per-article template definitions.
 */
body.te-db-article-preview {
  --te-article-paper:var(--te-design-color-paper,#fffdfa);
  --te-article-ink:var(--te-design-color-ink,#302b2a);
  --te-article-heading:var(--te-design-color-heading,#383130);
  --te-article-bordeaux:var(--te-design-color-burgundy,#853c52);
  --te-article-stroke:var(--te-design-color-stroke,#e7e0db);
  --te-article-copy-size:15px;
  --te-article-h1-size:clamp(34px,3.8vw,52px);
  --te-article-h2-size:clamp(26px,2.45vw,35px);
  --te-article-h3-size:clamp(21px,1.8vw,25px);
  background:var(--te-article-paper);
  color:var(--te-article-ink);
  font-family:var(--te-design-font-sans,'Lato',Arial,sans-serif);
  overflow-x:clip;
}
/* Preserve the approved Bridge Header/Footer shell exactly. */
body.te-db-article-preview #header:not(.site-header),
body.te-db-article-preview footer.ct-footer,
body.te-db-article-preview .ct-footer,
body.te-db-article-preview .ct-back-to-top{display:none!important}
body.te-db-article-preview .te-db-article-chrome{
  position:relative;z-index:15;width:100%;box-sizing:border-box;
  background:var(--te-article-paper);
}
body.te-db-article-preview .te-db-article-chrome.te-db-article-bottom{z-index:2;background:#492936}
body.te-db-article-preview .te-db-article-chrome .site-header{position:relative}
body.te-db-article-preview .te-db-article-chrome .header-content{min-height:86px}

/* Root typography is inherited by native Composer modules; independent
 * inline legacy font-family declarations are normalized only for CONTENT.
 * Do NOT target the native Product Engine, code blocks or icon fonts. */
body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content){
  font-family:var(--te-design-font-sans,'Lato',Arial,sans-serif)!important;
  color:var(--te-article-ink);
  font-size:var(--te-article-copy-size);
}
body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content)
  :where(*):not(:is(
    [class*="te-pe-"],[class*="te-pe-"] *,
    .woocommerce,.woocommerce *,
    [class*="product-card"],[class*="product-card"] *,
    [class*="product-grid"],[class*="product-grid"] *,
    [class*="catalog-card"],[class*="catalog-card"] *,
    [class*="icon"],[class*="icon"] *,
    .dashicons,.dashicons *,
    .fa,.fas,.far,.fab,[class*="fa-"],[class*="fa-"] *,
    svg,svg *,code,pre,kbd,samp
  )){
  font-family:var(--te-design-font-sans,'Lato',Arial,sans-serif)!important;
}
/* The headline override also reaches nested inline <span>/<strong> wrappers
 * from the Composer, which otherwise inherit a different font. */
body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content)
  :is(h1,h2,h3):not(:is([class*="te-pe-"] *,[class*="product-card"] *,[class*="product-grid"] *)),
body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content)
  :is(h1,h2,h3):not(:is([class*="te-pe-"] *,[class*="product-card"] *,[class*="product-grid"] *))
  :is(span,strong,em,b,small){
  font-family:var(--te-design-font-serif,'Bodoni MT',Didot,Georgia,serif)!important;
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.17;
  text-wrap:balance;
}
/* Standardized primary heading level. Larger editorial section titles are
 * consistently sized only outside dense Composer grids and cards. This
 * preserves the smaller labels/headlines inside special blocks. */
body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content)
  h1:not(:is([class*="te-pe-"] *,[class*="product"] *)){
  font-size:var(--te-article-h1-size)!important;
}
body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content)
  h2:not(:is([class*="grid"] *,[class*="columns"] *,[class*="card"] *,[class*="tile"] *,[class*="table"] *,[class*="product"] *)){
  font-size:var(--te-article-h2-size)!important;
}
body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content)
  h3:not(:is([class*="grid"] *,[class*="columns"] *,[class*="card"] *,[class*="tile"] *,[class*="table"] *,[class*="product"] *)){
  font-size:var(--te-article-h3-size)!important;
}
/* Supporting headlines, text and interactive labels use Lato. Their sizes
 * stay module-specific (small labels must NOT be enlarged to article size). */
body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content)
  :is(h4,h5,h6):not(:is([class*="te-pe-"] *,[class*="product-card"] *)){
  font-family:var(--te-design-font-sans,'Lato',Arial,sans-serif)!important;
  letter-spacing:-.01em;
  line-height:1.34;
}
body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content)
  :is(p,li,dt,dd,figcaption,blockquote):not(:is([class*="te-pe-"] *,[class*="product-card"] *)){
  overflow-wrap:break-word;
}
body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content)
  :is(button,a[class*="button"],a[class*="cta"],.wp-block-button__link):not(:is([class*="te-pe-"] *,[class*="product-card"] *)){
  font-family:var(--te-design-font-sans,'Lato',Arial,sans-serif)!important;
  letter-spacing:.01em;
}
body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content)
  :is([class*="eyebrow"],[class*="kicker"],[class*="overline"]):not(:is([class*="te-pe-"] *)){
  font-family:var(--te-design-font-sans,'Lato',Arial,sans-serif)!important;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content)
  :is(a,button,input,select,textarea):focus-visible,
body.te-db-article-preview .te-db-article-chrome :focus-visible{
  outline:2px solid var(--te-article-bordeaux);outline-offset:3px;
}
/* Preserve original image sizing, lazy loading, interludes, all Composer
 * grids, 1180px magazine and 1040px copy axes. Prevent genuine overflow only. */
body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content)
  :is(.wp-block-image,.wp-block-gallery,figure.wp-block-embed){max-width:100%}
body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content)
  :is(.wp-block-image,.wp-block-gallery) img{max-width:100%}
@media(max-width:760px){
  body.te-db-article-preview .te-db-article-chrome .header-content{min-height:66px}
  body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content)
    :is(h1,h2,h3){overflow-wrap:break-word}
}
@media(prefers-reduced-motion:reduce){
  body.te-db-article-preview .te-db-article-chrome *,
  body.te-db-article-preview :is(.entry-content,.wp-block-post-content,.ct-post-content) *{
    scroll-behavior:auto!important;
  }
}
