/* ==========================================================================
   PixelForge – Styles für die erweiterte Bausteine-Bibliothek
   (Content/Text, Team/Über-uns, Conversion/CTA Bausteine)
   Wird zusätzlich zu main.css geladen.
   ========================================================================== */

/* ---------- BILD + TEXT ---------- */
.pf-bild-text{padding:5rem 2rem}
.pf-bt-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.pf-bt-reverse .pf-bt-grid{direction:rtl}
.pf-bt-reverse .pf-bt-content{direction:ltr}
.pf-bt-image img{width:100%;border-radius:var(--pf-radius-lg,20px);display:block}
.pf-bt-content .pf-sh2{margin-top:.5rem}

/* ---------- VIDEO ---------- */
.pf-video-block{padding:5rem 2rem}
.pf-video-wrap{
	max-width:900px;margin:2rem auto 0;border-radius:20px;overflow:hidden;
	box-shadow:0 30px 80px rgba(0,0,0,.5);position:relative;
}
.pf-video-wrap iframe{width:100%;aspect-ratio:16/9;display:block;border:none}

/* ---------- ZITAT ---------- */
.pf-zitat-block{padding:5rem 2rem;text-align:center}
.pf-zitat-text{
	font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(1.4rem,3vw,2.2rem);
	font-weight:700;line-height:1.4;max-width:800px;margin:0 auto 1.5rem;color:var(--pf-text,#f4f4f4);
}
.pf-zitat-text::before{content:'\201C';color:var(--pf-blue,#3B82F6);margin-right:.2rem}
.pf-zitat-text::after{content:'\201D';color:var(--pf-blue,#3B82F6);margin-left:.2rem}
.pf-zitat-author{font-size:.9rem;color:var(--pf-text2,#a0a0a0);font-weight:600}

/* ---------- TRENNER ---------- */
.pf-trenner-block{padding:2.5rem 2rem;display:flex;align-items:center;justify-content:center;gap:1.5rem}
.pf-trenner-line{flex:1;max-width:200px;height:1px;background:linear-gradient(90deg,transparent,var(--pf-border2,rgba(255,255,255,.15)),transparent)}
.pf-trenner-text{font-size:.8rem;color:var(--pf-text3,#555);text-transform:uppercase;letter-spacing:.15em;font-weight:600;white-space:nowrap}

/* ---------- ZWEI-SPALTEN-TEXT ---------- */
.pf-zwei-spalten-block{padding:5rem 2rem}
.pf-zs-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.pf-zs-col h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.3rem;font-weight:700;margin-bottom:.75rem;color:var(--pf-text,#f4f4f4)}
.pf-zs-col p{color:var(--pf-text2,#a0a0a0);line-height:1.7}

/* ---------- AKKORDEON (generisch) ---------- */
.pf-akkordeon-block{padding:5rem 2rem}
.pf-akk-list{max-width:760px;margin:2rem auto 0}

/* ---------- GALERIE ---------- */
.pf-galerie-block{padding:5rem 2rem}
.pf-galerie-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.pf-galerie-item{border-radius:14px;overflow:hidden;aspect-ratio:1;background:var(--pf-surface,#1a1a1a)}
.pf-galerie-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.pf-galerie-item:hover img{transform:scale(1.06)}

/* ---------- LOGO-LEISTE ---------- */
.pf-logo-leiste-block{padding:3.5rem 2rem;border-top:1px solid var(--pf-border,rgba(255,255,255,.07));border-bottom:1px solid var(--pf-border,rgba(255,255,255,.07))}
.pf-logo-label{text-align:center;font-size:.75rem;color:var(--pf-text3,#555);text-transform:uppercase;letter-spacing:.15em;margin-bottom:2rem;font-weight:600}
.pf-logo-row{display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap;max-width:1000px;margin:0 auto}
.pf-logo-row img{height:32px;width:auto;opacity:.5;filter:grayscale(1);transition:opacity .3s}
.pf-logo-row img:hover{opacity:.9}

/* ---------- TEAM-GRID ---------- */
.pf-team-grid-block{padding:5rem 2rem}
.pf-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,240px));gap:1.5rem;margin-top:3rem;justify-content:center}
.pf-team-card{text-align:center}
.pf-team-photo{
	width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;margin-bottom:1rem;
	background:linear-gradient(135deg,var(--pf-blue-d,#1d4ed8),var(--pf-blue-l,#60a5fa));
}
.pf-team-photo img{width:100%;height:100%;object-fit:cover}
.pf-team-name{font-weight:700;font-size:1rem;margin-bottom:.2rem;color:var(--pf-text,#f4f4f4)}
.pf-team-role{font-size:.82rem;color:var(--pf-blue-l,#60a5fa);margin-bottom:.5rem}
.pf-team-bio{font-size:.82rem;color:var(--pf-text2,#a0a0a0);line-height:1.6}

/* ---------- TEAM-SPOTLIGHT ---------- */
.pf-team-spotlight-block{padding:5rem 2rem}
.pf-spotlight-grid{display:grid;grid-template-columns:280px 1fr;gap:2.5rem;align-items:center;max-width:900px;margin:0 auto}
.pf-spotlight-photo{width:100%;border-radius:20px;overflow:hidden;aspect-ratio:1}
.pf-spotlight-photo img{width:100%;height:100%;object-fit:cover}
.pf-spotlight-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.5rem;font-weight:800;margin-bottom:.2rem;color:var(--pf-text,#f4f4f4)}
.pf-spotlight-role{color:var(--pf-blue-l,#60a5fa);font-weight:600;margin-bottom:1rem}
.pf-spotlight-bio{color:var(--pf-text2,#a0a0a0);line-height:1.75}

/* ---------- FIRMENWERTE ---------- */
.pf-firmenwerte-block{padding:5rem 2rem}
.pf-fw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:3rem}
.pf-fw-card{text-align:center;padding:1.5rem}
.pf-fw-icon{font-size:2rem;margin-bottom:.75rem}
.pf-fw-title{font-weight:700;margin-bottom:.4rem;color:var(--pf-text,#f4f4f4)}
.pf-fw-desc{font-size:.85rem;color:var(--pf-text2,#a0a0a0);line-height:1.6}

/* ---------- ZAHLEN-ZEITSTRAHL (Firmengeschichte) ---------- */
.pf-zahlen-zeitstrahl-block{padding:5rem 2rem}
.pf-zz-list{max-width:700px;margin:3rem auto 0;position:relative}
.pf-zz-list::before{content:'';position:absolute;left:60px;top:0;bottom:0;width:1px;background:var(--pf-border,rgba(255,255,255,.1))}
.pf-zz-item{display:grid;grid-template-columns:120px 1fr;gap:1.5rem;margin-bottom:2rem;position:relative}
.pf-zz-year{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;color:var(--pf-blue-l,#60a5fa);font-size:1.1rem;text-align:right}
.pf-zz-content{padding-left:1.5rem;border-left:2px solid var(--pf-blue,#3B82F6)}
.pf-zz-title{font-weight:700;margin-bottom:.3rem;color:var(--pf-text,#f4f4f4)}
.pf-zz-desc{font-size:.85rem;color:var(--pf-text2,#a0a0a0);line-height:1.6}

/* ---------- STATISTIK-REIHE (generisch) ---------- */
.pf-statistik-reihe-block{padding:4rem 2rem}
.pf-sr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:1000px;margin:0 auto}
.pf-sr-item{text-align:center}
.pf-sr-num{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--pf-blue-l,#60a5fa)}
.pf-sr-label{font-size:.85rem;color:var(--pf-text2,#a0a0a0);margin-top:.3rem}

/* ---------- ÜBER-UNS-HERO ---------- */
.pf-ueber-uns-hero-block{padding:7rem 2rem 5rem}
.pf-uuh-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:1100px;margin:0 auto}
.pf-uuh-image{border-radius:24px;overflow:hidden}
.pf-uuh-image img{width:100%;display:block}
.pf-uuh-heading{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:800;margin-bottom:1.25rem;color:var(--pf-text,#f4f4f4)}
.pf-uuh-text{color:var(--pf-text2,#a0a0a0);line-height:1.8;font-size:1.05rem}

/* ---------- NEWSLETTER ---------- */
.pf-newsletter-block{padding:4rem 2rem}
.pf-nl-box{
	max-width:700px;margin:0 auto;text-align:center;padding:3rem 2rem;
	background:linear-gradient(145deg,rgba(59,130,246,.12),rgba(29,78,216,.05));
	border:1px solid rgba(59,130,246,.25);border-radius:24px;
}
.pf-nl-heading{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.6rem;font-weight:800;margin-bottom:.5rem;color:var(--pf-text,#f4f4f4)}
.pf-nl-text{color:var(--pf-text2,#a0a0a0);margin-bottom:1.5rem}
.pf-nl-form{display:flex;gap:.75rem;max-width:420px;margin:0 auto;flex-wrap:wrap}
.pf-nl-form input{
	flex:1;min-width:200px;background:var(--pf-bg3,#141414);border:1px solid var(--pf-border2,rgba(255,255,255,.13));
	border-radius:50px;padding:.8rem 1.25rem;color:var(--pf-text,#f4f4f4);font-size:.9rem;outline:none;
}
.pf-nl-form input:focus{border-color:var(--pf-blue,#3B82F6)}
.pf-nl-form button{
	background:var(--pf-blue,#3B82F6);color:#fff;border:none;padding:.8rem 1.75rem;
	border-radius:50px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .3s;white-space:nowrap;
}
.pf-nl-form button:hover{background:var(--pf-blue-l,#60a5fa)}
.pf-nl-msg{font-size:.82rem;margin-top:.75rem;min-height:1.2em;text-align:center}
.pf-nl-msg.pf-success{color:#4ade80}
.pf-nl-msg.pf-error{color:#f87171}

/* ---------- BANNER-CTA (schmal) ---------- */
.pf-banner-cta-block{
	background:linear-gradient(90deg,var(--pf-blue-d,#1d4ed8),var(--pf-blue,#3B82F6));
	padding:1.25rem 2rem;
}
.pf-bc-inner{
	max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;
	gap:1.5rem;flex-wrap:wrap;
}
.pf-bc-text{color:#fff;font-weight:600;font-size:.95rem}
.pf-bc-btn{
	background:#fff;color:var(--pf-blue-d,#1d4ed8);padding:.6rem 1.4rem;border-radius:50px;
	font-weight:700;font-size:.85rem;text-decoration:none;white-space:nowrap;transition:transform .3s;
}
.pf-bc-btn:hover{transform:translateY(-2px)}

/* ---------- GROSSER CTA ---------- */
.pf-grosser-cta-block{padding:6rem 2rem;text-align:center;position:relative;overflow:hidden}
.pf-gc-bg{
	position:absolute;inset:0;
	background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(59,130,246,.15),transparent 70%);
}
.pf-gc-content{position:relative;z-index:1;max-width:700px;margin:0 auto}
.pf-gc-heading{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;margin-bottom:1rem;color:var(--pf-text,#f4f4f4)}
.pf-gc-text{color:var(--pf-text2,#a0a0a0);margin-bottom:2rem;font-size:1.05rem}
.pf-gc-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ---------- PREISTABELLE / VERGLEICHSTABELLE ---------- */
.pf-preistabelle-block{padding:5rem 2rem;overflow-x:auto}
.pf-pt-table{width:100%;max-width:760px;margin:2rem auto 0;border-collapse:collapse;table-layout:fixed}
.pf-pt-table th,.pf-pt-table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--pf-border,rgba(255,255,255,.08))}
.pf-pt-table th:first-child,.pf-pt-table td:first-child{width:42%;text-align:left}
.pf-pt-table th:not(:first-child),.pf-pt-table td:not(:first-child){width:auto;text-align:center}
.pf-pt-table th{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;color:var(--pf-text,#f4f4f4);background:var(--pf-surface,#1a1a1a)}
.pf-pt-table th:first-child{border-radius:12px 0 0 0}
.pf-pt-table th:last-child{border-radius:0 12px 0 0}
.pf-pt-table td{color:var(--pf-text2,#a0a0a0);font-size:.9rem}
.pf-pt-table .pf-pt-check{color:#4ade80;text-align:center}
.pf-pt-table .pf-pt-cross{color:#555;text-align:center}
.pf-pt-table tr:nth-child(odd) td{background:rgba(255,255,255,.015)}

/* Mobile: kompaktere Darstellung, damit Spaltennamen wie "Basic + Ads"
   nicht unschön umbrechen und die Tabelle nicht am Bildschirmrand klebt. */
@media(max-width:600px){
  .pf-preistabelle-block{padding:3rem 1rem;overflow-x:visible}
  .pf-pt-table{font-size:.78rem}
  .pf-pt-table th,.pf-pt-table td{padding:.65rem .35rem}
  .pf-pt-table th:first-child,.pf-pt-table td:first-child{width:30%}
  .pf-pt-table th{font-size:.68rem;letter-spacing:-.01em;white-space:normal;word-break:break-word;line-height:1.3;vertical-align:middle}
}
@media(max-width:420px){
  .pf-pt-table{font-size:.7rem}
  .pf-pt-table th,.pf-pt-table td{padding:.55rem .25rem}
  .pf-pt-table th{font-size:.6rem}
}
.pf-pt-highlight{background:rgba(59,130,246,.08)!important}

/* ---------- COUNTDOWN ---------- */
.pf-countdown-block{padding:4rem 2rem;text-align:center}
.pf-cd-heading{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.5rem;font-weight:800;margin-bottom:1.5rem;color:var(--pf-text,#f4f4f4)}
.pf-cd-timer{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.pf-cd-unit{
	background:var(--pf-surface,#1a1a1a);border:1px solid var(--pf-border,rgba(255,255,255,.08));
	border-radius:14px;padding:1rem 1.25rem;min-width:80px;
}
.pf-cd-num{font-family:'Plus Jakarta Sans',sans-serif;font-size:2rem;font-weight:800;color:var(--pf-blue-l,#60a5fa)}
.pf-cd-label{font-size:.7rem;color:var(--pf-text3,#555);text-transform:uppercase;letter-spacing:.1em;margin-top:.25rem}

/* ---------- SOCIAL-PROOF-LEISTE ---------- */
.pf-social-proof-block{padding:2.5rem 2rem;border-top:1px solid var(--pf-border,rgba(255,255,255,.07));border-bottom:1px solid var(--pf-border,rgba(255,255,255,.07))}
.pf-sp-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:2.5rem;flex-wrap:wrap;text-align:center}
.pf-sp-item{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--pf-text2,#a0a0a0)}
.pf-sp-item strong{color:var(--pf-text,#f4f4f4)}
.pf-sp-stars{color:#f59e0b}

/* ---------- VORHER/NACHHER ---------- */
.pf-vorher-nachher-block{padding:5rem 2rem}
.pf-vn-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:900px;margin:2rem auto 0}
.pf-vn-col{position:relative;border-radius:16px;overflow:hidden}
.pf-vn-col img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}
.pf-vn-label{
	position:absolute;top:1rem;left:1rem;background:rgba(9,9,9,.7);color:#fff;
	font-size:.75rem;font-weight:700;padding:.3rem .9rem;border-radius:20px;text-transform:uppercase;letter-spacing:.05em;
}

/* ---------- FEATURE-HIGHLIGHT ---------- */
.pf-feature-highlight-block{padding:5rem 2rem}
.pf-fh-box{
	max-width:900px;margin:0 auto;display:flex;align-items:center;gap:2.5rem;
	background:var(--pf-surface,#1a1a1a);border:1px solid var(--pf-border,rgba(255,255,255,.08));
	border-radius:24px;padding:2.5rem;
}
.pf-fh-icon{
	width:80px;height:80px;border-radius:20px;background:rgba(59,130,246,.12);
	display:flex;align-items:center;justify-content:center;font-size:2.5rem;flex-shrink:0;
}
.pf-fh-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.4rem;font-weight:800;margin-bottom:.5rem;color:var(--pf-text,#f4f4f4)}
.pf-fh-desc{color:var(--pf-text2,#a0a0a0);line-height:1.7}

/* ==========================================================================
   RESPONSIVE für die neue Bausteine-Bibliothek
   ========================================================================== */
@media(max-width:900px){
	.pf-bt-grid{grid-template-columns:1fr}
	.pf-bt-reverse .pf-bt-grid{direction:ltr}
	.pf-zs-grid{grid-template-columns:1fr;gap:2rem}
	.pf-galerie-grid{grid-template-columns:repeat(2,1fr)}
	.pf-fw-grid{grid-template-columns:repeat(2,1fr)}
	.pf-sr-grid{grid-template-columns:repeat(2,1fr)}
	.pf-spotlight-grid{grid-template-columns:1fr;text-align:center}
	.pf-spotlight-photo{max-width:220px;margin:0 auto}
	.pf-uuh-grid{grid-template-columns:1fr}
	.pf-vn-grid{grid-template-columns:1fr}
	.pf-fh-box{flex-direction:column;text-align:center}
}
@media(max-width:600px){
	.pf-galerie-grid{grid-template-columns:1fr}
	.pf-fw-grid{grid-template-columns:1fr}
	.pf-sr-grid{grid-template-columns:1fr 1fr}
	.pf-zz-item{grid-template-columns:1fr}
	.pf-zz-year{text-align:left}
	.pf-zz-list::before{display:none}
	.pf-bc-inner{flex-direction:column;text-align:center}
	.pf-cd-timer{gap:.6rem}
	.pf-cd-unit{min-width:65px;padding:.75rem}
	.pf-cd-num{font-size:1.5rem}
}
