/*
Theme Name: publuence
Theme URI: https://publuence.com
Author: publuence GmbH
Author URI: https://publuence.com
Description: Eigenes WordPress-Theme fuer publuence. Vollstaendig Elementor-kompatibel (Theme Builder: Header, Footer, Single, Archive). Enthaelt das komplette publuence-Designsystem als CSS-Variablen und Utility-Klassen.
Version: 7.9.1
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: publuence
Tags: elementor, full-width-template, custom-logo, custom-menu, translation-ready
*/

/* ============================================================
   1. RESET / NORMALISIERUNG
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img,svg,video{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}

.pl-skip{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:#fff;color:#0E1113;padding:12px 20px;border-radius:0 0 12px 0;
}
.pl-skip:focus{left:0}

/* ============================================================
   publuence – Globales CSS
   Einfügen in WordPress: Design → Customizer → Zusätzliches CSS
   ODER Elementor → Website-Einstellungen → Custom CSS
   ============================================================ */

:root{
  /* Brand Teal */
  --pl-teal-50:#ECFAF8; --pl-teal-100:#CFF1ED; --pl-teal-200:#A2E5DD;
  --pl-teal-300:#69D3C9; --pl-teal-400:#3DC0B6; --pl-teal-500:#2DB5AD;
  --pl-teal-600:#1F9A92; --pl-teal-700:#167B74;

  /* Ink / Neutral */
  --pl-ink-900:#0E1113; --pl-ink-800:#1A1F22; --pl-ink-700:#2B3236;
  --pl-ink-600:#444D52; --pl-ink-500:#5E686E; --pl-ink-400:#8A949A;
  --pl-ink-300:#B8BFC4; --pl-ink-200:#DDE2E4; --pl-ink-100:#EEF1F2;
  --pl-ink-50:#F6F8F8;

  /* Semantisch */
  --pl-brand:var(--pl-teal-500);
  --pl-brand-strong:var(--pl-teal-600);
  --pl-text:var(--pl-ink-700);
  --pl-text-muted:var(--pl-ink-500);
  --pl-text-faint:var(--pl-ink-400);
  --pl-border:var(--pl-ink-200);
  --pl-surface:var(--pl-ink-50);

  /* Signatur-Verlauf Teal→Blau (Teal dominiert) */
  --pl-gradient:linear-gradient(130deg,#2DB5AD 0%,#2DB5AD 55%,#5F74E8 100%);
  --pl-hero-gradient:linear-gradient(165deg,rgba(45,181,173,0.18) 0%,rgba(160,205,232,0.14) 40%,rgba(214,205,233,0.14) 66%,rgba(247,223,216,0.10) 86%,rgba(255,255,255,0) 100%);

  /* Typo */
  --pl-font-display:'Poppins','Segoe UI',system-ui,-apple-system,sans-serif;
  --pl-font-body:'Figtree','Segoe UI',system-ui,-apple-system,sans-serif;
  --pl-font-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;

  /* Radius & Schatten */
  --pl-radius:20px;
  --pl-radius-lg:24px;
  --pl-shadow:0 22px 50px -26px rgba(14,17,19,0.28);
  --pl-shadow-lg:0 40px 80px -44px rgba(14,17,19,0.34);
  --pl-ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- Basis ---------- */
body{
  font-family:var(--pl-font-body);
  color:var(--pl-text);
  font-size:17px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6,.pl-display{
  font-family:var(--pl-font-display);
  font-weight:700;
  letter-spacing:-0.03em;
  color:var(--pl-ink-900);
  line-height:1.05;
  text-wrap:balance;
}
h1{font-size:clamp(36px,4.4vw,62px)}
h2{font-size:clamp(30px,3.4vw,50px)}
h3{font-size:clamp(20px,1.8vw,24px);letter-spacing:-0.02em}
p{line-height:1.65;text-wrap:pretty}
a{color:var(--pl-brand-strong);text-decoration:none}
a:hover{color:var(--pl-teal-700);text-decoration:underline}

/* ---------- Container ---------- */
.pl-wrap{max-width:1560px;margin:0 auto;padding:0 56px}
.pl-wrap--narrow{max-width:1120px}
.pl-section{padding:100px 0}
.pl-section--subtle{background:var(--pl-surface)}
.pl-section--dark{background:var(--pl-ink-900);color:#fff}

/* ---------- Eyebrow (Verlaufs-Label über Titeln) ---------- */
.pl-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--pl-font-body);font-size:22px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  background:var(--pl-gradient);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:14px;
}
.pl-eyebrow--sm{font-size:13px;letter-spacing:.18em}

/* Verlaufs-Text allgemein (z. B. große Ziffern 01–04) */
.pl-gradient-text{
  background:var(--pl-gradient);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.pl-num{
  font-family:var(--pl-font-display);font-size:40px;font-weight:700;
  letter-spacing:-0.045em;line-height:1;
}

/* ---------- Buttons ---------- */
/* Buttons */
a.pl-btn,button.pl-btn,.pl-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--pl-font-display) !important;font-weight:600 !important;font-size:16px;
  border-radius:999px !important;border:1.5px solid transparent;cursor:pointer;
  padding:14px 28px;transition:all .22s var(--pl-ease);
  text-decoration:none !important;line-height:1.2;
}
a.pl-btn--primary,button.pl-btn--primary,.pl-btn--primary,
a.pl-btn--primary:visited{background:var(--pl-brand) !important;color:#fff !important}
a.pl-btn--primary:hover,button.pl-btn--primary:hover,.pl-btn--primary:hover{background:var(--pl-brand-strong) !important;color:#fff !important;transform:translateY(-1px)}
a.pl-btn--primary svg,button.pl-btn--primary svg{stroke:#fff !important;color:#fff !important}

a.pl-btn--ghost,button.pl-btn--ghost,.pl-btn--ghost{background:transparent !important;color:var(--pl-ink-800) !important}
a.pl-btn--ghost:hover,button.pl-btn--ghost:hover,.pl-btn--ghost:hover{background:var(--pl-teal-50) !important;color:var(--pl-brand-strong) !important}

a.pl-btn--outline,button.pl-btn--outline,.pl-btn--outline{background:transparent !important;color:var(--pl-ink-900) !important;border-color:var(--pl-border) !important}
a.pl-btn--outline:hover,button.pl-btn--outline:hover,.pl-btn--outline:hover{border-color:var(--pl-ink-400) !important;color:var(--pl-ink-900) !important}

a.pl-btn--white,button.pl-btn--white,.pl-btn--white{background:#fff !important;color:var(--pl-brand-strong) !important}
a.pl-btn--white svg{stroke:var(--pl-brand-strong) !important}
.pl-btn--lg{padding:16px 32px;font-size:17px}
.pl-btn--sm{padding:10px 20px;font-size:15px}
.pl-btn:active{transform:translateY(1px) scale(.99)}
.pl-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--pl-teal-400)}

/* ---------- Cards ---------- */
.pl-card{
  background:#fff;border:1px solid var(--pl-border);
  border-radius:var(--pl-radius);padding:34px 32px;
  transition:transform .3s var(--pl-ease),box-shadow .3s;
}
.pl-card--hover:hover{transform:translateY(-6px);box-shadow:0 34px 68px -40px rgba(14,17,19,0.3)}
.pl-card--gradient-top{position:relative;overflow:hidden}
.pl-card--gradient-top::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--pl-gradient);
}

/* ---------- Chips / Tags ---------- */
.pl-chip{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff;border:1px solid var(--pl-border);border-radius:999px;
  padding:9px 16px;font-family:var(--pl-font-display);
  font-size:13.5px;font-weight:600;color:var(--pl-ink-900);
}
.pl-chip::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--pl-brand);flex:none}
.pl-chip--plain::before{display:none}

/* ---------- Hero mit Verlauf (zieht hinter die Navigation) ---------- */
.pl-hero{
  margin-top:-117px;padding:200px 0 84px;
  background:var(--pl-hero-gradient);
  position:relative;overflow:hidden;
}
.pl-hero__inner{position:relative;z-index:1;max-width:760px}

/* ---------- Grids ---------- */
.pl-grid{display:grid;gap:26px}
.pl-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pl-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pl-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* ---------- CTA-Band ---------- */
.pl-cta-band{
  background:var(--pl-ink-900);color:#fff;
  padding:96px 0;text-align:center;
}
.pl-cta-band h2{color:#fff}
.pl-cta-band p{color:rgba(255,255,255,0.82);max-width:42ch;margin:0 auto 34px;font-size:20px}

/* ---------- Verlaufs-Panel (Self-Booking o. ä.) ---------- */
.pl-panel-gradient{
  position:relative;overflow:hidden;border-radius:32px;
  background:linear-gradient(135deg,#2DB5AD 0%,#2DB5AD 55%,#5F74E8 100%);
  color:#fff;padding:clamp(44px,4.5vw,72px);
  box-shadow:0 50px 100px -46px rgba(14,17,19,0.5);
}
.pl-panel-gradient h2,.pl-panel-gradient h3{color:#fff}
.pl-panel-gradient p{color:rgba(255,255,255,0.85)}

/* ---------- Blog: Beitrags-Cards (Elementor Loop Grid) ---------- */
.pl-post-card{
  display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--pl-border);border-radius:18px;overflow:hidden;
  transition:transform .25s var(--pl-ease),box-shadow .25s;
  height:100%;
}
.pl-post-card:hover{transform:translateY(-5px);box-shadow:0 34px 66px -38px rgba(14,17,19,0.3)}
.pl-post-card__img{position:relative;aspect-ratio:16/10;background:var(--pl-surface);overflow:hidden}
.pl-post-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.pl-post-card__body{padding:28px 28px 30px;display:flex;flex-direction:column;flex:1}
.pl-post-card__meta{
  font-family:var(--pl-font-body);font-size:12px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--pl-brand-strong);
  margin-bottom:14px;
}
.pl-post-card__title{
  font-family:var(--pl-font-display);font-size:21px;font-weight:600;
  letter-spacing:-0.015em;color:var(--pl-ink-900);line-height:1.28;
  margin:0 0 12px;text-wrap:pretty;
}
.pl-post-card__excerpt{font-size:15px;color:var(--pl-text-muted);line-height:1.6;margin:0 0 20px}

/* ---------- Blog: Artikel-Inhalt (WordPress the_content) ---------- */
.pl-article{max-width:1000px;margin:0 auto;padding:0 56px}
.pl-article .entry-content > h2,
.pl-article h2{font-size:27px;letter-spacing:-0.025em;line-height:1.2;margin:44px 0 16px}
.pl-article p{font-size:18px;color:var(--pl-text);line-height:1.75;margin:0 0 20px}
.pl-article blockquote{
  margin:36px 0;padding:0 0 0 26px;border-left:3px solid var(--pl-brand);
  font-family:var(--pl-font-display);font-size:22px;font-weight:500;
  letter-spacing:-0.015em;color:var(--pl-ink-900);line-height:1.45;
}
.pl-article ul{list-style:none;padding:0;margin:0 0 20px}
.pl-article ul li{
  position:relative;padding-left:20px;font-size:18px;
  color:var(--pl-text);line-height:1.65;margin:11px 0;
}
.pl-article ul li::before{
  content:'';position:absolute;left:0;top:11px;
  width:7px;height:7px;border-radius:50%;background:var(--pl-brand);
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .pl-wrap{padding-left:40px;padding-right:40px}
  .pl-grid--2,.pl-grid--3{grid-template-columns:1fr}
  .pl-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pl-hero{padding-top:170px}
  .pl-section{padding:72px 0}
}
@media (max-width:640px){
  .pl-wrap{padding-left:20px;padding-right:20px}
  .pl-grid--4{grid-template-columns:1fr}
  .pl-eyebrow{font-size:17px}
}

/* ---------- Navigation und Footer ---------- */
.pl-nav a,.pl-footer a{box-shadow:none !important}
.pl-nav__links a{text-decoration:none !important}
.pl-nav__logo img,.pl-footer__brand img{max-width:none !important}

/* ============================================================
   Basis-Typografie und Komponenten
   ============================================================ */

/* Schriften – Theme/Elementor setzen eigene font-family mit hoher Spezifitaet */
.pl-nav,.pl-nav *,
.pl-footer,.pl-footer *{
  font-family:var(--pl-font-body) !important;
}
/* Inhaltsbereich: Basisschrift ohne !important, damit die Inline-Styles
    (Schnitt, Groesse, Zeilenhoehe) unveraendert greifen. */
.pl-page{font-family:var(--pl-font-body)}

.pl-page h1,.pl-page h2,.pl-page h3,.pl-page h4,
.pl-nav .pl-btn,.pl-footer .pl-btn,.pl-page .pl-btn,
.pl-display,.pl-eyebrow,.pl-num,
.pl-footer__head,.pl-nav__panel > a,
.pl-post-card__title,.pl-article h2{
  font-family:var(--pl-font-display) !important;
}
.pl-footer__mono,.pl-num--mono{font-family:var(--pl-font-mono) !important}

/* Buttons – Gewicht/Tracking/Groesse fixieren */
a.pl-btn,button.pl-btn,.pl-btn{
  font-weight:600 !important;
  letter-spacing:-0.005em !important;
  text-transform:none !important;
}
.pl-btn--sm{font-size:15px !important;padding:11px 22px !important}
.pl-btn--lg{font-size:17px !important;padding:16px 32px !important}

/* Logo – Theme begrenzt Bildhoehen */
.pl-nav__logo img{height:52px !important;max-height:none !important;width:auto !important}
.pl-nav.is-scrolled .pl-nav__logo img{height:42px !important}
.pl-footer__brand img{height:46px !important;max-height:none !important;width:auto !important}

/* Navigation – Linkfarben/Underline */
.pl-nav__links a{
  font-size:17px !important;font-weight:500 !important;
  color:var(--pl-text) !important;text-decoration:none !important;
}
.pl-nav__links a:hover,.pl-nav__links a[aria-current="page"]{color:var(--pl-brand-strong) !important}

/* Container/Abstaende – Theme-Resets neutralisieren */
.pl-nav *,.pl-footer *{box-sizing:border-box}
.pl-footer ul,.pl-footer li{list-style:none !important;margin:0;padding:0}
.pl-footer li::before,.pl-footer li::marker{content:none !important}


/* ============================================================
   publuence – Header & Footer CSS
   Hinten an 01-global.css anhaengen (gleiches Custom-CSS-Feld).
   ============================================================ */

/* ---------- Header ---------- */
.pl-nav{
  position:fixed;top:0;left:0;right:0;z-index:90;
  background:transparent;
  transition:background .28s var(--pl-ease),box-shadow .28s var(--pl-ease),backdrop-filter .28s;
}
.pl-nav.is-scrolled{
  background:rgba(255,255,255,0.86);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 30px -22px rgba(14,17,19,0.4);
}
.pl-nav__inner{
  max-width:1560px;margin:0 auto;padding:26px 56px;
  display:flex;align-items:center;gap:32px;
  transition:padding .28s var(--pl-ease);
}
.pl-nav.is-scrolled .pl-nav__inner{padding:14px 56px}
.pl-nav__logo{display:inline-flex;text-decoration:none}
.pl-nav__logo img{height:46px;width:auto;display:block;transition:height .28s var(--pl-ease)}
.pl-nav.is-scrolled .pl-nav__logo img{height:38px}
.pl-nav__spacer{flex:1}

.pl-nav__links{display:flex;gap:26px;margin-left:40px}
.pl-nav__links a{
  font-family:var(--pl-font-body);font-size:17px;font-weight:500;
  color:var(--pl-text);text-decoration:none;padding:6px 0;
  border-bottom:2px solid transparent;transition:color .2s;
}
.pl-nav__links a:hover{color:var(--pl-brand-strong);text-decoration:none}
.pl-nav__links a[aria-current="page"]{
  color:var(--pl-brand-strong);
  border-image:var(--pl-gradient) 1;
}

.pl-nav__cta{display:flex;align-items:center;gap:16px}

.pl-nav__burger{
  display:none;align-items:center;justify-content:center;
  width:46px;height:46px;border:none;background:transparent;
  cursor:pointer;color:var(--pl-ink-900);border-radius:12px;
}
.pl-nav__panel{
  display:none;flex-direction:column;gap:2px;
  background:rgba(255,255,255,0.98);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-top:1px solid var(--pl-border);
  box-shadow:0 24px 44px -24px rgba(14,17,19,0.35);
  padding:14px 22px 24px;
}
.pl-nav__panel.is-open{display:flex}
.pl-nav__panel > a:not(.pl-btn){
  padding:14px 6px;font-family:var(--pl-font-display);
  font-size:18px;font-weight:600;color:var(--pl-ink-900);text-decoration:none;
}
.pl-nav__divider{height:1px;background:var(--pl-border);margin:12px 0}

@media (max-width:1024px){
  .pl-nav__links,.pl-nav__cta{display:none}
  .pl-nav__burger{display:flex}
  .pl-nav__inner{padding:18px 40px}
  .pl-nav.is-scrolled .pl-nav__inner{padding:12px 40px}
}
@media (max-width:640px){
  .pl-nav__inner{padding:16px 20px}
  .pl-nav.is-scrolled .pl-nav__inner{padding:12px 20px}
}

/* ---------- Footer ---------- */
.pl-footer{background:var(--pl-ink-900);color:#fff;padding:64px 0 40px}
.pl-footer__inner{
  max-width:1560px;margin:0 auto;padding:0 56px;
  display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;
}
.pl-footer__brand img{height:42px;width:auto;display:block}
.pl-footer__brand p{
  color:rgba(255,255,255,0.66);font-size:15px;line-height:1.6;
  margin:20px 0;max-width:26em;
}
.pl-footer__social{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:12px;
  border:1px solid rgba(255,255,255,0.18);color:#fff;
  transition:border-color .2s,background .2s;
}
.pl-footer__social:hover{border-color:var(--pl-brand);background:rgba(45,181,173,0.12);color:#fff}
.pl-footer__head{
  font-family:var(--pl-font-display);font-weight:600;
  font-size:14px;color:#fff;margin-bottom:14px;
}
.pl-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.pl-footer ul a{color:rgba(255,255,255,0.66);font-size:15px;text-decoration:none;transition:color .2s}
.pl-footer ul a:hover{color:#fff;text-decoration:none}
.pl-footer__bottom{
  max-width:1560px;margin:72px auto 0;padding:32px 56px 0;
  border-top:1px solid rgba(255,255,255,0.12);
  display:flex;justify-content:space-between;
  color:rgba(255,255,255,0.66);font-size:13px;
}
.pl-footer__mono{font-family:var(--pl-font-mono)}

@media (max-width:1024px){
  .pl-footer__inner{grid-template-columns:1fr 1fr;gap:40px;padding:0 40px}
  .pl-footer__bottom{padding:32px 40px 0}
}
@media (max-width:640px){
  .pl-footer__inner{grid-template-columns:1fr;padding:0 20px}
  .pl-footer__bottom{flex-direction:column;gap:10px;padding:24px 20px 0}
}


/* ============================================================
   Theme-spezifische Ergaenzungen
   ============================================================ */

/* Elementor Canvas / Full Width sauber halten */
.elementor-page main.pl-page{padding:0}
main.pl-page{display:block}

/* Fallback-Header sitzt fix -> Platzhalter nur wenn KEIN Hero mit negativem
   margin folgt. Hero-Sektionen bringen margin-top:-117px selbst mit. */
body.pl-has-fallback-header main.pl-page > *:first-child:not(.pl-hero){padding-top:117px}

/* Blog-Archiv Grid */
.pl-archive{padding:0 0 120px}
.pl-archive__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
@media (max-width:1024px){.pl-archive__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pl-archive__grid{grid-template-columns:1fr}}
.pl-post-card a{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}
.pl-post-card a:hover{text-decoration:none}

/* Pagination */
.pl-pagination{display:flex;gap:10px;justify-content:center;margin-top:56px}
.pl-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;height:44px;padding:0 14px;border-radius:999px;
  border:1px solid var(--pl-border);font-family:var(--pl-font-display);
  font-size:15px;font-weight:600;color:var(--pl-ink-900);text-decoration:none;
}
.pl-pagination .page-numbers.current{background:var(--pl-ink-900);border-color:var(--pl-ink-900);color:#fff}
.pl-pagination .page-numbers:hover{border-color:var(--pl-ink-400);text-decoration:none}

/* Single-Post Hero */
.pl-single-hero{
  margin-top:-117px;padding:184px 0 48px;
  background:var(--pl-hero-gradient);
}
.pl-single-hero__meta{
  display:flex;align-items:center;gap:14px;margin-bottom:20px;
  font-family:var(--pl-font-body);font-size:13px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--pl-brand-strong);
}
.pl-single-hero__meta .pl-dot{width:4px;height:4px;border-radius:50%;background:var(--pl-ink-400)}
.pl-single-hero__meta time{text-transform:none;letter-spacing:normal;color:var(--pl-text-faint);font-weight:400;font-size:14px}
.pl-single__thumb{
  max-width:1000px;margin:-24px auto 40px;padding:0 56px;
}
.pl-single__thumb img{border-radius:20px;box-shadow:var(--pl-shadow-lg)}

/* 404 / Suche */
.pl-center{text-align:center;padding:160px 0 140px}

/* Wordmark-Fallback, wenn kein Logo gesetzt ist */
.pl-nav__wordmark{
  font-family:var(--pl-font-display);font-size:26px;font-weight:700;
  letter-spacing:-0.03em;color:var(--pl-ink-900);
}

/* wp_nav_menu im Fallback-Header: <li> statt <a> als direkte Kinder */
.pl-nav__links li{list-style:none;margin:0;padding:0}
.pl-nav__links > li > a,
.pl-nav__links a{
  font-family:var(--pl-font-body);font-size:17px;font-weight:500;
  color:var(--pl-text);text-decoration:none;padding:6px 0;
  border-bottom:2px solid transparent;display:inline-block;
}
.pl-nav__links a:hover{color:var(--pl-brand-strong)}
.pl-nav__links .current-menu-item > a,
.pl-nav__links .current_page_item > a{
  color:var(--pl-brand-strong);
  border-bottom:2px solid transparent;
  border-image:var(--pl-gradient) 1;
}
.pl-nav__panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pl-nav__panel li a{
  display:block;padding:14px 6px;font-family:var(--pl-font-display);
  font-size:18px;font-weight:600;color:var(--pl-ink-900);text-decoration:none;
}

/* Footer-Menues */
.pl-footer ul.menu,.pl-footer div.menu > ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pl-post-card__more{
  margin-top:auto;font-family:var(--pl-font-body);font-size:15px;
  font-weight:600;color:var(--pl-brand-strong);
}

/* ============================================================
   KOMPATIBILITAETS-SCHICHT
   Erlaubt, das Design-Markup 1:1 zu uebernehmen: die dort
   verwendeten Variablennamen zeigen hier auf die pl-Tokens.
   ============================================================ */
.pl-page,.pl-nav,.pl-footer{
  --brand:var(--pl-brand);
  --brand-strong:var(--pl-brand-strong);
  --teal-50:var(--pl-teal-50);
  --teal-100:var(--pl-teal-100);
  --teal-200:var(--pl-teal-200);
  --teal-300:var(--pl-teal-300);
  --teal-400:var(--pl-teal-400);
  --teal-500:var(--pl-teal-500);
  --teal-600:var(--pl-teal-600);
  --teal-700:var(--pl-teal-700);
  --ink-900:var(--pl-ink-900);
  --ink-800:var(--pl-ink-800);
  --ink-700:var(--pl-ink-700);
  --ink-600:var(--pl-ink-600);
  --ink-500:var(--pl-ink-500);
  --ink-400:var(--pl-ink-400);
  --ink-300:var(--pl-ink-300);
  --ink-200:var(--pl-ink-200);
  --ink-100:var(--pl-ink-100);
  --ink-50:var(--pl-ink-50);
  --text:var(--pl-text);
  --text-body:var(--pl-ink-700);
  --text-muted:var(--pl-text-muted);
  --text-faint:var(--pl-text-faint);
  --text-on-dark-mut:rgba(255,255,255,0.66);
  --border-subtle:var(--pl-border);
  --surface:var(--pl-ink-50);
  --surface-subtle:var(--pl-ink-50);
  --font-display:var(--pl-font-display);
  --font-body:var(--pl-font-body);
  --font-mono:var(--pl-font-mono);
  --radius:var(--pl-radius);
  --ease-out:var(--pl-ease);
}

/* ---------- Keyframes ---------- */
@keyframes plmesh{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(28px,-22px,0) scale(1.06)}
}
@keyframes plfloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}
@keyframes plfloat2{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}
@keyframes plbob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(8px)}
}
@keyframes plrise{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
[data-anim="rise"]{animation:plrise .7s var(--pl-ease) both}

/* ---------- Responsive-Hooks (data-r) ---------- */
@media (max-width:1400px){
  [data-r~="g8"]{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
}
@media (max-width:1024px){
  [data-r~="wrap"]{padding-left:40px !important;padding-right:40px !important}
  [data-r~="g2"]{grid-template-columns:1fr !important;gap:44px !important}
  [data-r~="g3"]{grid-template-columns:1fr !important}
  [data-r~="g4"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  [data-r~="g6"]{grid-template-columns:repeat(3,1fr) !important;gap:28px 24px !important}
  [data-r~="g8"]{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
  [data-r~="g12"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  [data-r~="g12"] > *{grid-column:span 1 !important}
  [data-r~="card500"]{width:100% !important;max-width:520px}
}
@media (max-width:640px){
  [data-r~="wrap"]{padding-left:20px !important;padding-right:20px !important}
  [data-r~="g4"]{grid-template-columns:1fr !important}
  [data-r~="g6"]{grid-template-columns:repeat(2,1fr) !important}
  [data-r~="g8"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}

/* ---------- Bild-Slots (fuer Fotos im Markup) ---------- */
.pl-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;
}
.pl-img--contain{object-fit:contain}
.pl-slot{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:var(--pl-ink-50);border:1px dashed var(--pl-ink-300);
  font-family:var(--pl-font-body);font-size:13px;color:var(--pl-ink-400);
  text-align:center;padding:16px;box-sizing:border-box;
}

/* Elementor: HTML-Widget soll nicht einschraenken */
.pl-page .elementor-widget-html,
.pl-page .elementor-widget-container{overflow:visible}

/* Platzhalter fuer das WordPress-Beitrags-Karussell */
.pl-blog-placeholder{
  display:flex;align-items:center;justify-content:center;
  min-height:320px;border-radius:16px;
  background:var(--pl-ink-50);border:1px dashed var(--pl-ink-300);
  font-family:var(--pl-font-body);font-size:15px;color:var(--pl-ink-400);
}
/* Logo-Slots in der Hero-Vertrauensleiste */
.pl-logoslot,.pl-img--contain{object-fit:contain}

/* Elementor-Globaltypografie neutralisieren – ohne eigene Zeilenhoehe
   zu erzwingen, damit die Inline-Werte  gelten. */
.pl-page h1,.pl-page h2,.pl-page h3,.pl-page h4{
  margin-block-start:0;
}

.pl-page ul,.pl-page ol{margin-block:0}
.pl-page li{list-style:none}
.pl-page img{max-width:100%}

/* Bild-Platzhalter, bis ein Bild gesetzt ist */
.pl-slot{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:var(--pl-ink-50);border:1px dashed var(--pl-ink-300);border-radius:inherit;
  font-family:var(--pl-font-body);font-size:13px;line-height:1.4;color:var(--pl-ink-400);
  text-align:center;padding:16px;box-sizing:border-box;
}

/* ------------------------------------------------------------
   Bilder zentral setzen
   Ein einziger CSS-Block (Elementor → Website-Einstellungen →
   Benutzerdefiniertes CSS) genuegt, um alle Bilder zu belegen:

     :root{ --img-advertorial-feature:url(https://…/foto.jpg); }

   Sobald eine Variable gesetzt ist, verschwindet der Platzhalter.
   ------------------------------------------------------------ */
.pl-slot{
  background-repeat:no-repeat;background-position:center;background-size:cover;
}
.pl-slot[style*="--img"],
.pl-slot.is-filled{border:none;color:transparent;background-color:transparent}

.pl-slot[data-pl-img]{background-image:var(--img-slot)}

/* Logo-Slots proportional einpassen */
.pl-slot[data-pl-img^="IMG_REF_LOGO"],
.pl-slot[data-pl-img^="IMG_MEDIA_LOGO"],
.pl-slot[data-pl-img^="IMG_ADV_"]{background-size:contain}

/* ============================================================
   Hero-Wort mit Verlauf + Formular
   ============================================================ */
.pl-heroword{
  background:var(--pl-gradient);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  display:inline-block;padding:0 .04em;margin:0 -.02em;
  transition:opacity .28s var(--pl-ease);
}

/* Kontaktformular */
.pl-form{display:flex;flex-direction:column;gap:18px;margin-top:26px}
.pl-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:640px){.pl-form__row{grid-template-columns:1fr}}
.pl-form label{
  display:flex;flex-direction:column;gap:7px;
  font-family:var(--pl-font-display);font-size:14px;font-weight:600;color:var(--pl-ink-900);
}
.pl-form input,.pl-form select,.pl-form textarea{
  font-family:var(--pl-font-body);font-size:16px;font-weight:400;color:var(--pl-ink-900);
  background:#fff;border:1px solid var(--pl-border);border-radius:12px;
  padding:13px 15px;width:100%;box-sizing:border-box;transition:border-color .2s,box-shadow .2s;
}
.pl-form textarea{resize:vertical;min-height:112px}
.pl-form input:focus,.pl-form select:focus,.pl-form textarea:focus{
  outline:none;border-color:var(--pl-brand);box-shadow:0 0 0 3px rgba(45,181,173,0.18);
}
.pl-form .pl-btn{justify-content:center}
.pl-notice{
  display:flex;gap:12px;align-items:flex-start;padding:18px 20px;border-radius:14px;
  font-size:15.5px;line-height:1.5;margin-bottom:26px;
}
.pl-notice--ok{background:var(--pl-teal-50);color:var(--pl-teal-700);border:1px solid var(--pl-teal-200)}
.pl-notice--err{background:#FDF0EE;color:#9B3B2C;border:1px solid #F3CFC8}

/* Hover-Effekte  (data-hover) */
[data-hover]{transition:transform .3s var(--pl-ease),box-shadow .3s var(--pl-ease),border-color .3s,background .3s,color .3s}

/* Blog-Karussell auf der Startseite */
.pl-hscroll{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.pl-hscroll::-webkit-scrollbar{display:none}
.pl-hcard{
  flex:0 0 384px;scroll-snap-align:start;display:flex;flex-direction:column;
  background:#fff;border-radius:16px;overflow:hidden;text-decoration:none;
  box-shadow:0 22px 50px -26px rgba(14,17,19,0.28),0 4px 14px -8px rgba(14,17,19,0.12);
  transition:transform .22s var(--pl-ease),box-shadow .22s;
}
.pl-hcard:hover{transform:translateY(-4px);box-shadow:0 34px 62px -28px rgba(14,17,19,0.34);text-decoration:none}
@media (max-width:640px){.pl-hcard{flex-basis:290px}}

/* ============================================================
   Beitrags-Cards (Blog-Uebersicht, Archiv, Suche, aehnliche)
   Muss Theme-/Elementor-Defaults sicher schlagen.
   ============================================================ */
.pl-post-card{
  display:flex;background:#fff;border:1px solid var(--pl-border);
  border-radius:18px;overflow:hidden;
  transition:transform .25s var(--pl-ease),box-shadow .25s var(--pl-ease);
}
.pl-post-card:hover{transform:translateY(-4px);box-shadow:var(--pl-shadow)}
.pl-post-card > a{display:flex;flex-direction:column;height:100%;width:100%;text-decoration:none;color:inherit}
.pl-post-card > a:hover{text-decoration:none;color:inherit}

.pl-post-card__img{position:relative;aspect-ratio:16/11;background:var(--pl-ink-50);overflow:hidden}
.pl-post-card__img img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .4s var(--pl-ease);
}
.pl-post-card:hover .pl-post-card__img img{transform:scale(1.03)}

.pl-post-card__body{
  display:flex;flex-direction:column;flex:1;
  padding:24px 26px 26px;gap:0;
}
.pl-post-card__meta{
  font-family:var(--pl-font-body) !important;
  font-size:12px !important;font-weight:700 !important;
  letter-spacing:.12em !important;text-transform:uppercase;
  color:var(--pl-brand-strong) !important;margin-bottom:12px;line-height:1.3 !important;
}
.pl-post-card__title{
  font-family:var(--pl-font-display) !important;
  font-size:20px !important;font-weight:600 !important;
  letter-spacing:-0.02em !important;line-height:1.28 !important;
  color:var(--pl-ink-900) !important;
  margin:0 0 12px !important;
}
.pl-post-card__excerpt{
  font-family:var(--pl-font-body) !important;
  font-size:15.5px !important;font-weight:400 !important;
  line-height:1.6 !important;color:var(--pl-text-muted) !important;
  margin:0 0 18px !important;
}
.pl-post-card__more{
  margin-top:auto;font-family:var(--pl-font-body) !important;
  font-size:15px !important;font-weight:600 !important;
  color:var(--pl-brand-strong) !important;
}

/* Archiv-Sektion: Innenabstand + Abstand zum Hero */
.pl-archive{padding:64px 0 120px}
.pl-archive > .pl-wrap{max-width:1560px;margin:0 auto;padding:0 56px}
@media (max-width:1024px){.pl-archive > .pl-wrap{padding:0 40px}}
@media (max-width:640px){.pl-archive > .pl-wrap{padding:0 20px}}

/* Artikel-Hero: Abstand nach unten */
.pl-single-hero{padding-bottom:56px}

/* ============================================================
   GLOBALE NORMALISIERUNG – gilt fuer alle Seiten
   Das uebernommene Markup arbeitet mit Inline-Styles. Alles, was
   das Theme oder Elementor daneben setzt, darf es nicht stoeren.
   ============================================================ */

/* 1. Links erben die Textfarbe. Ausnahme: Artikelinhalte und
      bewusst gesetzte Link-Klassen. */
.pl-page a:not(.pl-btn):not(.pl-link){color:inherit;text-decoration:none}
.pl-page a:not(.pl-btn):not(.pl-link):hover{text-decoration:none}
.pl-article a,.entry-content a,.pl-link{color:var(--pl-brand-strong);text-decoration:underline}
.pl-article a:hover,.entry-content a:hover,.pl-link:hover{color:var(--pl-teal-700)}

/* 2. Ueberschriften: Theme-Defaults nur, wenn im Markup nichts steht.
      Inline-Styles gewinnen dadurch immer. */
.pl-page h1,.pl-page h2,.pl-page h3,.pl-page h4,.pl-page h5,.pl-page h6{
  font-family:var(--pl-font-display);
  color:inherit;
  text-wrap:balance;
  margin-block-start:0;
}
.pl-page h1{font-size:clamp(36px,4.4vw,62px);font-weight:700;letter-spacing:-0.035em;line-height:1.04}
.pl-page h2{font-size:clamp(28px,3.2vw,46px);font-weight:700;letter-spacing:-0.03em;line-height:1.05}
.pl-page h3{font-size:21px;font-weight:700;letter-spacing:-0.02em;line-height:1.22}
.pl-page h4{font-size:18px;font-weight:600;letter-spacing:-0.01em;line-height:1.3}

/* 3. Absaetze, Listen, Bilder */
.pl-page p{margin-block-start:0;text-wrap:pretty}
.pl-page ul,.pl-page ol{margin-block:0;padding-inline-start:0}
.pl-page li{list-style:none}
.pl-page img,.pl-page svg{max-width:100%}
.pl-page button{font-family:var(--pl-font-body);cursor:pointer}

/* 4. Elementor-Container duerfen nicht beschneiden */
.pl-page .elementor-widget-container,
.pl-page .elementor-widget-html{overflow:visible}

/* 5. Grid-Kinder duerfen nicht ueberlaufen */
.pl-page [style*="display:grid"] > *{min-width:0}
.pl-page [style*="display:flex"] > *{min-width:0}

/* 6. Bild-Slots: gleiche Geometrie wie im Design */
.pl-slot{border-radius:inherit}

/* ============================================================
   Navigation: feste Hoehe, damit die Hero-Sektionen exakt passen
   ============================================================ */
:root{--pl-nav-h:117px;--pl-nav-h-sticky:84px}

.pl-nav__inner{
  min-height:var(--pl-nav-h);
  padding-top:0 !important;padding-bottom:0 !important;
  align-items:center;box-sizing:border-box;
}
.pl-nav.is-scrolled .pl-nav__inner{min-height:var(--pl-nav-h-sticky)}

.pl-nav__logo img{height:64px !important;max-height:none !important;width:auto !important}
.pl-nav.is-scrolled .pl-nav__logo img{height:50px !important}
@media (max-width:640px){
  .pl-nav__logo img{height:52px !important}
  :root{--pl-nav-h:96px;--pl-nav-h-sticky:76px}
}

/* Hero-Offset ueber die Variable (Templates nutzen calc) */
.pl-hero{margin-top:calc(-1 * var(--pl-nav-h));padding-top:calc(var(--pl-nav-h) + 84px)}
.pl-single-hero{margin-top:calc(-1 * var(--pl-nav-h));padding-top:calc(var(--pl-nav-h) + 68px)}

/* Hero-Inhalt linksbuendig – auch wenn pl-wrap und pl-hero__inner
   am selben Element haengen */
.pl-hero .pl-wrap.pl-hero__inner{max-width:1560px;margin:0 auto}
.pl-hero .pl-wrap.pl-hero__inner > *{max-width:820px}

/* Artikel-CTA am Ende eines Beitrags */
.pl-panel-cta h2{
  font-family:var(--pl-font-display) !important;
  font-size:22px !important;font-weight:700 !important;
  letter-spacing:-0.02em !important;line-height:1.2 !important;
  color:var(--pl-ink-900) !important;margin:0 0 10px !important;
}
.pl-panel-cta p{
  font-family:var(--pl-font-body) !important;font-size:16px !important;
  line-height:1.6 !important;color:var(--pl-text-muted) !important;
}

/* Artikelinhalte: Ueberschriften nicht teal */
.pl-article h2,.pl-article h3,.entry-content h2,.entry-content h3{color:var(--pl-ink-900)}

/* Beitrags-Cards wie im Design: Schatten statt Rahmen */
.pl-post-card{
  border:none !important;
  border-radius:16px !important;
  box-shadow:0 22px 50px -26px rgba(14,17,19,0.28),0 4px 14px -8px rgba(14,17,19,0.12);
}
.pl-post-card:hover{box-shadow:0 34px 62px -28px rgba(14,17,19,0.34)}
.pl-archive__grid{gap:28px}

/* Ueberschriften in Sektionen nie teal erben */
.pl-page section h2,.pl-page section h3{color:var(--pl-ink-900)}
.pl-cta-band h2,.pl-panel-gradient h2,.pl-panel-gradient h3,.pl-section--dark h2{color:#fff}

/* ============================================================
   Hero-Abstand zur Navigation – verbindlich auf allen Seiten
   ============================================================ */

@media (max-width:1024px){
  }
@media (max-width:640px){
  .pl-page > section[style*="margin-top:calc"]{padding-top:calc(var(--pl-nav-h) + 44px) !important}
}
/* Startseiten-Hero bringt eigenen Innenabstand mit */
.pl-page > section[style*="margin-top:calc"] > [style*="min-height:520px"]{
  padding-top:32px !important;
}

/* ============================================================
   FIX: Navigation ist position:fixed, liegt also ausserhalb des
   Textflusses. Die  uebernommenen negativen
   margin-top-Werte schoben die Hero-Sektionen deshalb ueber den
   Bildschirmrand hinaus. Negativen Versatz neutralisieren und den
   Innenabstand direkt setzen.
   ============================================================ */


@media (max-width:1024px){
  .pl-page > section[style*="margin-top:calc"],
  .pl-page > section[style*="margin-top:-"],
  .pl-hero{padding-top:calc(var(--pl-nav-h) + 68px) !important}
  .pl-single-hero{padding-top:calc(var(--pl-nav-h) + 52px) !important}
}
@media (max-width:640px){
  .pl-page > section[style*="margin-top:calc"],
  .pl-page > section[style*="margin-top:-"],
  .pl-hero{padding-top:calc(var(--pl-nav-h) + 48px) !important}
  .pl-single-hero{padding-top:calc(var(--pl-nav-h) + 40px) !important}
}

/* Startseiten-Hero: eigener Innenabstand im Inhaltsblock zuruecksetzen */
.pl-page > section[style*="margin-top:calc"] > [style*="min-height:520px"],
.pl-page > section[style*="margin-top:-"] > [style*="min-height:520px"]{
  padding-top:0 !important;
}

/* ============================================================
   Inhaltsbereich
   ============================================================ */
.pl-page h1,.pl-page h2,.pl-page h3,.pl-page h4,.pl-page h5,.pl-page h6,
.pl-page p,.pl-page li,.pl-page span,.pl-page div{
  text-transform:none;
}
.elementor-kit-11 .pl-page h1,
.elementor-kit-11 .pl-page h2,
.elementor-kit-11 .pl-page h3,
.elementor-kit-11 .pl-page p{
  font-family:inherit;font-size:inherit;font-weight:inherit;
  line-height:inherit;letter-spacing:inherit;color:inherit;
}

/* ============================================================
   Ueberschriften: Theme-Defaults durchsetzen, aber NUR dort, wo das
   Markup keinen eigenen Inline-Wert mitbringt. So bleiben die feinen
   Werte  erhalten und schlichte <h1> sehen trotzdem
   richtig aus.
   ============================================================ */
.pl-page h1:not([style*="font-family"]),
.pl-page h2:not([style*="font-family"]),
.pl-page h3:not([style*="font-family"]),
.pl-page h4:not([style*="font-family"]){
  font-family:var(--pl-font-display) !important;
}

.pl-page h1:not([style*="font-size"]){font-size:clamp(36px,4.4vw,62px) !important}
.pl-page h2:not([style*="font-size"]){font-size:clamp(28px,3.2vw,46px) !important}
.pl-page h3:not([style*="font-size"]){font-size:21px !important}
.pl-page h4:not([style*="font-size"]){font-size:18px !important}

.pl-page h1:not([style*="font-weight"]),
.pl-page h2:not([style*="font-weight"]),
.pl-page h3:not([style*="font-weight"]){font-weight:700 !important}
.pl-page h4:not([style*="font-weight"]){font-weight:600 !important}

.pl-page h1:not([style*="line-height"]){line-height:1.02 !important}
.pl-page h2:not([style*="line-height"]){line-height:1.05 !important}
.pl-page h3:not([style*="line-height"]){line-height:1.22 !important}
.pl-page h4:not([style*="line-height"]){line-height:1.3 !important}

.pl-page h1:not([style*="letter-spacing"]){letter-spacing:-0.035em !important}
.pl-page h2:not([style*="letter-spacing"]){letter-spacing:-0.03em !important}
.pl-page h3:not([style*="letter-spacing"]),
.pl-page h4:not([style*="letter-spacing"]){letter-spacing:-0.02em !important}

.pl-page h1:not([style*="color"]),
.pl-page h2:not([style*="color"]),
.pl-page h3:not([style*="color"]),
.pl-page h4:not([style*="color"]){color:var(--pl-ink-900) !important}

/* Fliesstext ohne Inline-Angabe */
.pl-page p:not([style*="font-size"]):not(.pl-eyebrow){font-size:17px}
.pl-page p:not([style*="line-height"]){line-height:1.6}

/* ============================================================
   Ghost-/Outline-Buttons: Rahmen deutlich sichtbar
   ============================================================ */
a.pl-btn--ghost,button.pl-btn--ghost,.pl-btn--ghost,
a.pl-btn--outline,button.pl-btn--outline,.pl-btn--outline{
  border:1.5px solid var(--pl-ink-400) !important;
}
a.pl-btn--ghost:hover,button.pl-btn--ghost:hover,.pl-btn--ghost:hover,
a.pl-btn--outline:hover,button.pl-btn--outline:hover,.pl-btn--outline:hover{
  border-color:var(--pl-ink-900) !important;
  background:transparent !important;
  color:var(--pl-ink-900) !important;
}

/* Ghost-Button in der Navigation bleibt rahmenlos */
.pl-nav .pl-btn--ghost,.pl-nav__panel .pl-btn--ghost{border-color:transparent !important}
.pl-nav .pl-btn--ghost:hover{border-color:transparent !important;background:var(--pl-teal-50) !important;color:var(--pl-brand-strong) !important}

/* Auf dunklem Grund heller Rahmen */
.pl-section--dark .pl-btn--ghost,.pl-cta-band .pl-btn--ghost,
.pl-section--dark .pl-btn--outline,.pl-cta-band .pl-btn--outline{
  border-color:rgba(255,255,255,0.42) !important;color:#fff !important;
}
.pl-section--dark .pl-btn--ghost:hover,.pl-cta-band .pl-btn--ghost:hover,
.pl-section--dark .pl-btn--outline:hover,.pl-cta-band .pl-btn--outline:hover{
  border-color:#fff !important;color:#fff !important;
}

/* ============================================================
   Beitrags-Cards: eigene Typografie Typografie
   ============================================================ */
.pl-page .pl-post-card .pl-post-card__title,
.pl-page h2.pl-post-card__title,
.pl-page h3.pl-post-card__title{
  font-family:var(--pl-font-display) !important;
  font-size:20px !important;
  font-weight:600 !important;
  line-height:1.28 !important;
  letter-spacing:-0.02em !important;
  color:var(--pl-ink-900) !important;
  margin:0 0 12px !important;
}
.pl-page .pl-post-card .pl-post-card__meta{
  font-size:12px !important;line-height:1.3 !important;
}
.pl-page .pl-post-card .pl-post-card__excerpt{
  font-size:15.5px !important;line-height:1.6 !important;
}

/* Karten gleich hoch, Auszug bricht nach 3 Zeilen */
.pl-post-card__excerpt{
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;
}

/* ============================================================
   Hervorgehobener Beitrag (Blog-Uebersicht)
   ============================================================ */
.pl-post-feature{
  background:#fff;border-radius:var(--pl-radius-lg);overflow:hidden;
  box-shadow:var(--pl-shadow-md);margin-bottom:40px;
  transition:transform .3s var(--pl-ease),box-shadow .3s var(--pl-ease);
}
.pl-post-feature:hover{transform:translateY(-4px);box-shadow:var(--pl-shadow-lg)}
.pl-post-feature a{
  display:grid;grid-template-columns:1.05fr 0.95fr;
  text-decoration:none;color:inherit;align-items:stretch;
}
.pl-post-feature a:hover{text-decoration:none}
.pl-post-feature__img{position:relative;min-height:420px;background:var(--pl-surface);overflow:hidden}
.pl-post-feature__img img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.pl-post-feature__body{
  padding:clamp(32px,3.4vw,56px);
  display:flex;flex-direction:column;justify-content:center;
}
.pl-post-feature__meta{
  display:flex;align-items:center;gap:12px;margin-bottom:18px;
  font-family:var(--pl-font-body);font-size:14px;color:var(--pl-text-faint);
}
.pl-post-feature__cat{
  font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--pl-brand-strong);
}
.pl-post-feature__meta .pl-dot{width:4px;height:4px;border-radius:50%;background:var(--pl-ink-400);flex:none}

.pl-page .pl-post-feature .pl-post-feature__title,
.pl-page h2.pl-post-feature__title{
  font-family:var(--pl-font-display) !important;
  font-size:clamp(26px,2.4vw,36px) !important;
  font-weight:700 !important;line-height:1.14 !important;
  letter-spacing:-0.03em !important;color:var(--pl-ink-900) !important;
  margin:0 0 16px !important;text-wrap:balance;
}
.pl-page .pl-post-feature .pl-post-feature__excerpt{
  font-family:var(--pl-font-body) !important;
  font-size:17px !important;line-height:1.62 !important;
  color:var(--pl-text-muted) !important;margin:0 0 26px !important;max-width:46ch;
}
.pl-post-feature__more{
  font-family:var(--pl-font-body);font-size:16px;font-weight:600;
  color:var(--pl-brand-strong);
}

@media (max-width:1024px){
  .pl-post-feature a{grid-template-columns:1fr}
  .pl-post-feature__img{min-height:300px}
}
@media (max-width:640px){
  .pl-post-feature__img{min-height:220px}
}

/* ============================================================
   Feature-Card: Rahmen, Schatten, Abstand
   ============================================================ */
.pl-post-feature{
  border:1px solid var(--pl-border) !important;
  box-shadow:0 30px 64px -44px rgba(14,17,19,0.30) !important;
  margin-bottom:56px !important;
}
.pl-post-feature:hover{
  box-shadow:0 40px 84px -44px rgba(14,17,19,0.38) !important;
  border-color:var(--pl-ink-300) !important;
}
.pl-post-feature__body{padding:clamp(32px,3.4vw,52px) !important}

/* Beitrags-Cards: Rahmen zusaetzlich zum Schatten */
.pl-post-card{
  border:1px solid var(--pl-border);
  box-shadow:0 20px 44px -36px rgba(14,17,19,0.26);
}
.pl-post-card:hover{border-color:var(--pl-ink-300)}

/* Abstand unter dem Beitrags-Raster */
.pl-archive{padding-bottom:132px}
.pl-archive__grid{margin-bottom:8px}

/* ============================================================
   Kategorie-Filter
   ============================================================ */
.pl-filter{
  display:flex;flex-wrap:wrap;gap:12px;margin:0 0 44px;
}
.pl-filter__chip{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--pl-font-display);font-size:15px;font-weight:600;
  color:var(--pl-ink-900);text-decoration:none;
  background:#fff;border:1.5px solid var(--pl-border);border-radius:999px;
  padding:11px 22px;line-height:1.2;
  transition:all .22s var(--pl-ease);
}
.pl-filter__chip:hover{
  border-color:var(--pl-ink-900);text-decoration:none;
}
.pl-filter__chip.is-active{
  background:var(--pl-ink-900);border-color:var(--pl-ink-900);color:#fff;
}
@media (max-width:640px){
  .pl-filter{gap:9px;margin-bottom:32px}
  .pl-filter__chip{font-size:14px;padding:9px 17px}
}

/* Hauptmenue etwas groesser */
.pl-nav__links > li > a,
.pl-nav__links a{font-size:18px !important;font-weight:500 !important}
@media (max-width:1200px){
  .pl-nav__links > li > a,.pl-nav__links a{font-size:18px !important}
}

/* Filter-Chips: Textfarbe gegen Theme-Linkfarben absichern */
.pl-page a.pl-filter__chip,
.pl-page a.pl-filter__chip:visited{color:var(--pl-ink-900) !important}
.pl-page a.pl-filter__chip:hover{color:var(--pl-ink-900) !important}
.pl-page a.pl-filter__chip.is-active,
.pl-page a.pl-filter__chip.is-active:visited,
.pl-page a.pl-filter__chip.is-active:hover{
  color:#fff !important;
  background:var(--pl-ink-900) !important;
  border-color:var(--pl-ink-900) !important;
}

/* Titelbild deutlicher in die Hero-Sektion ziehen */
.pl-single__thumb{margin-top:-96px !important}
@media (max-width:1024px){.pl-single__thumb{margin-top:-72px !important}}
@media (max-width:640px){.pl-single__thumb{margin-top:-48px !important}}

/* Titelbild: verlaesslicher Abstand zum Titel, auch ohne Auszug */
.pl-single-hero{padding-bottom:110px !important}
.pl-single__thumb{margin-top:-62px !important}
@media (max-width:1024px){
  .pl-single-hero{padding-bottom:92px !important}
  .pl-single__thumb{margin-top:-52px !important}
}
@media (max-width:640px){
  .pl-single-hero{padding-bottom:72px !important}
  .pl-single__thumb{margin-top:-40px !important}
}

/* Beitragsseite: kein Platzhalter oben – die Hero-Sektion laeuft
   selbst hinter die fixierte Navigation. */
body.pl-has-fallback-header main.pl-page > .pl-has-hero{padding-top:0 !important}
.pl-has-hero > .pl-single-hero{margin-top:0 !important}

/* Beitragsseite: weniger Luft ueber "Zurueck zum Blog" */
@media (max-width:1024px){.pl-single-hero{padding-top:calc(var(--pl-nav-h) + 32px) !important}}
@media (max-width:640px){.pl-single-hero{padding-top:calc(var(--pl-nav-h) + 24px) !important}}

/* Menue: Schriftgroesse 18px, mehr Abstand zum Logo */
.pl-nav__links > li > a,
.pl-nav__links a{font-size:18px !important}
@media (max-width:1200px){
  .pl-nav__links > li > a,.pl-nav__links a{font-size:18px !important}
}
.pl-nav__links{margin-left:72px !important}
@media (max-width:1200px){.pl-nav__links{margin-left:48px !important}}

/* Werbeformate-Hero: Grafik auf Tablet/Mobil ausblenden */
@media (max-width:1024px){
  .pl-wf-hero-art{display:none}
}

/* Menue-Hover: keine Farbaenderung, nur Unterstrich */
.pl-nav__links a:hover{
  color:var(--pl-text) !important;
  border-bottom-color:var(--pl-ink-900) !important;
}
.pl-nav__links .current-menu-item > a:hover,
.pl-nav__links .current_page_item > a:hover{
  color:var(--pl-brand-strong) !important;
}

/* ============================================================
   Bild-Slots
   verschwindet, sobald eine Variable gesetzt ist.
   ============================================================ */
.pl-slot[data-pl-img^="ref-logo"],
.pl-slot[data-pl-img^="media-logo"],
.pl-slot[data-pl-img^="adv-"],
.pl-slot[data-pl-img^="pub-logo"],
.pl-slot[data-pl-img*="logo"]{
  background-size:contain !important;
  background-position:center !important;
}

/* Text nur zeigen, solange kein Bild gesetzt ist */
.pl-slot{color:var(--pl-text-faint);font-size:12px;letter-spacing:.06em}
.pl-slot.is-filled{color:transparent !important;border:none !important;background-color:transparent !important}
.pl-slot.is-filled > *{display:none !important}

/* ============================================================
   Keyframes
   ============================================================ */
@keyframes plfade{from{opacity:0}to{opacity:1}}
@keyframes plslideup{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes plkenburns{from{transform:scale(1.09)}to{transform:scale(1)}}
@keyframes plpulse{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes plmarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes plspin{to{transform:rotate(360deg)}}
@keyframes plprogress{from{width:0}to{width:100%}}
@keyframes plslidex{to{transform:translateX(-50%)}}
@keyframes plwordin{0%{opacity:0;transform:translateY(0.32em);filter:blur(6px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes plwavex{to{transform:translateX(-1440px)}}
@keyframes heroCardFloat{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-14px) rotate(var(--r,0deg))}}
@keyframes hoDotPulse{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.35);opacity:1}}
@keyframes hoPing{0%{transform:scale(.4);opacity:.9}80%,100%{transform:scale(1.9);opacity:0}}
@keyframes heroZoom{0%{transform:scale(1)}100%{transform:scale(1.08)}}
@keyframes pldrift1{0%,100%{transform:translate(-8%,-6%) scale(1)}50%{transform:translate(4%,6%) scale(1.12)}}
@keyframes pldrift2{0%,100%{transform:translate(6%,4%) scale(1.1)}50%{transform:translate(-5%,-7%) scale(1)}}
@keyframes pldrift3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-6%,5%) scale(1.14)}}
@keyframes plgridpan{from{background-position:0 0}to{background-position:56px 56px}}

/* ============================================================
   Blog-Uebersicht: Feature-Card klar abgesetzt, Cards mit Rahmen
   ============================================================ */
.pl-post-feature{
  margin-bottom:72px !important;
  border:1px solid var(--pl-border) !important;
}
.pl-archive__grid{gap:32px}

.pl-page .pl-post-card,
.pl-archive__grid .pl-post-card{
  border:1px solid var(--pl-border) !important;
  border-radius:var(--pl-radius-lg);
  overflow:hidden;
  background:#fff;
  box-shadow:0 20px 44px -36px rgba(14,17,19,0.26);
}
.pl-page .pl-post-card:hover{
  border-color:var(--pl-ink-300) !important;
  box-shadow:0 30px 60px -34px rgba(14,17,19,0.32);
}

/* ============================================================
   Hero-Sektionen: einheitliche Hoehe und Titelposition auf allen Seiten
   ============================================================ */
.pl-page > section[style*="margin-top:calc"] > [data-r~="wrap"],
.pl-page > section[style*="margin-top:-"] > [data-r~="wrap"],
.pl-hero > .pl-wrap{width:100%}


/* Beitragsseite behaelt ihren eigenen, engeren Rhythmus */
.pl-single-hero{
  min-height:0 !important;
  display:block !important;
  padding-bottom:110px !important;
}

@media (max-width:1024px){
  .pl-page > section[style*="margin-top:calc"],
  .pl-page > section[style*="margin-top:-"],
  .pl-hero{
    min-height:calc(var(--pl-nav-h) + 300px);
    padding-top:calc(var(--pl-nav-h) + 56px) !important;
    padding-bottom:72px !important;
  }
}
@media (max-width:640px){
  .pl-page > section[style*="margin-top:calc"],
  .pl-page > section[style*="margin-top:-"],
  .pl-hero{
    min-height:0;
    padding-top:calc(var(--pl-nav-h) + 40px) !important;
    padding-bottom:56px !important;
  }
}

/* Logo leicht groesser */
.pl-nav__logo img{height:72px !important}
.pl-nav.is-scrolled .pl-nav__logo img{height:56px !important}
@media (max-width:640px){
  .pl-nav__logo img{height:56px !important}
  .pl-nav.is-scrolled .pl-nav__logo img{height:46px !important}
}

/* ============================================================
   Logo-Groesse: Logo-Groessen
   ============================================================ */
.pl-nav__logo img,
.pl-nav img.custom-logo,
.elementor-location-header .elementor-widget-image img,
header .elementor-widget-image img,
.elementor-location-header img.custom-logo{
  height:72px !important;
  max-height:none !important;
  width:auto !important;
  max-width:none !important;
}
.pl-nav.is-scrolled .pl-nav__logo img,
.pl-nav.is-scrolled img.custom-logo{
  height:56px !important;
}
@media (max-width:640px){
  .pl-nav__logo img,
  .pl-nav img.custom-logo,
  .elementor-location-header .elementor-widget-image img,
  header .elementor-widget-image img{
    height:56px !important;
  }
  .pl-nav.is-scrolled .pl-nav__logo img,
  .pl-nav.is-scrolled img.custom-logo{height:46px !important}
}

/* Video-Fortschrittsbalken Overlay-Mockups */
[style*="animation:plprogress"]{will-change:width}
span[style*="background:rgba(255,255,255,0.3)"],
span[style*="background:rgba(255,255,255,0.35)"]{z-index:7}

/* Video-Fortschrittsbalken Sichtbarkeit */
.pl-slot ~ span[style*="plprogress"],
span[style*="plprogress"]{display:block !important;opacity:1 !important}

/* ============================================================
   Video-Fortschrittsbalken (Overlay-Mockups)
   ============================================================ */
.pl-videobar{
  position:absolute !important;left:0;right:0;bottom:0;height:6px;
  background:rgba(255,255,255,0.34);
  z-index:9;pointer-events:none;display:block !important;overflow:hidden;
  opacity:1 !important;visibility:visible !important;
}
.pl-videobar > i{
  display:block;height:100%;width:0;
  background:var(--pl-brand);box-shadow:0 0 10px rgba(45,181,173,0.85);
  animation:plprogress 5s linear infinite;
}

/* ============================================================
   FIX: Fortschrittsbalken + Logo-Ausrichtung in Overlay-Mockups
   ============================================================ */
.pl-videobar,
span.pl-videobar{
  position:absolute !important;
  left:0 !important;right:0 !important;bottom:0 !important;top:auto !important;
  height:6px !important;
  background:rgba(255,255,255,0.34) !important;
  z-index:20 !important;
  display:block !important;opacity:1 !important;visibility:visible !important;
  overflow:hidden !important;pointer-events:none;
}
.pl-videobar > i,
span.pl-videobar > i{
  display:block !important;height:100% !important;width:0;
  background:#2DB5AD !important;
  box-shadow:0 0 10px rgba(45,181,173,0.9);
  animation:plprogress 5s linear infinite !important;
}

/* Logo-Platzhalter linksbuendig, damit er auf der Textkante sitzt */
.pl-slot[data-pl-img$="-logo"]{
  justify-content:flex-start !important;
  text-align:left !important;
  background-position:left center !important;
  background-size:contain !important;
}


/* Format-Zeilen auf der Startseite: Links ohne Unterstreichung */
a[href="/werbeformate/"][style*="grid-template-columns:88px"]{text-decoration:none !important}
a[href="/werbeformate/"][style*="grid-template-columns:88px"]:hover{
  background:var(--pl-surface) !important;padding-left:40px !important;
}

/* Team-Kontaktlinks */
.pl-page a[aria-label="LinkedIn-Profil"]:hover,
.pl-page a[aria-label="E-Mail schreiben"]:hover,
.pl-page a[href^="tel:"]:hover{
  border-color:var(--pl-brand) !important;
  color:var(--pl-brand-strong) !important;
  background:var(--pl-teal-50) !important;
}

/* Partner-Logos in "Auch Teil von uns" */
.pl-slot[data-pl-img^="brand-"]{
  background-position:left center !important;
  background-size:contain !important;
  justify-content:flex-start !important;text-align:left !important;
  font-family:var(--pl-font-display);font-size:20px;font-weight:700;
  letter-spacing:-0.02em;color:var(--pl-ink-900);
}

/* Partner-Logos: einheitliche Breite, Höhe folgt proportional */
.pl-slot[data-pl-img^="brand-"]{
  background-size:contain !important;
  background-position:left center !important;
}
.pl-slot[data-pl-img^="brand-"]:not(.is-filled){
  font-size:18px;
}

/* ============================================================
   Kontaktformular: Anliegen-Chips + einheitliche Feldhoehen
   ============================================================ */
.pl-intent-chip{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--pl-font-display);font-size:14px;font-weight:600;
  line-height:1.2;border-radius:999px;padding:10px 18px;cursor:pointer;
  background:#fff;border:1.5px solid var(--pl-border);color:var(--pl-ink-900);
  transition:all .22s var(--pl-ease);
}
.pl-intent-chip:hover{border-color:var(--pl-ink-400)}
.pl-intent-chip.is-active{
  background:var(--pl-ink-900);border-color:var(--pl-ink-900);color:#fff;
}
.pl-intent-head[hidden],.pl-form__row label[hidden]{display:none !important}

/* Eingabefelder, Selects und Textarea auf gleiche Hoehe/Optik */
.pl-form input[type="text"],
.pl-form input[type="email"],
.pl-form input[type="tel"],
.pl-form select,
.pl-form textarea{
  width:100%;
  min-height:52px;
  padding:14px 16px;
  font-family:var(--pl-font-body);
  font-size:16px;
  line-height:1.4;
  color:var(--pl-ink-900);
  background:#fff;
  border:1px solid var(--pl-border);
  border-radius:12px;
  box-sizing:border-box;
  appearance:none;-webkit-appearance:none;
  transition:border-color .2s var(--pl-ease),box-shadow .2s var(--pl-ease);
}
.pl-form textarea{min-height:120px;resize:vertical}
.pl-form select{
  padding-right:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237C8A8E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
}
.pl-form input:focus,
.pl-form select:focus,
.pl-form textarea:focus{
  outline:none;
  border-color:var(--pl-brand);
  box-shadow:0 0 0 3px rgba(45,181,173,0.18);
}
.pl-form label{
  display:flex;flex-direction:column;gap:8px;
  font-family:var(--pl-font-display);font-size:15px;font-weight:600;
  color:var(--pl-ink-900);
}

/* Kontaktformular: Sichtbarkeit  */
.pl-form__row label[style*="display:none"],
.pl-intent-head[style*="display:none"],
.pl-form__row label[hidden],
.pl-intent-head[hidden]{display:none !important}
.pl-intent-chip{border-radius:999px !important}

/* Spezifikationen: Spec-Zeilen in Cards – letzte Zeile ohne Trennlinie */
.pl-page [style*="border-radius:16px"] > div[style*="grid-template-columns:200px"]:last-child,
.pl-page [style*="border-radius:16px"] table tr:last-child td{border-bottom:none !important}

/* Anker-Sprungziele auf der Werbeformate-Seite */
#native-advertorial,#native-scalable-content,#native-teaser,#native-video{
  scroll-margin-top:120px;
}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Pressemeldungen (Über uns) */
.pl-press-row:hover{
  background:var(--pl-surface) !important;
  padding-left:24px !important;
}
.pl-press-row:hover span[aria-hidden]{transform:translateX(3px)}
.pl-press-row span[aria-hidden]{transition:transform .3s var(--pl-ease)}

/* Presse-CTA: dezenter Hover */
.pl-press-row span[aria-hidden]{transition:transform .3s var(--pl-ease),color .3s var(--pl-ease)}
.pl-press-row:hover span[aria-hidden]{transform:translateX(5px);color:var(--pl-brand-strong)}

/* ============================================================
   Footer: Social-Icons
   ============================================================ */
.pl-footer__socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.pl-footer a.pl-footer__social,
.pl-footer__social{
  display:inline-flex !important;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:12px;
  border:1px solid rgba(255,255,255,0.22) !important;
  color:#fff !important;background:transparent !important;
  text-decoration:none !important;
  transition:border-color .22s var(--pl-ease),background .22s var(--pl-ease),color .22s var(--pl-ease);
}
.pl-footer__social svg{width:19px;height:19px;fill:currentColor;display:block}
.pl-footer a.pl-footer__social:hover{
  border-color:var(--pl-brand) !important;
  background:rgba(45,181,173,0.16) !important;
  color:#fff !important;
}

/* Footer-Social-Icons: Farben */
.pl-footer .pl-footer__social,
.pl-footer a.pl-footer__social,
.pl-footer a.pl-footer__social:visited{color:#fff !important}
.pl-footer .pl-footer__social svg,
.pl-footer a.pl-footer__social svg,
.pl-footer .pl-footer__social svg path{
  fill:#fff !important;stroke:none !important;color:#fff !important;
}
.pl-footer a.pl-footer__social:hover svg,
.pl-footer a.pl-footer__social:hover svg path{fill:#fff !important}

/* Karriere: Foto-Grid responsive */
@media (max-width:1024px){
  [data-r~="g5"]{grid-template-columns:1fr 1fr !important;grid-template-rows:auto !important}
  [data-r~="g5"] > div{grid-row:auto !important;grid-column:auto !important;min-height:200px}
}
@media (max-width:640px){
  [data-r~="g5"]{grid-template-columns:1fr !important}
}

/* Karriere: Foto-Grid – Bilder formatfuellend */
[data-r~="g5"] .pl-slot{background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important}

/* ============================================================
   Mobile (bis 640px)
   ============================================================ */
@media (max-width:640px){
  /* Grids stapeln */
  [data-r~="g2"],[data-r~="g3"],[data-r~="g4"],[data-r~="g5"],[data-r~="g12"]{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  [data-r~="g12"] > *{grid-column:1 / -1 !important;grid-row:auto !important}
  [data-r~="g6"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:28px 20px !important}
  [data-r~="g8"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important}

  /* Innenabstaende */
  [data-r~="wrap"]{padding-left:20px !important;padding-right:20px !important}
  section{padding-left:0 !important;padding-right:0 !important}

  /* Typografie */
  h1{font-size:clamp(28px,8.4vw,36px) !important;line-height:1.08 !important;letter-spacing:-0.03em !important}
  h2{font-size:clamp(24px,6.8vw,30px) !important;line-height:1.12 !important}
  h3{font-size:clamp(18px,5vw,21px) !important;line-height:1.2 !important}
  .pl-eyebrow,[style*="letter-spacing:.1em"][style*="text-transform:uppercase"]{font-size:14px !important;letter-spacing:.12em !important}
  p{text-wrap:pretty}

  /* Buttons volle Breite, Ziele >=44px */
  .pl-btn,a.pl-btn,button.pl-btn{
    width:100% !important;justify-content:center !important;
    min-height:50px !important;padding:14px 22px !important;font-size:15.5px !important;
  }
  .pl-btn--sm{min-height:46px !important}
  [style*="display:flex"][style*="gap:16px"]{gap:12px !important}

  /* Sektions-Rhythmus reduzieren */
  section[style*="padding:105px"],section[style*="padding:104px"],
  section[style*="padding:120px"],section[style*="padding:96px"],
  section[style*="padding:100px"]{padding-top:56px !important;padding-bottom:56px !important}

  /* Panels und Cards */
  [style*="border-radius:32px"]{border-radius:20px !important}
  [style*="border-radius:26px"],[style*="border-radius:24px"],[style*="border-radius:22px"]{border-radius:18px !important}
  [style*="padding:clamp(48px"],[style*="padding:clamp(44px"],[style*="padding:clamp(38px"],
  [style*="padding:clamp(32px"]{padding:26px 22px !important}
  [style*="padding:34px 32px"],[style*="padding:38px 34px"],[style*="padding:36px 34px"],
  [style*="padding:34px 30px"],[style*="padding:32px 30px"]{padding:24px 20px !important}

  /* Grosse Ziffern */
  [style*="font-size:88px"]{font-size:52px !important}
  [style*="font-size:64px"]{font-size:44px !important}
  [style*="font-size:38px"][style*="letter-spacing:-0.045em"]{font-size:32px !important}

  /* Dekorative Glows und Hero-Grafiken ausblenden */
  section > [aria-hidden="true"][style*="filter:blur"]{display:none !important}
  .pl-wf-hero-art{display:none !important}

  /* Format-Mockups kompakter */
  [style*="min-height:520px"]{min-height:0 !important}

  /* Format-Zeilen auf der Startseite */
  a[href^="/werbeformate/#"][style*="grid-template-columns:88px"]{
    grid-template-columns:56px 1fr !important;gap:14px !important;padding:20px 4px !important;
  }
  a[href^="/werbeformate/#"] [style*="font-size:88px"]{font-size:34px !important}

  /* Blog */
  .pl-post-feature a{grid-template-columns:1fr !important}
  .pl-post-feature__img{min-height:200px !important}
  .pl-post-feature__body{padding:24px 20px !important}
  .pl-archive{padding-bottom:64px !important}
  .pl-filter{gap:8px !important;margin-bottom:28px !important}
  .pl-filter__chip{font-size:13.5px !important;padding:9px 16px !important}

  /* Presse- und Link-Zeilen */
  .pl-press-row{grid-template-columns:1fr auto !important;gap:16px !important;padding:18px 4px !important}

  /* Formular */
  .pl-form__row{grid-template-columns:1fr !important;gap:14px !important}
  .pl-intent-chip{font-size:13.5px !important;padding:9px 15px !important}

  /* Footer */
  .pl-footer__inner{grid-template-columns:1fr !important;gap:32px !important}
  .pl-footer__bottom{flex-direction:column !important;gap:10px !important;align-items:flex-start !important}

  /* Tabellen umbrechen */
  table{display:block;width:100%}
  table tbody,table tr{display:block;width:100%}
  table td{display:block;width:100% !important;padding:6px 0 !important;border:none !important}
  table tr{border-bottom:1px solid var(--pl-border);padding:12px 0}

  /* Spec-Zeilen */
  [style*="grid-template-columns:200px 1fr"]{grid-template-columns:1fr !important;gap:6px !important}

  /* Horizontale Ueberlaeufe verhindern */
  html,body{overflow-x:hidden}
  img,svg{max-width:100%}
}

/* ============================================================
   Tablet (bis 1024px)
   ============================================================ */
@media (max-width:1024px){
  section[style*="padding:120px"],section[style*="padding:105px"]{padding-top:80px !important;padding-bottom:80px !important}
  [style*="gap:72px"]{gap:44px !important}
  [style*="gap:64px"]{gap:40px !important}
  [style*="gap:56px"]{gap:36px !important}
  h1{font-size:clamp(32px,5.4vw,48px) !important}
}

/* Partner-Logos: Platzhaltertext nur ohne Bild */
.pl-slot[data-pl-img^="brand-"]{
  font-size:0 !important;
  background-position:left center !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
}

/* Kontaktformular: Innenabstand und Datenschutz-Zustimmung */
.pl-form input[type="text"],
.pl-form input[type="email"],
.pl-form input[type="tel"],
.pl-form select,
.pl-form textarea{
  padding:14px 18px !important;
}
.pl-form textarea{padding:16px 18px !important}
.pl-form select{padding-right:44px !important}

.pl-consent{
  display:flex;align-items:flex-start;gap:12px;
  font-family:var(--pl-font-body);font-size:14.5px;line-height:1.55;
  color:var(--pl-text-muted);margin:4px 0 4px;
}
.pl-consent input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;
  width:22px;height:22px;flex:none;margin:1px 0 0;
  border:1.5px solid var(--pl-border);border-radius:6px;background:#fff;
  cursor:pointer;transition:border-color .2s var(--pl-ease),background .2s var(--pl-ease);
  position:relative;
}
.pl-consent input[type="checkbox"]:hover{border-color:var(--pl-ink-400)}
.pl-consent input[type="checkbox"]:checked{
  background:var(--pl-brand);border-color:var(--pl-brand);
}
.pl-consent input[type="checkbox"]:checked::after{
  content:"";position:absolute;left:7px;top:3px;
  width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;
  transform:rotate(45deg);
}
.pl-consent input[type="checkbox"]:focus-visible{
  outline:none;box-shadow:0 0 0 3px rgba(45,181,173,0.22);
}
.pl-consent a{color:var(--pl-brand-strong);font-weight:600;text-decoration:none}
.pl-consent a:hover{text-decoration:underline}

/* Startseiten-Hero: Abstand unter dem Logo-Strip begrenzen */
.pl-page > section:first-of-type > [data-r~="wrap"]{padding-bottom:0 !important}

/* Startseiten-Hero: eigene Abstaende, keine erzwungene Mindesthoehe */
.pl-page > section:first-of-type{
  min-height:0 !important;
  display:block !important;
  padding-top:var(--pl-nav-h) !important;
  padding-bottom:0 !important;
}
.pl-page > section:first-of-type > [data-r~="wrap"]{padding-bottom:150px !important}

/* ============================================================
   Startseite mobil: Hero, Logos, Format-Zeilen, Overlay-Demo
   ============================================================ */
@media (max-width:640px){
  /* Hero: weniger Luft oben, Logos naeher */
  .pl-page > section:first-of-type > [data-r~="wrap"]{
    padding-top:40px !important;
    padding-bottom:64px !important;
    min-height:0 !important;
  }
  .pl-page > section:first-of-type [style*="margin:88px auto 0"]{margin-top:52px !important}

  /* Alle Logos zeigen, dafuer kleiner */
  [data-r~="g6"]{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px 14px !important;
  }
  .pl-logo-cell{height:34px !important}

  /* Self-Booking-Karte: Icon oben, Text darunter */
  .pl-sb-card,[style*="border-radius:32px"][style*="linear-gradient(135deg"]{
    text-align:left;
  }
  [style*="linear-gradient(135deg"] [data-r~="g2"]{gap:28px !important}

  /* Format-Zeilen: Nummer und Titel nebeneinander, Pfeil rechts */
  a[href^="/werbeformate/#"][style*="grid-template-columns:88px"]{
    grid-template-columns:auto 1fr auto !important;
    gap:14px !important;
    align-items:center !important;
    padding:18px 2px !important;
  }
  a[href^="/werbeformate/#"] [style*="font-size:88px"]{
    font-size:26px !important;line-height:1 !important;
  }
  a[href^="/werbeformate/#"] [style*="font-size:clamp(24px,3.2vw,42px)"]{
    font-size:19px !important;line-height:1.2 !important;
  }
  a[href^="/werbeformate/#"] [style*="font-size:16px"]{
    font-size:13.5px !important;line-height:1.4 !important;display:block;margin-top:3px;
  }
  a[href^="/werbeformate/#"] [style*="width:52px;height:52px"]{
    width:38px !important;height:38px !important;
  }
  a[href^="/werbeformate/#"] [style*="width:52px;height:52px"] svg{width:15px;height:15px}

  /* Sektionstitel "Vier Formate" nicht zu eng umbrechen */
  [data-r~="gauto"]{grid-template-columns:1fr !important;gap:20px !important}
  [data-r~="gauto"] h2{max-width:none !important;font-size:26px !important}

  /* Scalable-Content-Overlay: volle Breite wie auf echten Mobilseiten */
  [style*="left:20px;right:20px;top:36px;bottom:20px"]{
    left:0 !important;right:0 !important;top:26px !important;bottom:0 !important;
    border-radius:12px 12px 0 0 !important;
  }
  [style*="left:14px;right:14px"][style*="bottom:24px"]{left:10px !important;right:10px !important}
}

/* Leistungs-Sektionen mobil: Text zuerst, Bild danach */
@media (max-width:640px){
  [data-r~="g2"]{display:flex !important;flex-direction:column !important}
  [data-r~="g2"] > *{order:1}
  [data-r~="g2"] > div:has(.pl-slot),
  [data-r~="g2"] > div:has(> svg),
  [data-r~="g2"] > div:has([style*="aspect-ratio"]),
  [data-r~="g2"] > div:has([style*="animation:plfloat"]){order:2}
}

@media (max-width:640px){
  /* Self-Booking: Icon ausblenden */

  /* Scalable-Content-Demo: Publisher-Rahmen weg, Overlay full width */
  [style*="left:20px;right:20px;top:36px;bottom:20px"]{
    position:static !important;
    inset:auto !important;
    border-radius:14px !important;
    box-shadow:none !important;
  }
  [style*="left:20px;right:20px;top:36px;bottom:20px"] ~ *{display:none !important}

  /* Leistungen: mehr Abstand zwischen den Bloecken */
  [data-r~="g2"]{gap:40px !important;margin-bottom:56px !important}
  [data-r~="g2"]:last-child{margin-bottom:0 !important}
  [data-r~="g2"] > div:has(.pl-slot),
  [data-r~="g2"] > div:has(> svg){margin-bottom:8px}
}

@media (max-width:640px){
  /* Logo-Raster: gleichmaessige Zeilenhoehen und Abstaende */
  [data-r~="g6"]{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:26px 16px !important;
    align-items:center !important;
  }
  .pl-logo-cell{height:30px !important}
  .pl-logo-cell .pl-slot{
    background-size:contain !important;
    background-position:center !important;
  }

  /* Einheitlicher Sektions-Rhythmus */
  .pl-page > section{padding-top:56px !important;padding-bottom:56px !important}
  .pl-page > section:first-of-type{padding-top:var(--pl-nav-h) !important;padding-bottom:0 !important}
  .pl-page > section:first-of-type > [data-r~="wrap"]{
    padding-top:40px !important;padding-bottom:56px !important;
  }
  .pl-page > section:first-of-type [style*="margin:88px auto 0"]{margin-top:44px !important}
}


/* Mobiles Menue: Aufzaehlungspunkte entfernen, klare Zeilen */
.pl-nav__panel ul,
.pl-nav__panel ol,
.pl-nav__panel li{
  list-style:none !important;
  margin:0 !important;
  padding-left:0 !important;
}
.pl-nav__panel li::marker{content:none !important}
.pl-nav__panel li::before{display:none !important;content:none !important}
.pl-nav__panel li + li{border-top:1px solid var(--pl-border)}
.pl-nav__panel li a{
  display:flex !important;align-items:center;justify-content:space-between;
  padding:16px 4px !important;
  font-family:var(--pl-font-display) !important;
  font-size:18px !important;font-weight:600 !important;
  color:var(--pl-ink-900) !important;text-decoration:none !important;
}
.pl-nav__panel li a::after{
  content:"";width:8px;height:8px;flex:none;
  border-right:2px solid var(--pl-ink-400);
  border-bottom:2px solid var(--pl-ink-400);
  transform:rotate(-45deg);
  transition:border-color .2s var(--pl-ease),transform .2s var(--pl-ease);
}
.pl-nav__panel li a:hover::after,
.pl-nav__panel li.current-menu-item a::after{
  border-color:var(--pl-brand);transform:rotate(-45deg) translate(2px,2px);
}
.pl-nav__panel li.current-menu-item a,
.pl-nav__panel li.current_page_item a{color:var(--pl-brand-strong) !important}
.pl-nav__panel{padding:6px 22px 26px !important}
.pl-nav__panel .pl-btn{margin-top:8px}
.pl-nav__divider{margin:16px 0 14px !important}










@media (max-width:640px){
  /* Messbare-Performance-Karte: gleicher Abstand links und rechts */
  [style*="border-radius:18px"][style*="max-width:46ch"]{max-width:none !important;margin-right:0 !important}
}

@media (max-width:640px){
  /* Sektionstitel einheitlich gross */
  [data-r~="gauto"] h2{font-size:clamp(24px,6.8vw,30px) !important;line-height:1.12 !important;max-width:none !important}
}

@media (max-width:640px){
  /* Self-Booking: Icon ausblenden */
  .pl-sb-icon{display:none !important}

  /* Scalable-Demo: gleiche Breite wie die weisse Karte darueber */

  /* Scalable-Demo: Geraet volle Breite, Overlay lesbar */
}

@media (max-width:640px){
  /* Overlay lesbar */
  .pl-scal-overlay{left:8px !important;right:8px !important;top:24px !important;bottom:24px !important}
}

@media (max-width:640px){
  /* Scalable-Demo: Aussenkante bündig zur weissen Karte */
  #pl-scal-wrap{margin-left:-32px !important;margin-right:-32px !important}
}


@media (max-width:640px){
  /* Advertiser: schwebendes Label mobil ausblenden */
  .pl-badge-aufwand{display:none !important}
}

@media (max-width:640px){
  /* Advertiser: Abstand unter dem Self-Booking-CTA */
  .pl-sb-cta{display:block;padding-bottom:18px}
  /* Publisher: Labels unter dem Text, jedes auf volle Breite */
  .pl-pub-extra{grid-template-columns:1fr !important;gap:20px !important;padding:28px 22px !important}
  .pl-pub-labels{flex-direction:column !important;gap:10px !important;width:100% !important;margin-top:0 !important;align-items:stretch !important}
  .pl-pub-labels > span{width:100% !important;justify-content:flex-start !important;box-sizing:border-box !important}
}

@media (max-width:640px){
  /* Kontakt: Kontakt-Boxen auf volle Breite */
  .pl-contact-boxes{width:100% !important}
  .pl-contact-boxes > a{width:100% !important;box-sizing:border-box !important}
}

@media (max-width:640px){
  /* Kontakt: Boxen ueber die volle Breite */
  .pl-contact-col{width:100% !important}
  .pl-contact-boxes,.pl-contact-boxes > a{
    width:100% !important;max-width:none !important;box-sizing:border-box !important;margin:0 !important;
  }
}

/* ============================================================
   Mobil: alle mehrspaltigen Raster stapeln – auch ohne data-r
   ============================================================ */
@media (max-width:640px){
  .pl-page [style*="display:grid"]{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  .pl-page [style*="display:grid"] > *{
    grid-column:auto !important;
    grid-row:auto !important;
    min-width:0 !important;
  }
  /* Ausnahmen: bewusst mehrspaltige, kompakte Raster */
  .pl-page [data-r~="g6"],
  .pl-page [data-r~="g8"]{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .pl-page .pl-team-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:24px !important}

  /* Kein erzwungener Umbruch bei langen Woertern */
  .pl-page h1,.pl-page h2,.pl-page h3,.pl-page p,.pl-page span,.pl-page div{
    overflow-wrap:break-word;
    word-break:normal;
    hyphens:auto;
  }
  .pl-page h1,.pl-page h2,.pl-page h3{max-width:none !important}
}




/* Hero-Sektionen: einheitlicher Abstand zur Navigation */
.pl-page > section[style*="margin-top:calc"],
.pl-page > section[style*="margin-top:-"],
.pl-hero{
  min-height:calc(var(--pl-nav-h) + 380px);
  display:flex;
  align-items:center;
  padding-top:calc(var(--pl-nav-h) + 215px) !important;
  padding-bottom:15px !important;
}
.pl-page > section[style*="margin-top:calc"] > [data-r~="wrap"],
.pl-page > section[style*="margin-top:-"] > [data-r~="wrap"],
.pl-hero > .pl-wrap{width:100%}

.pl-single-hero{
  min-height:0 !important;
  display:block !important;
  padding-top:calc(var(--pl-nav-h) + 40px) !important;
  padding-bottom:110px !important;
}

/* Startseiten-Hero: eigene Abstaende (Inline-Werte gelten) */

/* Navigation: normale Strichstaerke, Body-Schrift */
.pl-nav .pl-nav__links a,
.pl-nav .pl-nav__links > li > a,
.pl-nav .pl-nav__links .current-menu-item > a,
.pl-nav .pl-nav__links .current_page_item > a{
  font-family:var(--pl-font-body) !important;
  font-weight:500 !important;
}

/* Navigation: leichte Schrift, keine Display-Font */
.pl-nav .pl-nav__links a,
.pl-nav .pl-nav__links a:link,
.pl-nav .pl-nav__links a:visited,
.pl-nav .pl-nav__links > li > a,
.pl-nav .pl-nav__links .current-menu-item > a,
.pl-nav .pl-nav__links .current_page_item > a,
.pl-nav__links a{
  font-family:var(--pl-font-body) !important;
  font-weight:400 !important;
  -webkit-font-smoothing:antialiased;
  letter-spacing:normal !important;
}

/* Publisher-Hero: geringeres unteres Padding */

/* Startseiten-Hero: Hoehe */
/* Publisher-Hero: geringes unteres Padding */

/* Advertiser-Hero: Inhalt vertikal zentriert */
body.page-template-advertiser .pl-page > section:first-of-type > [data-r~="wrap"],
body[class*="advertiser"] .pl-page > section:first-of-type > [data-r~="wrap"]{
  width:100% !important;
}

/* Advertiser-Hero: gleicher optischer Abstand oben und unten */
body.page-template-advertiser .pl-page > section:first-of-type,
body[class*="advertiser"] .pl-page > section:first-of-type{
  padding-top:calc(var(--pl-nav-h) + 215px) !important;
  padding-bottom:20px !important;
}

/* Werbeformate-Hero: eigene Abstaende */

/* Format-Zeilen auf der Startseite: Hover */
a[href^="/werbeformate/#"][style*="grid-template-columns:88px"]{
  transition:background .3s var(--pl-ease),padding-left .3s var(--pl-ease);
}
a[href^="/werbeformate/#"][style*="grid-template-columns:88px"]:hover{
  background:var(--pl-surface) !important;
}

/* Blog-Uebersicht und Archive: Hero mit Mindesthoehe */
body.blog .pl-page > section:first-of-type,
body.archive .pl-page > section:first-of-type,
body.search .pl-page > section:first-of-type{
  padding-top:calc(var(--pl-nav-h) + 165px) !important;
  padding-bottom:60px !important;
  min-height:calc(var(--pl-nav-h) + 300px) !important;
  display:flex !important;
  align-items:center !important;
}
body.blog .pl-page > section:first-of-type > .pl-wrap,
body.archive .pl-page > section:first-of-type > .pl-wrap,
body.search .pl-page > section:first-of-type > .pl-wrap{width:100%}
@media (max-width:640px){
  body.blog .pl-page > section:first-of-type,
  body.archive .pl-page > section:first-of-type,
  body.search .pl-page > section:first-of-type{
    padding-top:calc(var(--pl-nav-h) + 56px) !important;
    padding-bottom:32px !important;
    min-height:0 !important;
  }
}

@media (max-width:640px){
  /* 1. Format-Nummer bleibt einzeilig */
  .pl-page [style*="font-size:88px"]{
    font-size:56px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
  .pl-page [style*="display:flex;align-items:center;gap:20px;margin-bottom:26px"]{
    gap:14px !important;
    flex-wrap:nowrap !important;
  }

  /* 2. Messbare Performance: zwei Spalten sauber untereinander */
  .pl-page [style*="Messbare"] ~ *,
  .pl-page [style*="border-radius:18px"][style*="max-width:46ch"] [style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .pl-page [style*="border-radius:18px"] [style*="border-left:1px solid"]{
    border-left:none !important;
    border-top:1px solid var(--pl-border) !important;
    padding-left:0 !important;
    padding-top:16px !important;
  }

  /* 3. Werbeformate: Abstand zum CTA, keine runden Ecken bei voller Breite */
  body[class*="werbeformate"] .pl-demo-wrap{margin-top:32px !important}
  body[class*="werbeformate"] .pl-demo-wrap > [aria-hidden="true"]{border-radius:0 !important}
  body[class*="werbeformate"] .pl-demo-wrap [style*="border-radius:16px"]{border-radius:0 !important}

  /* 4. Vier Varianten: Titel und Inhalt sichtbar */
  .pl-page [style*="height:466px"]{height:auto !important;min-height:420px !important}
  .pl-page [style*="height:466px"] [aria-hidden="true"][style*="background:rgba(14,17,19"]{
    opacity:.35 !important;
  }
  .pl-page [style*="height:466px"] .pl-scal-overlay{
    top:20px !important;left:10px !important;right:10px !important;bottom:20px !important;
  }
}

@media (max-width:640px){
  /* Format-Nummer: Verlaufstext nicht beschneiden */
  .pl-page [style*="font-size:88px"]{
    font-size:52px !important;
    line-height:1.12 !important;
    padding:2px 4px 6px 0 !important;
    overflow:visible !important;
  }

  /* Werbeformate: mehr Abstand zum CTA, keine runden Ecken */
  body[class*="werbeformate"] .pl-demo-wrap{margin-top:56px !important}
  body[class*="werbeformate"] .pl-demo-wrap,
  body[class*="werbeformate"] .pl-demo-wrap > div,
  body[class*="werbeformate"] .pl-demo-wrap [style*="border-radius"]{
    border-radius:0 !important;
  }
}

@media (max-width:640px){
  /* Verbindungs-Pfeil ueberdeckt das Label – mobil ausblenden */
  .pl-page [style*="animation:plbob"]{display:none !important}
}

@media (max-width:640px){
  /* Vier Varianten: Overlay-Inhalt sichtbar */
  .pl-page [style*="height:466px"] [style*="left:20px;right:20px;top:36px;bottom:20px"]{
    left:10px !important;right:10px !important;top:26px !important;bottom:10px !important;
    z-index:6 !important;
  }
  .pl-page [style*="height:466px"] .pl-ovl{display:flex !important;opacity:1 !important}
  .pl-page [style*="height:466px"] .pl-slot{opacity:1 !important}
}

@media (max-width:640px){
  /* Vier Varianten: Overlay-Panel sichtbar machen */
  .pl-variant{height:440px !important}
  .pl-variant > div[style*="left:20px"]{
    left:8px !important;right:8px !important;top:24px !important;bottom:8px !important;
    z-index:8 !important;
  }
  .pl-variant .pl-ovl{display:flex !important}
}

@media (max-width:640px){
  /* Format-Nummer: Verlaufstext vollstaendig sichtbar */
  .pl-page [style*="font-size:88px"]{
    font-size:48px !important;
    line-height:1.3 !important;
    padding:6px 6px 10px 0 !important;
    display:inline-block !important;
    overflow:visible !important;
  }
  .pl-page [style*="display:flex;align-items:center;gap:20px;margin-bottom:26px"]{
    align-items:center !important;
    overflow:visible !important;
  }
}

@media (max-width:640px){
  /* 3. Pfeil-Zuschnitt entfernen (ueberdeckte das Label) */
  body[class*="werbeformate"] .pl-page section[style*="clip-path:polygon"]{
    clip-path:none !important;
    padding-top:56px !important;
  }

  /* 1. Native Advertorial: Abstand nach oben */
  body[class*="werbeformate"] .pl-demo-wrap{margin-top:40px !important}

  /* 2. Scalable-Demo: volle Breite ohne Aussenabstand */
  body[class*="werbeformate"] .pl-demo-scal{
    padding-left:0 !important;padding-right:0 !important;
  }
  body[class*="werbeformate"] .pl-demo-scal .pl-scal-device{border-radius:0 !important}

  /* 4. Vier Varianten: nur Titel und Text, keine Formatdarstellung */
  .pl-variant{display:none !important}
}

@media (max-width:640px){
  /* Vier Varianten: Beschreibung statt Formatdarstellung */
  .pl-variant-desc{display:block !important;text-align:center;margin:0 auto 32px !important}

  /* Native Advertorial: Abstand nach oben */
  body[class*="werbeformate"] .pl-page .pl-demo-wrap{margin-top:40px !important}

  /* Scalable-Demo: volle Breite */
  body[class*="werbeformate"] .pl-page .pl-demo-scal{
    padding-left:0 !important;padding-right:0 !important;margin-left:0 !important;margin-right:0 !important;
  }
  body[class*="werbeformate"] .pl-page .pl-demo-scal > div,
  body[class*="werbeformate"] .pl-page .pl-demo-scal .pl-scal-device{
    border-radius:0 !important;width:100% !important;max-width:none !important;
  }
}

@media (max-width:640px){
  /* Abstand zwischen CTA und Format-Demo */
  body[class*="werbeformate"] .pl-page .pl-demo-wrap,
  body[class*="werbeformate"] .pl-page .pl-demo-wrap.pl-demo-scal{
    margin-top:48px !important;
    padding-top:0 !important;
  }
}

@media (max-width:640px){
  .pl-fmt-demo{margin-top:48px !important}
}


@media (max-width:640px){
  /* Format-Karten: gleiche Breite fuer alle vier */
  [data-r~="card500"]{max-width:none !important;width:100% !important}
  /* Formate 02-04: gleicher oberer Abstand wie Advertorial */
  .pl-fmt-sec2{padding-top:56px !important}
}


@media (max-width:640px){
  /* Scalable-Demo: Verlaufsrahmen nicht seitlich ueberstehen lassen */
  .pl-fmt-demo [aria-hidden="true"][style*="inset:-30px -34px"]{
    inset:-18px -12px !important;
  }
  .pl-fmt-demo,
  .pl-fmt-demo > *,
  .pl-fmt-demo [data-r~="card500"]{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

}

@media (max-width:640px){
  /* Scalable-Demo: gleiche Breite wie die anderen Formate */
  .pl-scal-card{width:100% !important;max-width:none !important;padding:0 !important;box-sizing:border-box !important}
  .pl-scal-card > [aria-hidden="true"]{inset:-18px 0 !important}
  .pl-scal-card > div:not([aria-hidden]){width:100% !important}
}

@media (max-width:640px){
  /* Format-Karten: feste Inline-Breite aufheben */
  body[class*="werbeformate"] [style*="width:560px"]{
    width:100% !important;
    max-width:none !important;
  }
  body[class*="werbeformate"] .pl-fmt-demo{
    padding-left:12px !important;
    padding-right:12px !important;
  }
}


@media (max-width:640px){
  /* Scalable-Karte auf CTA-Breite */
  .pl-fmt-demo{padding-left:0 !important;padding-right:0 !important}
  .pl-scal-card{width:100% !important;max-width:none !important}
  .pl-scal-card > [aria-hidden="true"]{inset:-14px -6px !important}
}

@media (max-width:640px){
  /* Grid-Spalte der Scalable-Demo: Breitenbegrenzung aufheben */
  [data-r~="g2"][style*="minmax(0,640px)"]{
    grid-template-columns:1fr !important;
  }
  [data-r~="g2"][style*="minmax(0,640px)"] > *{min-width:0 !important;width:100% !important}
}

@media (max-width:640px){
  /* Individuelle Abstaende der Format-Demos */
  .pl-demo-scalable{margin-top:32px !important}
  .pl-demo-teaser,
  .pl-demo-video{margin-top:12px !important}
}

@media (max-width:640px){
  /* Hero: weniger Abstand zwischen Navigation und Inhalt */
  .pl-page > section[style*="margin-top:calc"],
  .pl-page > section[style*="margin-top:-"],
  .pl-hero{padding-top:calc(var(--pl-nav-h) + 100px) !important}
  body.blog .pl-page > section:first-of-type,
  body.archive .pl-page > section:first-of-type,
  body.search .pl-page > section:first-of-type{padding-top:calc(var(--pl-nav-h) + 28px) !important}

  /* Format-Demos: weiter verringerte Abstaende */
  .pl-demo-scalable{margin-top:20px !important}
  .pl-demo-teaser,
  .pl-demo-video{margin-top:4px !important}
}

@media (max-width:640px){
  /* Seiten-spezifische Hero-Abstaende mobil zuruecksetzen */
  body.page-template-advertiser .pl-page > section:first-child,
  body[class*="advertiser"] .pl-page > section:first-child,
  body.page-template-publisher .pl-page > section:first-child,
  body[class*="publisher"] .pl-page > section:first-child,
  body.page-template-werbeformate .pl-page > section:first-child,
  body[class*="werbeformate"] .pl-page > section:first-child,
  body[class*="werbeformate"] .pl-page > section:first-of-type{
    padding-top:calc(var(--pl-nav-h) + 100px) !important;
    padding-bottom:32px !important;
    min-height:0 !important;
  }
}

@media (max-width:640px){
  /* Startseite: Hero-Abstand oben */
  body.home .pl-page > section:first-of-type > [data-r~="wrap"],
  body.page-template-home .pl-page > section:first-of-type > [data-r~="wrap"]{
    padding-top:150px !important;
    padding-bottom:56px !important;
    min-height:0 !important;
  }
}

@media (max-width:640px){
  /* Karriere: Hero-Verlauf bis hinter die Navigation */
  body[class*="karriere"] .pl-page > section:first-of-type{
    margin-top:calc(-1 * var(--pl-nav-h)) !important;
    padding-top:calc(var(--pl-nav-h) + 100px) !important;
  }
  /* Foto-Grid: nur ein Bild zeigen */
  body[class*="karriere"] [data-r~="g5"]{grid-template-columns:1fr !important}
  body[class*="karriere"] [data-r~="g5"] > div:not(:first-child){display:none !important}
  body[class*="karriere"] [data-r~="g5"] > div:first-child{min-height:220px !important}
}



@media (max-width:640px){
  /* Karriere: Abstand Navigation zu Hero-Inhalt */
  body[class*="karriere"] .pl-page > section:first-of-type,
  body.pl-has-fallback-header main.pl-page > section[style*="margin-top:calc"]:first-child{
    padding-top:calc(var(--pl-nav-h) + 100px) !important;
  }
}

@media (max-width:640px){
  /* Spezifikationen: alle Spec-Boxen auf volle Breite */
  body[class*="spezifikationen"] .pl-page [style*="border-radius:16px"],
  body[class*="spezifikationen"] .pl-page [style*="border-radius:14px"],
  body[class*="spezifikationen"] .pl-page [style*="border-radius:12px"]{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  body[class*="spezifikationen"] .pl-page [style*="display:grid"]{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
}

/* ============================================================
   Desktop: Hero-Abstaende (ab 1025px)
   ============================================================ */
@media (min-width:1025px){
  /* Grundwert fuer alle Seiten */
  .pl-page > section[style*="margin-top:calc"]:first-of-type,
  .pl-page > section[style*="margin-top:-"]:first-of-type{
    padding-top:calc(var(--pl-nav-h) + 215px) !important;
    padding-bottom:15px !important;
    min-height:0 !important;
    display:block !important;
  }

  /* Startseite */
  body.home .pl-page > section:first-of-type{
    padding-top:var(--pl-nav-h) !important;
    padding-bottom:0 !important;
  }
  body.home .pl-page > section:first-of-type > [data-r~="wrap"]{
    padding-top:240px !important;
    padding-bottom:140px !important;
    min-height:900px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
  }

  /* Advertiser */
  body[class*="advertiser"] .pl-page > section:first-of-type{
    padding-top:calc(var(--pl-nav-h) + 215px) !important;
    padding-bottom:20px !important;
  }

  /* Publisher */
  body[class*="publisher"] .pl-page > section:first-of-type{
    padding-top:calc(var(--pl-nav-h) + 175px) !important;
    padding-bottom:80px !important;
  }
  body[class*="publisher"] .pl-page > section:first-of-type > [data-r~="wrap"]{
    padding-bottom:0 !important;
  }

  /* Werbeformate */
  body[class*="werbeformate"] .pl-page > section:first-of-type{
    padding-top:calc(var(--pl-nav-h) + 165px) !important;
    padding-bottom:10px !important;
  }
}

/* ============================================================
   Tablet (641px – 1024px)
   ============================================================ */






/* ============================================================
   Tablet (641px – 1024px): Layout wie Mobil, nur groessere Typo
   ============================================================ */

/* ============================================================
   Tablet (641px – 1024px)
   ============================================================ */
@media (min-width:641px) and (max-width:1024px){
  /* Format-Demos unveraendert lassen */
  .pl-fmt-demo,
  .pl-fmt-demo *{width:auto !important;max-width:none}
  .pl-fmt-demo [data-r~="card500"]{width:100% !important;max-width:560px !important;margin:0 auto !important}

  /* Vier Varianten: zwei pro Reihe */
  body[class*="werbeformate"] .pl-page [data-r~="g4"],
  body[class*="werbeformate"] .pl-page [style*="repeat(4,minmax(0,1fr))"],
  body[class*="werbeformate"] .pl-page [style*="repeat(4,1fr)"]{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px !important;
  }

  /* Zweispaltige Bloecke: immer Text zuerst, Bild darunter */
  .pl-page [data-r~="g2"]{
    display:flex !important;
    flex-direction:column !important;
    gap:32px !important;
  }
  .pl-page [data-r~="g2"] > *{order:1;width:100% !important;max-width:none !important}
  .pl-page [data-r~="g2"] > div:has(.pl-slot),
  .pl-page [data-r~="g2"] > div:has(> svg),
  .pl-page [data-r~="g2"] > div:has([style*="aspect-ratio"]),
  .pl-page [data-r~="g2"] > div:has([style*="animation:plfloat"]),
  .pl-page [data-r~="g2"] > .pl-fmt-demo,
  .pl-page [data-r~="g2"] > div:has(.pl-fmt-demo){order:2}

  /* Drei- und Vierspalter auf zwei Spalten */
  .pl-page [data-r~="g3"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:24px !important}
  .pl-page [data-r~="g4"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:24px !important}
  .pl-page [data-r~="g8"]{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
  .pl-page [data-r~="g12"] > *{grid-column:span 6 !important}
  .pl-page [data-r~="g5"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .pl-page [data-r~="g5"] > div{grid-row:auto !important;grid-column:auto !important;min-height:200px}

  /* Karten und Boxen ohne Breitenbegrenzung */
  .pl-page section [style*="max-width:46ch"],
  .pl-page section [style*="border-radius:16px"],
  .pl-page section [style*="border-radius:18px"],
  .pl-page section [style*="border-radius:20px"],
  .pl-page section [style*="border-radius:22px"]{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  /* Spec-Zeilen und Kontaktboxen */
  .pl-page section [style*="grid-template-columns:200px"]{grid-template-columns:160px 1fr !important}
  .pl-contact-col,.pl-contact-boxes,.pl-contact-boxes > a{width:100% !important;max-width:none !important}

  /* Publisher-Zusatzleistungen */
  .pl-pub-extra{grid-template-columns:1fr !important;gap:24px !important}
  .pl-pub-labels{flex-direction:row !important;flex-wrap:wrap !important;gap:10px !important;margin-top:16px !important}

  /* Hero-Grafiken ausblenden, wo sie zu eng werden */
  .pl-wf-hero-art{display:none !important}

  /* Sektions-Rhythmus */
  .pl-page > section{padding-top:80px !important;padding-bottom:80px !important}
  .pl-page > section:first-of-type{
    padding-top:calc(var(--pl-nav-h) + 160px) !important;
    padding-bottom:0 !important;
    min-height:0 !important;
    display:block !important;
  }
  body.home .pl-page > section:first-of-type{padding-top:var(--pl-nav-h) !important;padding-bottom:0 !important}
  body.home .pl-page > section:first-of-type > [data-r~="wrap"]{
    padding-top:150px !important;padding-bottom:80px !important;min-height:0 !important;
  }

  /* Typografie etwas kompakter */
  .pl-page h1{font-size:clamp(38px,5.4vw,52px) !important}
  .pl-page h2{font-size:clamp(28px,4vw,38px) !important}
}

/* ============================================================
   Tablet-Feinschliff (641px – 1024px)
   ============================================================ */
@media (min-width:641px) and (max-width:1024px){
  /* 1. Kundenlogos deutlich kleiner */
  .pl-logo-cell{height:38px !important}
  .pl-page [data-r~="g6"]{gap:26px 22px !important}


  /* 3. Scalable-Overlay wie im Desktop-Layout */
  .pl-page .pl-scal-device{height:auto !important;min-height:0 !important}
  .pl-page .pl-scal-overlay{
    position:absolute !important;
    top:44px !important;left:74px !important;right:74px !important;bottom:44px !important;
    border-radius:16px !important;
    box-shadow:0 30px 64px -16px rgba(14,17,19,0.5) !important;
    display:flex !important;
    flex-direction:column !important;
  }
  .pl-page .pl-scal-frame > [aria-hidden="true"]{display:block !important}
  .pl-page .pl-pubchrome{display:flex !important}
}

@media (min-width:641px) and (max-width:1024px){

  /* Scalable-Demo: Desktop-Struktur erzwingen */
  .pl-page .pl-scal-device{
    height:680px !important;min-height:0 !important;
    border-radius:16px !important;
    display:flex !important;flex-direction:column !important;
  }
  .pl-page .pl-scal-frame{position:relative !important;flex:1 !important;overflow:hidden !important;display:block !important}
  .pl-page .pl-scal-frame > *{display:block !important}
  .pl-page .pl-scal-overlay{
    position:absolute !important;
    top:44px !important;left:74px !important;right:74px !important;bottom:44px !important;
    width:auto !important;max-width:none !important;
    border-radius:16px !important;
    box-shadow:0 30px 64px -16px rgba(14,17,19,0.5) !important;
    display:flex !important;flex-direction:column !important;
    overflow:hidden !important;
  }
}

@media (min-width:641px) and (max-width:1024px){
}

@media (min-width:641px) and (max-width:1024px){
  /* Scalable-Demo: mehr Hoehe, Overlay vollstaendig sichtbar */
  .pl-page .pl-scal-device{height:1000px !important}
  .pl-page .pl-scal-overlay{
    top:36px !important;left:56px !important;right:56px !important;bottom:36px !important;
  }
  .pl-page .pl-scal-overlay > *{flex:none}
}

@media (min-width:641px) and (max-width:1024px){
  /* Medien-Badge: kompakt, Hoehe nach Inhalt */
  .pl-page .pl-media-badge,
  .pl-page div.pl-media-badge{
    width:max-content !important;
    max-width:52% !important;
    height:auto !important;
    min-height:0 !important;
    inset:auto !important;
    right:-10px !important;
    padding:12px 18px !important;
    box-sizing:border-box !important;
    display:block !important;
  }
  .pl-page .pl-demo-wrap > .pl-media-badge{top:96px !important}
  .pl-page #pl-scal-wrap > .pl-media-badge{bottom:52px !important}

  /* Scalable-Demo: Overlay vollstaendig */
  .pl-page .pl-scal-device{height:1150px !important}
  .pl-page .pl-scal-overlay{
    top:30px !important;left:44px !important;right:44px !important;bottom:30px !important;
  }
}

@media (min-width:641px) and (max-width:1024px){
  /* Badge: nie ueber die volle Hoehe ziehen */
  .pl-page #pl-scal-wrap > .pl-media-badge,
  .pl-page .pl-demo-wrap > .pl-media-badge{
    top:auto !important;
    height:auto !important;
    align-self:flex-start !important;
  }
  .pl-page #pl-scal-wrap > .pl-media-badge{bottom:44px !important;right:-10px !important}
  .pl-page .pl-demo-wrap > .pl-media-badge{top:96px !important;bottom:auto !important;right:-10px !important}

  /* Overlay kompakter, Bild flacher */
  .pl-page .pl-scal-device{height:820px !important}
  .pl-page .pl-scal-overlay{top:30px !important;bottom:30px !important}
}

@media (min-width:641px) and (max-width:1024px){
  /* Overlay: vollstaendig sichtbar, nichts abgeschnitten */
  .pl-page .pl-scal-device{height:960px !important}
  .pl-page .pl-scal-overlay{
    top:34px !important;left:40px !important;right:40px !important;bottom:34px !important;
    overflow:hidden !important;
  }
  .pl-page .pl-scal-overlay *{max-width:100% !important;box-sizing:border-box !important}
  .pl-page .pl-scal-overlay img{width:100% !important;height:auto !important;object-fit:cover !important}
}

@media (min-width:641px) and (max-width:1024px){
  /* Overlay: rechter Abstand identisch zum linken */
  .pl-page .pl-scal-overlay{
    left:40px !important;
    right:40px !important;
    width:auto !important;
    max-width:none !important;
  }
  .pl-page .pl-scal-overlay > *{width:100% !important}
}

@media (min-width:641px) and (max-width:1024px){
  /* Overlay: Breite explizit begrenzen, rechter Abstand sichtbar */
  .pl-page .pl-scal-frame{position:relative !important;overflow:hidden !important}
  .pl-page .pl-scal-overlay,
  .pl-page div.pl-scal-overlay{
    left:40px !important;
    right:auto !important;
    width:calc(100% - 80px) !important;
    max-width:calc(100% - 80px) !important;
    box-sizing:border-box !important;
  }
}

@media (min-width:641px) and (max-width:1024px){
  /* Overlay-Hoehe an den Inhalt anpassen */
  .pl-page .pl-scal-device{height:800px !important}
}

@media (min-width:641px) and (max-width:1024px){
  /* Studio-Leistungen: mehr Abstand zwischen den Bloecken */
  .pl-page [data-r~="g2"]{margin-bottom:72px !important}
  .pl-page [data-r~="g2"]:last-child{margin-bottom:0 !important}
}

@media (min-width:641px) and (max-width:1024px){
  /* Kennzahl-Badges der Studio-Leistungen: kompakt, nicht volle Breite */
  .pl-page [data-r~="g2"] > div > div[style*="position:absolute"][style*="background:#fff"][style*="border-radius:16px"]{
    width:max-content !important;
    max-width:60% !important;
    height:auto !important;
    right:auto !important;
    box-sizing:border-box !important;
  }
}

@media (min-width:641px) and (max-width:1024px){
  /* "So funktioniert's": Padding reduzieren */
  .pl-page > section[style*="padding:1px 0 104px"]{padding-top:1px !important;padding-bottom:48px !important}
  .pl-page > section[style*="padding:61px 0 104px"]{padding-top:24px !important;padding-bottom:48px !important}
}

@media (min-width:641px) and (max-width:1024px){
  /* Werbeformate: Hero-Abstaende */
  body[class*="werbeformate"] .pl-page > section:first-of-type{
    padding-top:calc(var(--pl-nav-h) + 120px) !important;
    padding-bottom:64px !important;
  }
}

@media (min-width:641px) and (max-width:1024px){
  /* Hero: mehr oben, weniger unten */
  body[class*="werbeformate"] .pl-page > section:first-of-type{
    padding-top:calc(var(--pl-nav-h) + 160px) !important;
    padding-bottom:32px !important;
  }
  /* Abstand zum Format-Demo nur bei Native Advertorial */
  body[class*="werbeformate"] .pl-page .pl-demo-advertorial{margin-top:56px !important}
}

@media (min-width:641px) and (max-width:1024px){
  body[class*="werbeformate"] .pl-page > section:first-of-type{
    padding-top:calc(var(--pl-nav-h) + 200px) !important;
    padding-bottom:12px !important;
  }
  body[class*="werbeformate"] .pl-page .pl-demo-advertorial{margin-top:88px !important}
}

@media (min-width:641px) and (max-width:1024px){
  /* Publisher: Hero-Padding unten halbieren */
  body[class*="publisher"] .pl-page > section:first-of-type{padding-bottom:15px !important}
  /* Native Advertorial: groesserer Abstand zum Format */
  body[class*="werbeformate"] .pl-page .pl-demo-advertorial{margin-top:90px !important}
}

@media (min-width:641px) and (max-width:1024px){
  body[class*="publisher"] .pl-page > section:first-of-type{padding-bottom:0 !important}
}

@media (min-width:641px) and (max-width:1024px){
  body[class*="publisher"] .pl-page > section:first-of-type{
    min-height:0 !important;
    display:block !important;
  }
}

@media (min-width:641px) and (max-width:1024px){
  /* Karriere-Hero: nur zwei Bilder zeigen */
  body[class*="karriere"] .pl-page [data-r~="g5"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  body[class*="karriere"] .pl-page [data-r~="g5"] > div:nth-child(n+3){display:none !important}
}

@media (min-width:641px) and (max-width:1024px){
  /* Publisher-Hero: Umsatz-Grafik ausblenden */
  body[class*="publisher"] .pl-page > section:first-of-type [data-r~="g2"] > div:last-child{display:none !important}
}

@media (max-width:640px){
  /* Publisher-Hero: Umsatz-Grafik ausblenden */
  body[class*="publisher"] .pl-page > section:first-of-type [data-r~="g2"] > div:last-child{display:none !important}
  /* Startseite: mehr Abstand zwischen publuence-AI-Textlink und Grafik */
  body.home .pl-page a[href*="publuence.ai"]{
    display:inline-flex !important;
    margin-bottom:36px !important;
  }
}

/* Aktiver Menuepunkt leicht kraeftiger */
.pl-nav .pl-nav__links .current-menu-item > a,
.pl-nav .pl-nav__links .current_page_item > a,
.pl-nav .pl-nav__links .current-menu-ancestor > a{
  font-weight:600 !important;
}

/* Leerer Elementor-Inhaltsbereich erzeugt keinen weissen Block */
.pl-page-content:empty{display:none !important}
.pl-page-content > .pl-wrap:empty{display:none !important}
.pl-page-content{padding:0 !important}
.pl-page-content:has(> .pl-wrap > *){padding:72px 0 110px !important}

/* Leerer Inhaltsbereich und Seitentitel unterhalb des Designs ausblenden */
.pl-page-content{padding:0 !important;min-height:0 !important}
.pl-page-content > .pl-wrap{padding-top:0 !important;padding-bottom:0 !important}
.pl-elementor-slot{display:none !important}
.pl-page > .entry-title,
.pl-page .pl-page-content .entry-title,
.pl-page-content .page-title,
.pl-page-content h1.entry-title{display:none !important}
