:root {
	--wd-text-font: "Inter", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: #767676;
	--wd-text-font-size: 14px;
	--wd-title-font: "Barlow Condensed", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 600;
	--wd-title-transform: uppercase;
	--wd-title-color: #242424;
	--wd-entities-title-font: "Inter", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 500;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Inter", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Barlow Condensed", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Inter", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 400;
	--wd-header-el-transform: uppercase;
	--wd-header-el-font-size: 13px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(13,131,200);
	--wd-alternative-color: rgb(10,180,255);
	--btn-default-bgcolor: #f7f7f7;
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: rgb(13,131,200);
	--btn-accented-bgcolor-hover: rgb(13,131,200);
	--wd-form-brd-width: 2px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: rgb(10,180,255);
	--notices-warning-color: #fff;
	--wd-link-color: #333333;
	--wd-link-color-hover: #242424;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: rgb(255,255,255);
	background-image: url(https://padel4players.com/wp-content/uploads/2021/09/retail-popup-bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
}
:is(.woodmart-archive-shop .wd-builder-off,.wd-wishlist-content,.related-and-upsells,.cart-collaterals,.wd-shop-product,.wd-fbt) .wd-products-with-bg, :is(.woodmart-archive-shop .wd-builder-off,.wd-wishlist-content,.related-and-upsells,.cart-collaterals,.wd-shop-product,.wd-fbt) .wd-products-with-bg :is(.wd-product,.wd-cat) {
	--wd-prod-bg:rgb(255,255,255);
	--wd-bordered-bg:rgb(255,255,255);
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center center;
}
.wd-footer {
	background-color: rgb(0,0,0);
	background-image: none;
}
html .post.wd-post:not(.blog-design-small) .wd-entities-title {
	font-family: "Barlow Condensed", Arial, Helvetica, sans-serif;
	font-weight: 600;
	font-size: 24px;
	color: rgb(11,17,23);
}
html .wd-single-post-header .title, html .wd-single-post-title .wd-post-title {
	font-family: "Barlow Condensed", Arial, Helvetica, sans-serif;
	font-weight: 700;
	font-size: 58px;
	color: rgb(11,17,23);
}
.wd .product-label.attribute-label:not(.label-with-img) {
	background-color: rgb(219,50,199);
	color: rgb(255,255,255);
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}

@media (max-width: 1024px) {
	html .post.wd-post:not(.blog-design-small) .wd-entities-title {
		font-size: 20px;
	}
	html .wd-single-post-header .title, html .wd-single-post-title .wd-post-title {
		font-size: 48px;
	}

}

@media (max-width: 768.98px) {
	html .post.wd-post:not(.blog-design-small) .wd-entities-title {
		font-size: 18px;
	}
	html .wd-single-post-header .title, html .wd-single-post-title .wd-post-title {
		font-size: 46px;
	}

}
:root{
--wd-container-w: 1222px;
--wd-form-brd-radius: 5px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 5px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-accented-brd-radius: 5px;
--btn-accented-box-shadow: none;
--btn-accented-box-shadow-hover: none;
--wd-brd-radius: 12px;
}

@media (min-width: 1222px) {
section.elementor-section.wd-section-stretch > .elementor-container {
margin-left: auto;
margin-right: auto;
}
}


.wd-page-title {
background-color: #0a0a0a;
}

/* =====================================================================
   P4P LANDINGPAGES · p4p-lp.css · v1.0 (06.10.2026)
   Eigenes Namensschema für Stadt- und Landingpages (.p4p-lp-*).
   Unabhängig von Blog (.p4p-b), Content System (.p4p-content) und Markenseiten:
   Änderungen hier wirken nur auf Landingpages.
   Ablage: WoodMart > Theme Settings > Custom CSS (eigener Abschnitt).
   Aufbau Stadtseite in Elementor:
   1. Container volle Breite, Klasse p4p-lp-hero, Hintergrundbild nativ, Höhe 500/400 px, Inhalt unten: HTML 01
   2. Container volle Breite, Padding 0: HTML 02 (Eckdaten)
   3. HTML 03a + Shortcode-Widget 03b (Karte)
   4. HTML 04 (Intro, 3 Schritte)
   5. HTML 05 (Shop-Rail) + natives Produktkarussell
   6. Container Klasse p4p-lp-signup, 2 Spalten: links HTML 06, rechts HTML 06b (CleverReach-Formular)
   7. HTML 07 (Ratgeber, FAQ, Umland, Betreiber, JSON-LD)
   ===================================================================== */
.p4p-lp, .p4p-lp-hero, .p4p-lp-signup {
  --lp-blue: #0D83C8; --lp-highlight: #0AB4FF; --lp-text: #3D4558; --lp-navy: #0b1117; --lp-muted: #6B7385;
  --lp-tint: #F2F8FC; --lp-tint-2: #E6F4FC; --lp-border: #DCE8F2; --lp-radius: 14px; --lp-radius-sm: 8px;
  --lp-shadow: 0 6px 24px rgba(11,17,23,.06); --lp-gap: 20px; --lp-bleed: 15px;
}
.p4p-lp-hero { position: relative; isolation: isolate; }
.p4p-lp-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(90deg, rgba(11,17,23,.88) 0%, rgba(11,17,23,.6) 42%, rgba(11,17,23,0) 78%), linear-gradient(0deg, rgba(11,17,23,.5) 0%, rgba(11,17,23,0) 45%); }
.p4p-lp-hero > * { position: relative; z-index: 1; }
.p4p-lp-hero .elementor-widget-html { width: 100%; }
.p4p-lp-hero .p4p-lp { box-sizing: border-box; width: 100%; padding: 32px 15px clamp(28px, 4vw, 48px); }
.p4p-lp-hero__content { max-width: 640px; }
.p4p-lp-hero__logo { display: inline-flex; align-items: center; justify-content: center; height: 60px; padding: 0 20px; margin-bottom: 22px; background: #fff; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.p4p-lp-hero__logo img { display: block; height: 40px; width: auto; object-fit: contain; }
body .p4p-lp .p4p-lp-hero__content h1 { color: #fff; font-weight: 800; font-size: clamp(30px, 4.4vw, 54px); line-height: 1.08; letter-spacing: -0.02em; margin: 0 0 14px; }
body .p4p-lp .p4p-lp-hero__content .p4p-lp-lead { color: rgba(255,255,255,.86); margin: 0; }
.p4p-lp.p4p-lp--full { max-width: none; }
.p4p-lp-facts { background: #fff; border-bottom: 1px solid var(--lp-border); box-shadow: 0 10px 30px rgba(11,17,23,.05); }
body .p4p-lp .p4p-lp-facts__list { box-sizing: border-box; list-style: none; display: flex; max-width: 1200px; margin: 0 auto; padding: 0 15px; }
.p4p-lp-facts__list li { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; margin: 0; padding: 20px 12px; border-right: 1px solid var(--lp-border); text-align: center; line-height: 1.3; }
.p4p-lp-facts__list li:last-child { border-right: 0; }
body .p4p-lp .p4p-lp-facts__list strong { color: var(--lp-navy); font-size: 18px; font-weight: 800; }
body .p4p-lp .p4p-lp-facts__list span { color: var(--lp-muted); font-size: 13px; }
@media (max-width: 639px) {
.p4p-lp-hero::before { background: linear-gradient(0deg, rgba(11,17,23,.94) 0%, rgba(11,17,23,.72) 48%, rgba(11,17,23,.08) 85%); }
.p4p-lp-hero .p4p-lp { padding-top: 24px; padding-bottom: 24px; }
.p4p-lp-hero__logo { height: 50px; padding: 0 16px; margin-bottom: 16px; }
.p4p-lp-hero__logo img { height: 32px; }
.p4p-lp-facts__list li { padding: 14px 6px; }
body .p4p-lp .p4p-lp-facts__list strong { font-size: 15px; }
body .p4p-lp .p4p-lp-facts__list span { font-size: 12px; }
}
.p4p-lp-rail { display: flex; justify-content: center; gap: clamp(12px, 2.4vw, 32px); margin: clamp(24px, 3.5vw, 40px) 0 0; padding: 4px 0 8px; }
body .p4p-lp .p4p-lp-rail a.p4p-lp-rail__item { flex: 0 0 auto; min-width: 112px; display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--lp-navy); font-weight: 700; text-decoration: none; border: 0; box-shadow: none; background-image: none; }
.p4p-lp-rail__img { display: block; width: 104px; height: 104px; border-radius: 50%; background: var(--lp-tint); box-shadow: inset 0 0 0 1px var(--lp-border); overflow: hidden; transition: box-shadow .25s, transform .25s; }
.p4p-lp-rail__img img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 16%; mix-blend-mode: multiply; transition: transform .35s; }
body .p4p-lp .p4p-lp-rail__label { font-size: 14px; font-weight: 700; line-height: 1.3; text-align: center; white-space: nowrap; text-decoration: none; transition: color .2s; }
body .p4p-lp .p4p-lp-rail a.p4p-lp-rail__item:hover,
body .p4p-lp .p4p-lp-rail a.p4p-lp-rail__item:focus-visible { color: var(--lp-blue); text-decoration: none; outline: none; }
body .p4p-lp .p4p-lp-rail a.p4p-lp-rail__item:hover .p4p-lp-rail__img,
body .p4p-lp .p4p-lp-rail a.p4p-lp-rail__item:focus-visible .p4p-lp-rail__img { box-shadow: inset 0 0 0 2px var(--lp-highlight), 0 10px 24px rgba(11,17,23,.10); transform: translateY(-3px); }
.p4p-lp-rail__item:hover .p4p-lp-rail__img img { transform: scale(1.08); }
@media (max-width: 639px) {
.p4p-lp-rail { --rail-gap: 8px; justify-content: flex-start; gap: var(--rail-gap); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; margin-left: -15px; margin-right: -15px; padding: 6px 15px 10px; scroll-padding-inline: 15px; }
.p4p-lp-rail::-webkit-scrollbar { display: none; }
.p4p-lp-rail > :first-child { margin-left: auto; }
.p4p-lp-rail > :last-child { margin-right: auto; }
body .p4p-lp .p4p-lp-rail a.p4p-lp-rail__item { flex: 0 0 calc((100% - 3 * var(--rail-gap)) / 3.5); min-width: 0; gap: 8px; scroll-snap-align: start; }
.p4p-lp-rail__img { width: 100%; max-width: 76px; height: auto; aspect-ratio: 1; }
body .p4p-lp .p4p-lp-rail__label { font-size: 12px; white-space: normal; hyphens: auto; -webkit-hyphens: auto; }
}
.p4p-lp-rowhead { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 22px; }
body .p4p-lp .p4p-lp-rowhead h2 { margin: 0; padding: 11px 34px 10px 20px; background: linear-gradient(100deg, var(--lp-navy) 0%, #12314a 70%, var(--lp-blue) 140%); color: #fff; font-size: clamp(18px, 2vw, 24px); font-weight: 800; line-height: 1.2; letter-spacing: -0.01em; border-radius: 10px 0 0 0; clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0 100%); }
body .p4p-lp a.p4p-lp-rowhead__more { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 0; color: var(--lp-blue); font-size: 14px; font-weight: 700; line-height: 1; white-space: nowrap; text-decoration: none !important; border: 0 !important; box-shadow: none !important; background-image: none !important; }
body .p4p-lp a.p4p-lp-rowhead__more::after { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat; transition: transform .2s; }
body .p4p-lp a.p4p-lp-rowhead__more:hover,
body .p4p-lp a.p4p-lp-rowhead__more:focus-visible { color: var(--lp-navy); outline: none; text-decoration: none !important; }
body .p4p-lp a.p4p-lp-rowhead__more:hover::after { transform: translateX(3px); }
@media (max-width: 639px) {
.p4p-lp-rowhead { gap: 10px; margin-bottom: 16px; }
body .p4p-lp .p4p-lp-rowhead h2 { padding: 9px 26px 8px 14px; font-size: 17px; clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%); }
body .p4p-lp a.p4p-lp-rowhead__more { font-size: 13px; }
}
.p4p-lp.p4p-lp--full { max-width: none; }
.p4p-lp { --lp-blue: #0D83C8; --lp-highlight: #0AB4FF; --lp-text: #3D4558; --lp-navy: #0b1117; --lp-muted: #6B7385; --lp-tint: #F2F8FC; --lp-tint-2: #E6F4FC; --lp-border: #DCE8F2; --lp-radius: 14px; --lp-radius-sm: 8px; --lp-shadow: 0 6px 24px rgba(11, 17, 23, .06); --lp-gap: 20px; color: var(--lp-text); font-size: 16px; line-height: 1.7; max-width: 1200px; margin: 0 auto; }
.p4p-lp *, .p4p-lp *::before, .p4p-lp *::after { box-sizing: border-box; }
body .p4p-lp h2,
body .p4p-lp h3,
body .p4p-lp h4 { color: var(--lp-navy); font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; margin: 0 0 .6em; }
body .p4p-lp h2 { font-size: clamp(24px, 3vw, 34px); }
body .p4p-lp h3 { font-size: clamp(18px, 2vw, 21px); }
body .p4p-lp h4 { font-size: 17px; }
body .p4p-lp p { margin: 0 0 1em; color: var(--lp-text); }
body .p4p-lp p:last-child { margin-bottom: 0; }
body .p4p-lp strong { color: var(--lp-navy); font-weight: 700; }
body .p4p-lp a:not(.p4p-lp-btn) { color: var(--lp-blue); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(13, 131, 200, .35); text-underline-offset: 3px; transition: color .2s, text-decoration-color .2s; }
body .p4p-lp a:not(.p4p-lp-btn):hover { color: var(--lp-highlight); text-decoration-color: currentColor; }
.p4p-lp-section { padding: 56px 0; }
.p4p-lp-section + .p4p-lp-section { border-top: 1px solid var(--lp-border); }
.p4p-lp-section--tint { background: var(--lp-tint); border-radius: var(--lp-radius); padding: 48px clamp(20px, 4vw, 48px); border-top: 0 !important; }
.p4p-lp-section--tint + .p4p-lp-section { border-top: 0; }
.p4p-lp-section__head { max-width: 780px; margin-bottom: 28px; }
.p4p-lp-section__head--center { margin-left: auto; margin-right: auto; text-align: center; }
.p4p-lp-eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--lp-blue); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; }
.p4p-lp-eyebrow::before { content: ""; width: 24px; height: 2px; background: var(--lp-highlight); border-radius: 2px; }
.p4p-lp-lead { font-size: 18px; line-height: 1.65; color: var(--lp-text); }
.p4p-lp-grid { display: grid; gap: var(--lp-gap); grid-template-columns: 1fr; margin: 24px 0 0; }
@media (min-width: 640px) {
.p4p-lp-grid--2, .p4p-lp-grid--3, .p4p-lp-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1000px) {
.p4p-lp-grid--3 { grid-template-columns: repeat(3, 1fr); }
.p4p-lp-grid--4 { grid-template-columns: repeat(4, 1fr); }
}
.p4p-lp-label { display: block; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--lp-blue); margin-bottom: 6px; }
.p4p-tip--dark .p4p-lp-label { color: var(--lp-highlight); }
body .p4p-lp .p4p-tip--dark p { color: rgba(255,255,255,.85); }
.p4p-lp-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--lp-blue); color: #fff !important; font-weight: 700; font-size: 15px; padding: 13px 26px; border-radius: 8px; text-decoration: none !important; transition: background .2s, transform .2s; }
.p4p-lp-btn::after { content: "\2192"; transition: transform .2s; }
.p4p-lp-btn:hover { background: var(--lp-highlight); }
.p4p-lp-btn:hover::after { transform: translateX(3px); }
.p4p-lp-btn--ghost { background: transparent; color: var(--lp-blue) !important; box-shadow: inset 0 0 0 2px var(--lp-blue); }
.p4p-lp-btn--ghost:hover { background: var(--lp-blue); color: #fff !important; }
.p4p-lp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.p4p-lp-faq { margin: 24px 0 0; display: grid; gap: 10px; }
.p4p-lp-faq details { background: #fff; border: 1px solid var(--lp-border); border-radius: var(--lp-radius-sm); transition: border-color .2s; }
.p4p-lp-faq details[open] { border-color: var(--lp-blue); box-shadow: var(--lp-shadow); }
.p4p-lp-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; font-weight: 700; color: var(--lp-navy); }
.p4p-lp-faq summary::-webkit-details-marker { display: none; }
.p4p-lp-faq summary::after { content: "+"; flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--lp-tint-2); color: var(--lp-blue); font-size: 20px; font-weight: 600; line-height: 28px; text-align: center; transition: transform .2s, background .2s, color .2s; }
.p4p-lp-faq details[open] summary::after { transform: rotate(45deg); background: var(--lp-blue); color: #fff; }
.p4p-lp-faq details > div { padding: 0 22px 20px; }
@media (max-width: 639px) {
.p4p-lp-section { padding: 40px 0; }
.p4p-lp-section--tint { padding: 32px 18px; }
}
body .p4p-lp .p4p-lp-faq summary h3 { margin: 0; font-size: 17px; line-height: 1.4; font-weight: 700; color: var(--lp-navy); }
.p4p-lp-hero__chip { display: inline-flex; align-items: center; gap: 10px; height: 46px; padding: 0 18px 0 14px; margin-bottom: 20px; background: #fff; border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,.25); color: var(--lp-navy); font-size: 14px; font-weight: 800; letter-spacing: .02em; }
.p4p-lp-hero__chip::before { content: ""; width: 22px; height: 22px; flex: none; background: var(--lp-blue); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat; }
.p4p-lp-hero .p4p-lp-actions { margin-top: 22px; }
.p4p-lp-hero .p4p-lp-btn--ghost { color: #fff !important; box-shadow: inset 0 0 0 2px rgba(255,255,255,.7); }
.p4p-lp-hero .p4p-lp-btn--ghost:hover { background: #fff; color: var(--lp-navy) !important; }
body .p4p-lp .p4p-lp-facts__note { margin: 0; padding: 8px 15px 10px; text-align: center; font-size: 12px; color: var(--lp-muted); }
.p4p-lp-map { border-radius: var(--lp-radius); overflow: hidden; border: 1px solid var(--lp-border); box-shadow: var(--lp-shadow); background: var(--lp-tint); }
.p4p-lp-map .wpgmza_map { min-height: 480px; border-radius: 0; }
body .p4p-lp .p4p-lp-map__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 20px; margin: 0; padding: 14px 20px; background: #fff; border-top: 1px solid var(--lp-border); font-size: 14px; color: var(--lp-muted); }
@media (max-width: 639px) {
.p4p-lp-map .wpgmza_map { min-height: 400px; }
body .p4p-lp .p4p-lp-map__foot { padding: 12px 16px; }
}
.p4p-lp-intro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 5vw, 72px); align-items: start; }
body .p4p-lp .p4p-lp-intro h2 { font-size: clamp(30px, 4vw, 48px); line-height: 1.05; letter-spacing: -0.02em; margin: 0; }
body .p4p-lp .p4p-lp-intro__text > p:first-child { font-size: 19px; line-height: 1.6; color: var(--lp-navy); }
.p4p-lp-intro__quick { margin-top: 24px; padding: 18px 22px; border-radius: var(--lp-radius-sm); background: var(--lp-tint); }
@media (max-width: 899px) {
.p4p-lp-intro { grid-template-columns: 1fr; }
}
.p4p-lp-steps { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--lp-gap); counter-reset: city-step; }
.p4p-lp-steps > li { counter-increment: city-step; position: relative; margin: 0; overflow: hidden; padding: 26px 24px 24px; border-radius: var(--lp-radius); background: #fff; border: 1px solid var(--lp-border); display: flex; flex-direction: column; gap: 10px; }
.p4p-lp-steps > li::before { content: counter(city-step, decimal-leading-zero); font-size: 56px; font-weight: 800; line-height: .9; letter-spacing: -0.04em; color: transparent; -webkit-text-stroke: 2px var(--lp-highlight); }
body .p4p-lp .p4p-lp-steps h3 { margin: 0; }
body .p4p-lp .p4p-lp-steps p { margin: 0; flex: 1; }
body .p4p-lp .p4p-lp-steps a.p4p-lp-steps__go { align-self: flex-start; text-decoration: none; }
body .p4p-lp .p4p-lp-steps a.p4p-lp-steps__go::after { content: " \2192"; }
@media (max-width: 899px) {
.p4p-lp-steps { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--lp-bleed) * -1); padding: 4px var(--lp-bleed) 12px; scroll-padding: 0 var(--lp-bleed); }
.p4p-lp-steps::-webkit-scrollbar { display: none; }
.p4p-lp-steps > li { flex: 0 0 82%; scroll-snap-align: start; }
}
.p4p-lp-signup { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 48px; align-items: center; padding: clamp(28px, 4.5vw, 48px); border-radius: var(--lp-radius); background: radial-gradient(110% 140% at 100% 0%, rgba(10,180,255,.30) 0%, rgba(10,180,255,0) 55%), var(--lp-navy); }
body .p4p-lp .p4p-lp-signup h2 { color: #fff; font-size: clamp(24px, 3vw, 34px); margin: 0 0 8px; }
body .p4p-lp .p4p-lp-signup p { color: rgba(255,255,255,.78); margin: 0; }
.p4p-lp-signup .p4p-lp-eyebrow { color: var(--lp-highlight); }
body .p4p-lp .p4p-lp-signup__fine { grid-column: 1 / -1; font-size: 12px; color: rgba(255,255,255,.55); }
@media (max-width: 899px) {
.p4p-lp-signup { grid-template-columns: 1fr; }
}
body .p4p-lp a.p4p-lp-story { display: flex; flex-direction: column; gap: 8px; min-height: 100%; padding: 22px 24px; border-radius: var(--lp-radius); background: #fff; border: 1px solid var(--lp-border); color: inherit; font-weight: 400; text-decoration: none; transition: transform .2s, border-color .2s, box-shadow .2s; }
body .p4p-lp a.p4p-lp-story:hover { transform: translateY(-3px); border-color: var(--lp-highlight); box-shadow: 0 12px 30px rgba(13,131,200,.12); }
.p4p-lp-story__kicker { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--lp-blue); }
body .p4p-lp .p4p-lp-story h3 { margin: 0; font-size: 19px; }
body .p4p-lp .p4p-lp-story p { margin: 0; font-size: 15px; flex: 1; }
.p4p-lp-story__go { font-weight: 700; color: var(--lp-blue); font-size: 14px; }
.p4p-lp-story__go::after { content: " \2192"; }
.p4p-lp-near { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--lp-gap); }
.p4p-lp-near__box { padding: 24px; border-radius: var(--lp-radius); background: var(--lp-tint); }
body .p4p-lp .p4p-lp-near__box h3 { margin: 0 0 8px; }
.p4p-lp-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 14px 0 0; padding: 0; }
.p4p-lp-chips li { margin: 0; }
body .p4p-lp .p4p-lp-chips a { display: inline-block; padding: 7px 14px; border-radius: 8px; background: #fff; border: 1px solid var(--lp-border); color: var(--lp-navy); font-size: 14px; font-weight: 700; text-decoration: none; }
body .p4p-lp .p4p-lp-chips a:hover { border-color: var(--lp-blue); color: var(--lp-blue); }
@media (max-width: 899px) {
.p4p-lp-near { grid-template-columns: 1fr; }
}
body .p4p-lp .p4p-lp-stand { display: block; margin-top: 12px; font-size: 12px; color: var(--lp-muted); }

/* Fix v1.0.1: Text im Newsletter-Band, wenn die Klasse am Elementor-Container sitzt */
body .p4p-lp-signup .p4p-lp h2 { color: #fff; font-size: clamp(24px, 3vw, 34px); margin: 0 0 8px; }
body .p4p-lp-signup .p4p-lp p { color: rgba(255,255,255,.78); margin: 0; }

/* CleverReach-Formular Stadtseiten (HTML 06b), Felder und Button 8px wie im Shop */
.p4p-lp-crform { margin: 0; }
.p4p-lp-crform__label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.p4p-lp-crform__row { display: flex; flex-wrap: wrap; gap: 10px; }
body .p4p-lp .p4p-lp-crform input[type="email"] { flex: 1 1 200px; min-width: 0; height: 52px !important; margin: 0; padding: 0 20px !important; border: 0 !important; border-radius: 8px !important; background: #fff !important; color: var(--lp-navy) !important; font: inherit; font-size: 16px !important; box-shadow: none; }
body .p4p-lp .p4p-lp-crform input[type="email"]::placeholder { color: var(--lp-muted); opacity: 1; }
body .p4p-lp .p4p-lp-crform input[type="email"]:focus { outline: none; box-shadow: 0 0 0 3px var(--lp-highlight) !important; }
body .p4p-lp .p4p-lp-crform button { flex: 1 1 100%; height: 52px !important; margin: 0; padding: 0 28px !important; border: 0 !important; border-radius: 8px !important; background: var(--lp-highlight) !important; color: var(--lp-navy) !important; font: inherit; font-size: 16px !important; font-weight: 700 !important; line-height: 1; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; transition: background .2s; }
body .p4p-lp .p4p-lp-crform button:hover, body .p4p-lp .p4p-lp-crform button:focus-visible { background: #fff !important; }
body .p4p-lp-signup .p4p-lp .p4p-lp-crform__fine { margin: 12px 0 0; font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.7); }
body .p4p-lp-signup .p4p-lp .p4p-lp-crform__fine a { color: #fff; text-decoration: underline; }
/* Newsletter-Container in Elementor: Raster erzwingen */
.e-con.p4p-lp-signup { display: grid !important; }
.e-con.p4p-lp-signup > .elementor-element { width: auto !important; max-width: none !important; min-width: 0; margin: 0 !important; }
.e-con.p4p-lp-signup .p4p-lp { max-width: none; margin: 0; }
@media (max-width: 767px) { .e-con.p4p-lp-signup { grid-template-columns: 1fr !important; } }

/* =====================================================================
   P4P RABATTSEITE · p4p-rabatt.css · v1.0 (06.10.2026)
   Eigenes Namensschema nur für /rabattcode/ (.p4p-rabatt-*), Tokens --rabatt-*.
   Unabhängig von Blog (.p4p-b), Markenseiten (.p4p-content) und Stadtseiten (.p4p-lp).
   Ablage: WoodMart > Theme Settings > Custom CSS (eigener Abschnitt).
   ===================================================================== */
.p4p-rabatt,.p4p-rabatt-hero,.p4p-rabatt-signup { --rabatt-blue: #0D83C8; --rabatt-highlight: #0AB4FF; --rabatt-text: #3D4558; --rabatt-navy: #0b1117; --rabatt-muted: #6B7385; --rabatt-tint: #F2F8FC; --rabatt-tint-2: #E6F4FC; --rabatt-border: #DCE8F2; --rabatt-radius: 14px; --rabatt-radius-sm: 8px; --rabatt-shadow: 0 6px 24px rgba(11,17,23,.06); --rabatt-gap: 20px; --rabatt-bleed: 15px; }
.p4p-rabatt-hero { position: relative; isolation: isolate; }
.p4p-rabatt-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(90deg, rgba(11,17,23,.88) 0%, rgba(11,17,23,.6) 42%, rgba(11,17,23,0) 78%), linear-gradient(0deg, rgba(11,17,23,.5) 0%, rgba(11,17,23,0) 45%); }
.p4p-rabatt-hero > * { position: relative; z-index: 1; }
.p4p-rabatt-hero .elementor-widget-html { width: 100%; }
.p4p-rabatt-hero .p4p-rabatt { box-sizing: border-box; width: 100%; padding: 32px 15px clamp(28px, 4vw, 48px); }
.p4p-rabatt-hero__content { max-width: 640px; }
body .p4p-rabatt .p4p-rabatt-hero__content h1 { color: #fff; font-weight: 800; font-size: clamp(30px, 4.4vw, 54px); line-height: 1.08; letter-spacing: -0.02em; margin: 0 0 14px; }
body .p4p-rabatt .p4p-rabatt-hero__content .p4p-rabatt-lead { color: rgba(255,255,255,.86); margin: 0; }
@media (max-width: 639px) {
.p4p-rabatt-hero::before { background: linear-gradient(0deg, rgba(11,17,23,.94) 0%, rgba(11,17,23,.72) 48%, rgba(11,17,23,.08) 85%); }
.p4p-rabatt-hero .p4p-rabatt { padding-top: 24px; padding-bottom: 24px; }
}
.p4p-rabatt-rail { display: flex; justify-content: center; gap: clamp(12px, 2.4vw, 32px); margin: clamp(24px, 3.5vw, 40px) 0 0; padding: 4px 0 8px; }
body .p4p-rabatt .p4p-rabatt-rail a.p4p-rabatt-rail__item { flex: 0 0 auto; min-width: 112px; display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--rabatt-navy); font-weight: 700; text-decoration: none; border: 0; box-shadow: none; background-image: none; }
.p4p-rabatt-rail__img { display: block; width: 104px; height: 104px; border-radius: 50%; background: var(--rabatt-tint); box-shadow: inset 0 0 0 1px var(--rabatt-border); overflow: hidden; transition: box-shadow .25s, transform .25s; }
.p4p-rabatt-rail__img img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 16%; mix-blend-mode: multiply; transition: transform .35s; }
body .p4p-rabatt .p4p-rabatt-rail__label { font-size: 14px; font-weight: 700; line-height: 1.3; text-align: center; white-space: nowrap; text-decoration: none; transition: color .2s; }
body .p4p-rabatt .p4p-rabatt-rail a.p4p-rabatt-rail__item:hover,body .p4p-rabatt .p4p-rabatt-rail a.p4p-rabatt-rail__item:focus-visible { color: var(--rabatt-blue); text-decoration: none; outline: none; }
body .p4p-rabatt .p4p-rabatt-rail a.p4p-rabatt-rail__item:hover .p4p-rabatt-rail__img,body .p4p-rabatt .p4p-rabatt-rail a.p4p-rabatt-rail__item:focus-visible .p4p-rabatt-rail__img { box-shadow: inset 0 0 0 2px var(--rabatt-highlight), 0 10px 24px rgba(11,17,23,.10); transform: translateY(-3px); }
.p4p-rabatt-rail__item:hover .p4p-rabatt-rail__img img { transform: scale(1.08); }
@media (max-width: 639px) {
.p4p-rabatt-rail { --rail-gap: 8px; justify-content: flex-start; gap: var(--rail-gap); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; margin-left: -15px; margin-right: -15px; padding: 6px 15px 10px; scroll-padding-inline: 15px; }
.p4p-rabatt-rail::-webkit-scrollbar { display: none; }
.p4p-rabatt-rail > :first-child { margin-left: auto; }
.p4p-rabatt-rail > :last-child { margin-right: auto; }
body .p4p-rabatt .p4p-rabatt-rail a.p4p-rabatt-rail__item { flex: 0 0 calc((100% - 3 * var(--rail-gap)) / 3.5); min-width: 0; gap: 8px; scroll-snap-align: start; }
.p4p-rabatt-rail__img { width: 100%; max-width: 76px; height: auto; aspect-ratio: 1; }
body .p4p-rabatt .p4p-rabatt-rail__label { font-size: 12px; white-space: normal; hyphens: auto; -webkit-hyphens: auto; }
}
.p4p-rabatt-rowhead { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 22px; }
body .p4p-rabatt .p4p-rabatt-rowhead h2 { margin: 0; padding: 11px 34px 10px 20px; background: linear-gradient(100deg, var(--rabatt-navy) 0%, #12314a 70%, var(--rabatt-blue) 140%); color: #fff; font-size: clamp(18px, 2vw, 24px); font-weight: 800; line-height: 1.2; letter-spacing: -0.01em; border-radius: 10px 0 0 0; clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0 100%); }
body .p4p-rabatt a.p4p-rabatt-rowhead__more { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 0; color: var(--rabatt-blue); font-size: 14px; font-weight: 700; line-height: 1; white-space: nowrap; text-decoration: none !important; border: 0 !important; box-shadow: none !important; background-image: none !important; }
body .p4p-rabatt a.p4p-rabatt-rowhead__more::after { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat; transition: transform .2s; }
body .p4p-rabatt a.p4p-rabatt-rowhead__more:hover,body .p4p-rabatt a.p4p-rabatt-rowhead__more:focus-visible { color: var(--rabatt-navy); outline: none; text-decoration: none !important; }
body .p4p-rabatt a.p4p-rabatt-rowhead__more:hover::after { transform: translateX(3px); }
@media (max-width: 639px) {
.p4p-rabatt-rowhead { gap: 10px; margin-bottom: 16px; }
body .p4p-rabatt .p4p-rabatt-rowhead h2 { padding: 9px 26px 8px 14px; font-size: 17px; clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%); }
body .p4p-rabatt a.p4p-rabatt-rowhead__more { font-size: 13px; }
}
.p4p-rabatt { --rabatt-blue: #0D83C8; --rabatt-highlight: #0AB4FF; --rabatt-text: #3D4558; --rabatt-navy: #0b1117; --rabatt-muted: #6B7385; --rabatt-tint: #F2F8FC; --rabatt-tint-2: #E6F4FC; --rabatt-border: #DCE8F2; --rabatt-radius: 14px; --rabatt-radius-sm: 8px; --rabatt-shadow: 0 6px 24px rgba(11, 17, 23, .06); --rabatt-gap: 20px; color: var(--rabatt-text); font-size: 16px; line-height: 1.7; max-width: 1200px; margin: 0 auto; }
.p4p-rabatt *,.p4p-rabatt *::before,.p4p-rabatt *::after { box-sizing: border-box; }
body .p4p-rabatt h2,body .p4p-rabatt h3,body .p4p-rabatt h4 { color: var(--rabatt-navy); font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; margin: 0 0 .6em; }
body .p4p-rabatt h2 { font-size: clamp(24px, 3vw, 34px); }
body .p4p-rabatt h3 { font-size: clamp(18px, 2vw, 21px); }
body .p4p-rabatt h4 { font-size: 17px; }
body .p4p-rabatt p { margin: 0 0 1em; color: var(--rabatt-text); }
body .p4p-rabatt p:last-child { margin-bottom: 0; }
body .p4p-rabatt strong { color: var(--rabatt-navy); font-weight: 700; }
body .p4p-rabatt a:not(.p4p-rabatt-btn) { color: var(--rabatt-blue); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(13, 131, 200, .35); text-underline-offset: 3px; transition: color .2s, text-decoration-color .2s; }
body .p4p-rabatt a:not(.p4p-rabatt-btn):hover { color: var(--rabatt-highlight); text-decoration-color: currentColor; }
.p4p-rabatt-section { padding: 56px 0; }
.p4p-rabatt-section + .p4p-rabatt-section { border-top: 1px solid var(--rabatt-border); }
.p4p-rabatt-section__head { max-width: 780px; margin-bottom: 28px; }
.p4p-rabatt-eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--rabatt-blue); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; }
.p4p-rabatt-eyebrow::before { content: ""; width: 24px; height: 2px; background: var(--rabatt-highlight); border-radius: 2px; }
.p4p-rabatt-lead { font-size: 18px; line-height: 1.65; color: var(--rabatt-text); }
.p4p-rabatt-label { display: block; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--rabatt-blue); margin-bottom: 6px; }
.p4p-tip--dark .p4p-rabatt-label { color: var(--rabatt-highlight); }
body .p4p-rabatt .p4p-tip--dark p { color: rgba(255,255,255,.85); }
.p4p-rabatt-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--rabatt-blue); color: #fff !important; font-weight: 700; font-size: 15px; padding: 13px 26px; border-radius: 8px; text-decoration: none !important; transition: background .2s, transform .2s; }
.p4p-rabatt-btn::after { content: "\2192"; transition: transform .2s; }
.p4p-rabatt-btn:hover { background: var(--rabatt-highlight); }
.p4p-rabatt-btn:hover::after { transform: translateX(3px); }
.p4p-rabatt-btn--ghost { background: transparent; color: var(--rabatt-blue) !important; box-shadow: inset 0 0 0 2px var(--rabatt-blue); }
.p4p-rabatt-btn--ghost:hover { background: var(--rabatt-blue); color: #fff !important; }
.p4p-rabatt-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.p4p-rabatt-faq { margin: 24px 0 0; display: grid; gap: 10px; }
.p4p-rabatt-faq details { background: #fff; border: 1px solid var(--rabatt-border); border-radius: var(--rabatt-radius-sm); transition: border-color .2s; }
.p4p-rabatt-faq details[open] { border-color: var(--rabatt-blue); box-shadow: var(--rabatt-shadow); }
.p4p-rabatt-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; font-weight: 700; color: var(--rabatt-navy); }
.p4p-rabatt-faq summary::-webkit-details-marker { display: none; }
.p4p-rabatt-faq summary::after { content: "+"; flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--rabatt-tint-2); color: var(--rabatt-blue); font-size: 20px; font-weight: 600; line-height: 28px; text-align: center; transition: transform .2s, background .2s, color .2s; }
.p4p-rabatt-faq details[open] summary::after { transform: rotate(45deg); background: var(--rabatt-blue); color: #fff; }
.p4p-rabatt-faq details > div { padding: 0 22px 20px; }
@media (max-width: 639px) {
.p4p-rabatt-section { padding: 40px 0; }
}
body .p4p-rabatt .p4p-rabatt-faq summary h3 { margin: 0; font-size: 17px; line-height: 1.4; font-weight: 700; color: var(--rabatt-navy); }
.p4p-rabatt-hero__chip { display: inline-flex; align-items: center; gap: 10px; height: 46px; padding: 0 18px 0 14px; margin-bottom: 20px; background: #fff; border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,.25); color: var(--rabatt-navy); font-size: 14px; font-weight: 800; letter-spacing: .02em; }
.p4p-rabatt-hero__chip::before { content: ""; width: 22px; height: 22px; flex: none; background: var(--rabatt-blue); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat; }
.p4p-rabatt-hero .p4p-rabatt-actions { margin-top: 22px; }
.p4p-rabatt-hero .p4p-rabatt-btn--ghost { color: #fff !important; box-shadow: inset 0 0 0 2px rgba(255,255,255,.7); }
.p4p-rabatt-hero .p4p-rabatt-btn--ghost:hover { background: #fff; color: var(--rabatt-navy) !important; }
.p4p-rabatt-intro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 5vw, 72px); align-items: start; }
body .p4p-rabatt .p4p-rabatt-intro h2 { font-size: clamp(30px, 4vw, 48px); line-height: 1.05; letter-spacing: -0.02em; margin: 0; }
body .p4p-rabatt .p4p-rabatt-intro__text > p:first-child { font-size: 19px; line-height: 1.6; color: var(--rabatt-navy); }
.p4p-rabatt-intro__quick { margin-top: 24px; padding: 18px 22px; border-radius: var(--rabatt-radius-sm); background: var(--rabatt-tint); }
@media (max-width: 899px) {
.p4p-rabatt-intro { grid-template-columns: 1fr; }
}
.p4p-rabatt-steps { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--rabatt-gap); counter-reset: city-step; }
.p4p-rabatt-steps > li { counter-increment: city-step; position: relative; margin: 0; overflow: hidden; padding: 26px 24px 24px; border-radius: var(--rabatt-radius); background: #fff; border: 1px solid var(--rabatt-border); display: flex; flex-direction: column; gap: 10px; }
.p4p-rabatt-steps > li::before { content: counter(city-step, decimal-leading-zero); font-size: 56px; font-weight: 800; line-height: .9; letter-spacing: -0.04em; color: transparent; -webkit-text-stroke: 2px var(--rabatt-highlight); }
body .p4p-rabatt .p4p-rabatt-steps h3 { margin: 0; }
body .p4p-rabatt .p4p-rabatt-steps p { margin: 0; flex: 1; }
body .p4p-rabatt .p4p-rabatt-steps a.p4p-rabatt-steps__go { align-self: flex-start; text-decoration: none; }
body .p4p-rabatt .p4p-rabatt-steps a.p4p-rabatt-steps__go::after { content: " \2192"; }
@media (max-width: 899px) {
.p4p-rabatt-steps { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--rabatt-bleed) * -1); padding: 4px var(--rabatt-bleed) 12px; scroll-padding: 0 var(--rabatt-bleed); }
.p4p-rabatt-steps::-webkit-scrollbar { display: none; }
.p4p-rabatt-steps > li { flex: 0 0 82%; scroll-snap-align: start; }
}
.p4p-rabatt-signup { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 48px; align-items: center; padding: clamp(28px, 4.5vw, 48px); border-radius: var(--rabatt-radius); background: radial-gradient(110% 140% at 100% 0%, rgba(10,180,255,.30) 0%, rgba(10,180,255,0) 55%), var(--rabatt-navy); }
body .p4p-rabatt .p4p-rabatt-signup h2 { color: #fff; font-size: clamp(24px, 3vw, 34px); margin: 0 0 8px; }
body .p4p-rabatt .p4p-rabatt-signup p { color: rgba(255,255,255,.78); margin: 0; }
.p4p-rabatt-signup .p4p-rabatt-eyebrow { color: var(--rabatt-highlight); }
body .p4p-rabatt .p4p-rabatt-signup__fine { grid-column: 1 / -1; font-size: 12px; color: rgba(255,255,255,.55); }
@media (max-width: 899px) {
.p4p-rabatt-signup { grid-template-columns: 1fr; }
}
.p4p-rabatt-near { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--rabatt-gap); }
.p4p-rabatt-near__box { padding: 24px; border-radius: var(--rabatt-radius); background: var(--rabatt-tint); }
body .p4p-rabatt .p4p-rabatt-near__box h3 { margin: 0 0 8px; }
@media (max-width: 899px) {
.p4p-rabatt-near { grid-template-columns: 1fr; }
}
body .p4p-rabatt .p4p-rabatt-stand { display: block; margin-top: 12px; font-size: 12px; color: var(--rabatt-muted); }
body .p4p-rabatt-signup .p4p-rabatt h2 { color: #fff; font-size: clamp(24px, 3vw, 34px); margin: 0 0 8px; }
body .p4p-rabatt-signup .p4p-rabatt p { color: rgba(255,255,255,.78); margin: 0; }
.p4p-rabatt-hero__split { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 48px; align-items: end; }
.p4p-rabatt-hero__chip::before { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.4 11.6 12.4 2.6A2 2 0 0 0 11 2H4a2 2 0 0 0-2 2v7c0 .6.2 1.1.6 1.4l9 9a2 2 0 0 0 2.8 0l7-7a2 2 0 0 0 0-2.8zM6.5 8A1.5 1.5 0 1 1 6.5 5a1.5 1.5 0 0 1 0 3z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.4 11.6 12.4 2.6A2 2 0 0 0 11 2H4a2 2 0 0 0-2 2v7c0 .6.2 1.1.6 1.4l9 9a2 2 0 0 0 2.8 0l7-7a2 2 0 0 0 0-2.8zM6.5 8A1.5 1.5 0 1 1 6.5 5a1.5 1.5 0 0 1 0 3z'/%3E%3C/svg%3E") center/contain no-repeat; }
@media (max-width: 899px) {
.p4p-rabatt-hero__split { grid-template-columns: 1fr; }
}
body .p4p-rabatt-signup .p4p-rabatt h2 { color: #fff; font-size: clamp(24px, 3vw, 34px); margin: 0 0 8px; }
body .p4p-rabatt-signup .p4p-rabatt p { color: rgba(255,255,255,.78); margin: 0; }
.p4p-rabatt-crform__label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.p4p-rabatt-crform__row { display: flex; flex-wrap: wrap; gap: 10px; }
body .p4p-rabatt-signup .p4p-rabatt-crform input[type="email"],body .p4p-rabatt-signup .p4p-rabatt-crform input[type="text"] { flex: 1 1 200px; min-width: 0; height: 52px !important; margin: 0; padding: 0 20px !important; border: 0 !important; border-radius: 8px !important; background: #fff !important; color: var(--rabatt-navy) !important; font: inherit; font-size: 16px !important; box-shadow: none; }
body .p4p-rabatt-signup .p4p-rabatt-crform input[type="email"]::placeholder,body .p4p-rabatt-signup .p4p-rabatt-crform input[type="text"]::placeholder { color: var(--rabatt-muted); opacity: 1; }
body .p4p-rabatt-signup .p4p-rabatt-crform input[type="email"]:focus,body .p4p-rabatt-signup .p4p-rabatt-crform input[type="text"]:focus { outline: none; box-shadow: 0 0 0 3px var(--rabatt-highlight) !important; }
body .p4p-rabatt-signup .p4p-rabatt-crform button { flex: 1 1 100%; height: 52px !important; margin: 0; padding: 0 28px !important; border: 0 !important; border-radius: 8px !important; background: var(--rabatt-highlight) !important; color: var(--rabatt-navy) !important; font: inherit; font-size: 16px !important; font-weight: 700 !important; line-height: 1; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; transition: background .2s; }
body .p4p-rabatt-signup .p4p-rabatt-crform button:hover,body .p4p-rabatt-signup .p4p-rabatt-crform button:focus-visible { background: #fff !important; }
body .p4p-rabatt-signup .p4p-rabatt .p4p-rabatt-crform__fine { margin: 12px 0 0; font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.7); }
body .p4p-rabatt-signup .p4p-rabatt .p4p-rabatt-crform__fine a { color: #fff; text-decoration: underline; }
.e-con.p4p-rabatt-signup { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
.e-con.p4p-rabatt-signup > .e-con { width: 100% !important; padding: 0 !important; }
@media (max-width: 899px) {
.e-con.p4p-rabatt-signup { grid-template-columns: 1fr !important; }
}
.p4p-rabatt-signup .elementor-form .elementor-field-group { margin-bottom: 10px; }
.p4p-rabatt-signup .elementor-field-label { color: #fff; font-size: 14px; }
.p4p-rabatt-signup .elementor-field-group .elementor-field-textual { height: 50px; padding: 0 18px !important; border: 0 !important; border-radius: 8px !important; background: #fff !important; color: var(--rabatt-navy) !important; font-size: 15px; }
.p4p-rabatt-signup .elementor-button { height: 50px; padding: 0 26px; border: 0; border-radius: 8px !important; background: var(--rabatt-highlight) !important; color: var(--rabatt-navy) !important; font-weight: 700; }
.p4p-rabatt-signup .elementor-button:hover { background: #fff !important; }
.p4p-rabatt-signup .elementor-field-type-acceptance label,.p4p-rabatt-signup .elementor-field-option label { color: rgba(255,255,255,.75); font-size: 13px; }
.p4p-rabatt-signup .elementor-field-type-acceptance a { color: #fff; text-decoration: underline; }
.p4p-rabatt-signup .elementor-message { color: #9BE7C4; font-size: 14px; }
.p4p-rabatt-signup .elementor-message.elementor-message-danger,.p4p-rabatt-signup .elementor-error .elementor-message { color: #FFB4B4; }
.p4p-rabatt-hero--hell::before { background: linear-gradient(90deg, rgba(246,250,253,.97) 0%, rgba(246,250,253,.9) 36%, rgba(246,250,253,0) 58%); }
body .p4p-rabatt-hero--hell .p4p-rabatt .p4p-rabatt-hero__content h1 { color: var(--rabatt-navy); }
body .p4p-rabatt-hero--hell .p4p-rabatt .p4p-rabatt-hero__content .p4p-rabatt-lead { color: var(--rabatt-text); }
.p4p-rabatt-hero--hell .p4p-rabatt-hero__chip { box-shadow: 0 6px 20px rgba(11,17,23,.08); }
.p4p-rabatt-hero--hell .p4p-rabatt-btn--ghost { color: var(--rabatt-navy) !important; box-shadow: inset 0 0 0 2px var(--rabatt-navy); }
.p4p-rabatt-hero--hell .p4p-rabatt-btn--ghost:hover { background: var(--rabatt-navy); color: #fff !important; }
@media (max-width: 899px) {
.p4p-rabatt-hero--hell::before { background: linear-gradient(0deg, rgba(246,250,253,.97) 0%, rgba(246,250,253,.9) 55%, rgba(246,250,253,.35) 100%); }
}


/* =====================================================================
   P4P BLOG DESIGN SYSTEM  ·  p4p-blog.css  ·  v2.3 Magazin (06.10.2026)
   Einsatz: Elementor > Website-Einstellungen > Benutzerdefiniertes CSS
            (oder Child-Theme). Alle Klassen mit Präfix .p4p-b
   Jeder Beitrag steckt in <div class="p4p-b"> … </div>
   Raster mit 3+ Elementen werden unter 768px automatisch zum Karussell.
   ===================================================================== */

/* ---------- 1. Tokens ---------- */
.p4p-b {
  --b-navy: #0b1117;
  --b-blue: #0D83C8;
  --b-hl: #0AB4FF;
  --b-text: #3D4558;
  --b-steel: #6B7689;
  --b-pale: #E8F5FC;
  --b-surface: #F5F8FB;
  --b-border: #DCE3EA;
  --b-white: #FFFFFF;
  --b-good: #16A36A;
  --b-good-bg: #E7F7EF;
  --b-bad: #D9443A;
  --b-bad-bg: #FDECEA;
  --b-warn: #E8870E;
  --b-warn-bg: #FFF4E5;

  --b-f-display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --b-f-sub: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
  --b-f-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

  --b-r: 0.5rem;
  --b-r-sm: 0.375rem;
  --b-line: #D5DEE7;
  --b-line-strong: #0b1117;
  --b-gap: 1rem;
  --b-space: 3.5rem;
  --b-shadow: 0 0.5rem 1.5rem rgba(11, 17, 23, 0.07);

  /* Breite steuert das Single-Post-Template (WoodMart Layout), daher kein max-width */
  color: var(--b-text);
  font-family: var(--b-f-body);
  font-size: 1.125rem;
  line-height: 1.75;
  hyphens: auto;
  -webkit-hyphens: auto;
  font-feature-settings: "kern", "liga", "calt";
  -webkit-font-smoothing: antialiased;
}
.p4p-b *, .p4p-b *::before, .p4p-b *::after { box-sizing: border-box; }

/* ---------- 1b. Breiten-System, abgestimmt auf das P4P-Template (gemessen 06.10.2026) ----------
   Inhaltsbreite: 1080 px (Text, Komponenten und Inhaltsverzeichnis auf einer Fluchtlinie).
   Der Block bricht aus der Template-Spalte auf Fensterbreite aus und legt darin ein eigenes Raster an:
     Text-Spalte  1080 px  : Fließtext, Überschriften, Antwortbox, FAQ (fluchtet mit Inhaltsverzeichnis)
     .p4p-b-wide  1080 px  : aktuell gleich der Text-Spalte (eine Fluchtlinie); per Variable auf 1222 px umstellbar
     .p4p-b-band  Fensterbreite : Hintergrund über die volle Breite, Inhalt innen auf der Fluchtlinie
   Alte Elementor-Beiträge sind nicht betroffen, das CSS greift nur innerhalb von .p4p-b.
   Voraussetzung: Die Inhaltsspalte ist im Fenster zentriert (ist im Template der Fall). */
.p4p-b {
  --b-w-text: 1080px;
  --b-w-wide: 1080px; /* = Text-Spalte: alles auf einer Fluchtlinie. Für breitere Komponenten z. B. 1222px eintragen. */
  --b-gutter: 1rem;
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw);
  display: grid;
  grid-template-columns:
    [full-start] minmax(var(--b-gutter), 1fr)
    [wide-start] minmax(0, calc((var(--b-w-wide) - var(--b-w-text)) / 2))
    [text-start] min(var(--b-w-text), 100% - 2 * var(--b-gutter))
    [text-end] minmax(0, calc((var(--b-w-wide) - var(--b-w-text)) / 2))
    [wide-end] minmax(var(--b-gutter), 1fr) [full-end];
}
/* verhindert horizontales Scrollen durch die Scrollleiste bei 100vw, nur auf Seiten mit Blog-Block */
html:has(.p4p-b), body:has(.p4p-b) { overflow-x: clip; }
.p4p-b > * { grid-column: text; min-width: 0; }
.p4p-b > .p4p-b-wide,
.p4p-b > .p4p-b-table, .p4p-b > .p4p-b-grid--3, .p4p-b > .p4p-b-grid--4, .p4p-b > .p4p-b-facts,
.p4p-b > .p4p-b-duo, .p4p-b > .p4p-b-product, .p4p-b > .p4p-b-diagram, .p4p-b > .p4p-b-verdict,
.p4p-b > .p4p-b-steps, .p4p-b > .p4p-b-timeline, .p4p-b > .p4p-b-opinions, .p4p-b > .p4p-b-quote { grid-column: wide; }
.p4p-b > .p4p-b-narrow { grid-column: text; }
/* Band: Hintergrund läuft per border-image bis an beide Fensterränder,
   egal ob die Template-Spalte exakt mittig sitzt (kein Spalt rechts oder links). */
.p4p-b > .p4p-b-band {
  --b-band-bg: var(--b-surface);
  grid-column: wide; margin-block: var(--b-space);
  padding-block: clamp(2rem, 4vw, 3.5rem);
  padding-inline: 0;
  background: none;
  border-image: conic-gradient(var(--b-band-bg) 0 0) fill 0 / 0 / 0 100vw;
}
.p4p-b > .p4p-b-band + * { margin-top: 0; }
.p4p-b-band > * + * { margin-top: 1rem; }
.p4p-b > .p4p-b-band--pale { --b-band-bg: var(--b-pale); }
.p4p-b > .p4p-b-band--navy {
  --b-band-bg: var(--b-navy); color: #C9D2DC;
  border-image: radial-gradient(70rem 26rem at 58% 0, #0b354a, #0b1117) fill 0 / 0 / 0 100vw;
}
.p4p-b-band__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 0.5rem 2rem; margin-bottom: 1.5rem; }
.p4p-b-band__title { font-family: var(--b-f-display); font-weight: 700; font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.25rem); line-height: 1.1; color: var(--b-navy); }
.p4p-b-band--navy .p4p-b-band__title { color: var(--b-white); }
/* Schritte ab 900 px zweispaltig */
@media (min-width: 900px) { .p4p-b > .p4p-b-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* =====================================================================
   MAGAZIN-KOMPONENTEN v2.0
   Leitlinie: Typografie trägt, Linien gliedern, Kästen nur wo sie Bedeutung haben.
   Das eine mutige Element pro Beitrag ist das Autoren-Zitat (.p4p-b-quote).
   ===================================================================== */

/* ---------- 2. Typografie ---------- */
.p4p-b > * + * { margin-top: 1.4rem; }
.p4p-b p { margin: 0; text-wrap: pretty; }
.p4p-b p + p { margin-top: 1.1rem; }
.p4p-b h2 {
  font-family: var(--b-f-display);
  font-weight: 700;
  font-size: clamp(1.9rem, 1.45rem + 1.6vw, 2.75rem);
  line-height: 1.05;
  letter-spacing: -0.005em;
  color: var(--b-navy);
  text-wrap: balance;
  hyphens: manual;
  margin: var(--b-space) 0 0;
  padding-top: 1.4rem;
  border-top: 1px solid var(--b-line);
  scroll-margin-top: 6rem;
}
.p4p-b h2 + * { margin-top: 1rem; }
/* Keine doppelte Linie: nach Zitat, Band, CTA oder Fazit entfällt die Linie über der H2 */
.p4p-b :is(.p4p-b-quote, .p4p-b-band, .p4p-b-cta, .p4p-b-faq) + h2 { border-top: 0; padding-top: 0; }
.p4p-b h3 {
  font-family: var(--b-f-sub);
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.25;
  color: var(--b-navy);
  margin: 2rem 0 0;
  text-wrap: balance;
  hyphens: manual;
}
.p4p-b h3 + * { margin-top: 0.5rem; }
.p4p-b strong { color: var(--b-navy); font-weight: 600; }
.p4p-b a {
  color: var(--b-blue);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
  text-decoration-color: rgba(13, 131, 200, 0.4);
  transition: text-decoration-color 0.15s ease, color 0.15s ease;
}
.p4p-b a:hover { color: var(--b-navy); text-decoration-color: currentColor; }
.p4p-b a:focus-visible, .p4p-b summary:focus-visible { outline: 2px solid var(--b-hl); outline-offset: 3px; border-radius: 0.2rem; }
.p4p-b ul:not([class]), .p4p-b ol:not([class]) { padding-left: 1.3rem; margin: 0.9rem 0 0; }
.p4p-b ul[class], .p4p-b ol[class] { padding-left: 0; margin-bottom: 0; }
.p4p-b ul:not([class]) > li + li, .p4p-b ol:not([class]) > li + li { margin-top: 0.45rem; }
.p4p-b ul:not([class]) > li::marker { color: var(--b-hl); }
.p4p-b ol:not([class]) > li::marker { color: var(--b-blue); font-weight: 600; }

/* Vorspann: der erste Absatz nach dem Header */
.p4p-b-lead {
  font-size: clamp(1.2rem, 1.1rem + 0.4vw, 1.375rem);
  line-height: 1.6;
  color: var(--b-navy);
}
.p4p-b-lead strong { font-weight: 600; }

/* Kicker: kleine Überzeile in Satzschreibung */
.p4p-b-label {
  display: block;
  font-family: var(--b-f-sub);
  font-weight: 600;
  font-size: 1rem;
  color: var(--b-blue);
  margin-bottom: 0.25rem;
}

/* Chips (Level, Status) */
.p4p-b-badge {
  display: inline-flex; align-items: center;
  font-family: var(--b-f-sub); font-weight: 600; font-size: 0.875rem; line-height: 1.3;
  padding: 0.15rem 0.6rem; border-radius: 999px;
  background: var(--b-pale); color: var(--b-blue); white-space: nowrap;
}
.p4p-b-badge--navy { background: var(--b-navy); color: var(--b-white); }
.p4p-b-badge--hl { background: var(--b-hl); color: var(--b-navy); }
.p4p-b-badge--good { background: var(--b-good-bg); color: #0F7A4F; }
.p4p-b-badge--warn { background: var(--b-warn-bg); color: #A65F06; }

/* ---------- 3. Kurz beantwortet (Antwort für Google und KI) ---------- */
.p4p-b-answer {
  background: var(--b-pale);
  border-radius: var(--b-r);
  padding: 1.5rem 1.75rem;
  position: relative;
}
.p4p-b-answer::before {
  content: ""; position: absolute; left: 0; top: 1.5rem; bottom: 1.5rem; width: 3px;
  background: var(--b-blue); border-radius: 0 2px 2px 0;
}
.p4p-b-answer .p4p-b-label { color: var(--b-blue); }
.p4p-b-answer p { margin-top: 0.35rem; color: var(--b-navy); }

/* ---------- 4. Key Facts: Zahlen ohne Kästen, getrennt durch Linien ---------- */
.p4p-b-facts {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  list-style: none; padding: 0; border-block: 1px solid var(--b-line);
}
.p4p-b-facts li { margin: 0; padding: 1.25rem 1.25rem 1.25rem 0; }
.p4p-b-facts li + li { padding-left: 1.25rem; border-left: 1px solid var(--b-line); }
.p4p-b-facts b {
  display: block; font-family: var(--b-f-display); font-weight: 700;
  font-size: clamp(1.9rem, 1.6rem + 1vw, 2.5rem); line-height: 1; color: var(--b-navy);
  font-variant-numeric: tabular-nums; letter-spacing: -0.01em;
}
.p4p-b-facts span { display: block; font-size: 0.9375rem; line-height: 1.4; margin-top: 0.4rem; color: var(--b-steel); }

/* ---------- 5. Hinweisboxen ---------- */
.p4p-b-box {
  border-radius: var(--b-r); padding: 1.35rem 1.6rem;
  background: var(--b-surface); border: 0;
}
.p4p-b-box__title {
  display: flex; align-items: center; gap: 0.55rem;
  font-family: var(--b-f-sub); font-weight: 600; font-size: 1.15rem; color: var(--b-navy);
  margin-bottom: 0.4rem;
}
.p4p-b-box__title::before {
  content: "i"; flex: none; width: 1.5rem; height: 1.5rem; border-radius: 50%;
  display: grid; place-items: center; font-family: var(--b-f-display); font-size: 0.95rem;
  background: var(--b-blue); color: var(--b-white);
}
.p4p-b-box p { font-size: 1.0625rem; }
.p4p-b-box--tip { background: var(--b-good-bg); }
.p4p-b-box--tip .p4p-b-box__title::before { content: "✓"; background: var(--b-good); }
.p4p-b-box--warn { background: var(--b-warn-bg); }
.p4p-b-box--warn .p4p-b-box__title::before { content: "!"; background: var(--b-warn); }
/* Autoren-Boxen: Boris' Tipp, Dominics Praxiseindruck */
.p4p-b-box--pro { background: var(--b-white); box-shadow: inset 0 0 0 1px var(--b-line); border-top: 3px solid var(--b-hl); border-radius: 0 0 var(--b-r) var(--b-r); }
.p4p-b-box--pro .p4p-b-box__title::before { content: "P"; background: var(--b-navy); color: var(--b-hl); }
.p4p-b-box--klartext { background: var(--b-navy); color: #C9D2DC; }
.p4p-b-box--klartext .p4p-b-box__title { color: var(--b-white); }
.p4p-b-box--klartext .p4p-b-box__title::before { content: "K"; background: var(--b-hl); color: var(--b-navy); }
.p4p-b-box--klartext strong { color: var(--b-white); }
.p4p-b-box--fehler { background: var(--b-bad-bg); }
.p4p-b-box--fehler .p4p-b-box__title::before { content: "✕"; background: var(--b-bad); }

/* ---------- 5b. Autorenfoto (.p4p-b-avatar) ----------
   Eigene Blog-Klasse, gleiche Logik wie .p4p-pd-author img:
   Der Ring kommt aus dem Bild (cropped-Padel4Players_*.webp), daher kein Hintergrund, kein Rahmen, kein Schatten.
   <img class="p4p-b-avatar" src="…/cropped-Padel4Players_Boris-1-1000x1000.webp" alt="Boris Brodbeck" width="96" height="96" loading="lazy" decoding="async">
   Größe ergibt sich aus dem Ort: Box-Titel 48 px, Zitat 56 px, Zwei Meinungen 64 px (mit !important gegen Theme-Regeln für img). */
.p4p-b .p4p-b-avatar {
  display: block; flex: 0 0 auto; width: 3.5rem !important; height: 3.5rem !important; max-width: none !important;
  object-fit: contain; border: 0; border-radius: 0; box-shadow: none; background: none; padding: 0; margin: 0;
}
.p4p-b .p4p-b-box__title .p4p-b-avatar { width: 3rem !important; height: 3rem !important; }
.p4p-b .p4p-b-quote .p4p-b-avatar { width: 3.5rem !important; height: 3.5rem !important; }
.p4p-b .p4p-b-opinion__head .p4p-b-avatar { width: 4rem !important; height: 4rem !important; }
/* Mit Foto entfällt das Icon (i, P, K, ✓) vor dem Box-Titel */
.p4p-b .p4p-b-box .p4p-b-box__title:has(.p4p-b-avatar)::before { content: none; display: none; }
.p4p-b .p4p-b-box__title:has(.p4p-b-avatar) { gap: 0.75rem; }

/* Merksatz */
.p4p-b-key {
  font-family: var(--b-f-sub); font-weight: 600; font-size: clamp(1.3rem, 1.15rem + 0.5vw, 1.6rem); line-height: 1.3;
  color: var(--b-navy); padding: 0.1rem 0 0.1rem 1.25rem; border-left: 3px solid var(--b-hl);
  hyphens: manual; text-wrap: balance;
}

/* ---------- 6. Autoren-Zitat: das Signature-Element ----------
   <figure class="p4p-b-quote"><blockquote><p>Zitat</p></blockquote>
   <figcaption><img class="p4p-b-avatar" src="…" alt="Boris Brodbeck" width="96" height="96"><span><b>Boris Brodbeck</b> Der vom Court</span></figcaption></figure> */
.p4p-b-quote {
  position: relative; margin: var(--b-space) 0 0;
  padding: 2.25rem 0 1.75rem;
  border-block: 2px solid var(--b-navy);
}
.p4p-b-quote blockquote { margin: 0; }
.p4p-b-quote blockquote p {
  font-family: var(--b-f-display); font-weight: 700;
  font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem); line-height: 1.12;
  color: var(--b-navy); text-wrap: balance; hyphens: manual;
}
.p4p-b-quote blockquote p::before { content: "„"; color: var(--b-hl); }
.p4p-b-quote blockquote p::after { content: "“"; color: var(--b-hl); }
.p4p-b-quote figcaption { display: flex; align-items: center; gap: 0.75rem; margin-top: 1.25rem; font-size: 0.9375rem; color: var(--b-steel); }
.p4p-b-quote figcaption b { display: block; font-family: var(--b-f-sub); font-weight: 600; font-size: 1.0625rem; color: var(--b-navy); }

/* ---------- 7. Raster + Karussell ---------- */
.p4p-b-grid { display: grid; gap: 2rem; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; padding: 0; }
.p4p-b-grid > li { margin: 0; }
.p4p-b-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.p4p-b-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
@media (max-width: 767px) {
  .p4p-b-grid, .p4p-b-grid--3, .p4p-b-grid--4 { grid-template-columns: minmax(0, 1fr); }
  .p4p-b ul.p4p-b-grid--3, .p4p-b ul.p4p-b-grid--4, .p4p-b ul.p4p-b-facts, .p4p-b .p4p-b-carousel {
    display: flex; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
    gap: 1.25rem; padding-bottom: 0.9rem; margin-inline: calc(-1 * var(--b-gutter)); padding-inline: var(--b-gutter);
    scroll-padding-inline: var(--b-gutter);
    scrollbar-width: thin; scrollbar-color: var(--b-hl) transparent;
  }
  .p4p-b-grid--3 > *, .p4p-b-grid--4 > *, .p4p-b-carousel > * { flex: 0 0 78%; scroll-snap-align: start; }
  .p4p-b-facts { border-block: 0; }
  .p4p-b-facts > * { flex: 0 0 44%; scroll-snap-align: start; border-top: 1px solid var(--b-line); border-bottom: 1px solid var(--b-line); }
  .p4p-b-facts li + li { border-left: 0; padding-left: 0; }
}

/* Karte: offene Spalte mit Linie oben statt Kasten */
.p4p-b-card {
  height: 100%; display: flex; flex-direction: column; gap: 0.55rem;
  padding-top: 1rem; border-top: 2px solid var(--b-navy);
}
.p4p-b-card h3, .p4p-b-card__title {
  margin: 0; font-family: var(--b-f-sub); font-weight: 600; font-size: 1.25rem; line-height: 1.25; color: var(--b-navy);
}
.p4p-b-card p { font-size: 1rem; line-height: 1.6; }
.p4p-b-card__icon { width: 2.25rem; height: 2.25rem; display: grid; place-items: center; color: var(--b-blue); margin-bottom: 0.15rem; }
.p4p-b-card__icon svg { width: 1.75rem; height: 1.75rem; }
.p4p-b-card__num { font-family: var(--b-f-display); font-weight: 700; font-size: 2.75rem; line-height: 0.9; color: var(--b-hl); }
.p4p-b-card--navy { background: var(--b-navy); color: #C9D2DC; padding: 1.25rem; border-radius: var(--b-r); border-top: 0; }
.p4p-b-card--navy .p4p-b-card__title, .p4p-b-card--navy strong { color: var(--b-white); }
.p4p-b-card__meta { margin-top: auto; display: flex; flex-wrap: wrap; gap: 0.4rem; padding-top: 0.5rem; }

/* ---------- 8. Schritte: echte Abfolge, große Ziffern ---------- */
.p4p-b-steps { list-style: none; padding: 0; counter-reset: p4pstep; display: grid; gap: 0 2.5rem; }
.p4p-b-steps > li {
  counter-increment: p4pstep; margin: 0;
  display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: 1rem; align-items: start;
  padding: 1.4rem 0; border-top: 1px solid var(--b-line);
}
.p4p-b-steps > li::before {
  content: counter(p4pstep);
  font-family: var(--b-f-display); font-weight: 700; font-size: 3.25rem; line-height: 0.85;
  color: var(--b-hl); font-variant-numeric: tabular-nums;
}
.p4p-b-steps h3 { margin: 0 0 0.35rem; font-size: 1.3rem; }
.p4p-b-steps p { font-size: 1.0625rem; }

/* ---------- 9. Pro/Contra, Do/Don't, Vergleich ---------- */
.p4p-b-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
@media (max-width: 640px) { .p4p-b-duo { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; } }
.p4p-b-duo__col { padding-top: 1rem; border-top: 3px solid var(--b-navy); }
.p4p-b-duo__col--good { border-top-color: var(--b-good); }
.p4p-b-duo__col--bad { border-top-color: var(--b-bad); }
.p4p-b-duo__col--blue { border-top-color: var(--b-navy); }
.p4p-b-duo__col--grey { border-top-color: var(--b-hl); }
.p4p-b-duo__title { font-family: var(--b-f-sub); font-weight: 600; font-size: 1.25rem; color: var(--b-navy); margin-bottom: 0.6rem; }
.p4p-b .p4p-b-duo ul { list-style: none; padding: 0; margin: 0; }
.p4p-b-duo li { position: relative; padding: 0.55rem 0 0.55rem 1.9rem; font-size: 1.0625rem; line-height: 1.5; border-bottom: 1px solid var(--b-line); }
.p4p-b-duo li:last-child { border-bottom: 0; }
.p4p-b-duo li::before {
  position: absolute; left: 0; top: 0.8rem; width: 1.2rem; height: 1.2rem; border-radius: 50%;
  display: grid; place-items: center; font-size: 0.72rem; font-weight: 700; color: var(--b-white);
}
.p4p-b-duo__col--good li::before { content: "✓"; background: var(--b-good); }
.p4p-b-duo__col--bad li::before { content: "✕"; background: var(--b-bad); }
.p4p-b-duo__col--blue li::before, .p4p-b-duo__col--grey li::before { content: ""; width: 0.45rem; height: 0.45rem; top: 1.15rem; left: 0.3rem; background: var(--b-blue); }

/* Zwei Meinungen */
.p4p-b-opinions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
@media (max-width: 640px) { .p4p-b-opinions { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; } }
.p4p-b-opinion { display: grid; gap: 0.85rem; align-content: start; padding-top: 1.1rem; border-top: 3px solid var(--b-navy); }
.p4p-b-opinion__head { display: flex; align-items: center; gap: 0.75rem; }
.p4p-b-opinion__name { font-family: var(--b-f-sub); font-weight: 600; font-size: 1.125rem; color: var(--b-navy); line-height: 1.2; }
.p4p-b-opinion__role { font-size: 0.875rem; color: var(--b-blue); font-weight: 600; }
.p4p-b-opinion p { font-size: 1.0625rem; }
.p4p-b-opinion--pending { border-top-style: dashed; border-top-color: var(--b-steel); color: var(--b-steel); }

/* ---------- 10. Tabellen: Linien statt Raster ---------- */
.p4p-b-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.p4p-b-table table { width: 100%; border-collapse: collapse; font-size: 1rem; line-height: 1.45; }
.p4p-b-table th, .p4p-b-table td { padding: 0.85rem 1rem 0.85rem 0; text-align: left; vertical-align: top; border-bottom: 1px solid var(--b-line); }
.p4p-b-table thead th {
  font-family: var(--b-f-sub); font-weight: 600; font-size: 0.9375rem; color: var(--b-navy);
  border-bottom: 2px solid var(--b-navy); padding-top: 0;
}
.p4p-b-table tbody th { font-weight: 600; color: var(--b-navy); }
.p4p-b-table td { font-variant-numeric: tabular-nums; }
.p4p-b-table--sticky tbody th, .p4p-b-table--sticky thead th:first-child { position: sticky; left: 0; z-index: 1; background: var(--b-white); }
.p4p-b-table .is-hl > * { background: var(--b-pale); }
.p4p-b-table .is-hl > :first-child { box-shadow: inset 3px 0 0 var(--b-hl); padding-left: 0.85rem; }
.p4p-b-table caption { caption-side: bottom; text-align: left; padding: 0.75rem 0 0; font-size: 0.875rem; color: var(--b-steel); }
.p4p-b-yes, .p4p-b-no, .p4p-b-mid {
  display: inline-grid; place-items: center; width: 1.3rem; height: 1.3rem; border-radius: 50%;
  font-size: 0.72rem; font-weight: 700; color: var(--b-white); vertical-align: -0.2rem; margin-right: 0.4rem;
}
.p4p-b-yes { background: var(--b-good); } .p4p-b-yes::before { content: "✓"; }
.p4p-b-no { background: var(--b-bad); } .p4p-b-no::before { content: "✕"; }
.p4p-b-mid { background: var(--b-warn); } .p4p-b-mid::before { content: "~"; }
@media (max-width: 640px) {
  .p4p-b-table th, .p4p-b-table td { padding: 0.7rem 0.75rem 0.7rem 0; font-size: 0.9375rem; }
  .p4p-b-table--stack { overflow: visible; }
  .p4p-b-table--stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .p4p-b-table--stack table, .p4p-b-table--stack tbody, .p4p-b-table--stack tr { display: block; width: 100%; }
  .p4p-b-table--stack tr { border-top: 2px solid var(--b-navy); padding-bottom: 0.25rem; }
  .p4p-b-table--stack tr + tr { margin-top: 1.5rem; }
  .p4p-b-table--stack tbody th { display: block; position: static !important; font-family: var(--b-f-display); font-size: 1.35rem; padding: 0.6rem 0 0.4rem; border: 0; background: none !important; box-shadow: none !important; }
  .p4p-b-table--stack td { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 0.75rem; padding-right: 0; }
  .p4p-b-table--stack td::before { content: attr(data-label); font-family: var(--b-f-sub); font-weight: 600; color: var(--b-steel); font-size: 0.875rem; }
  .p4p-b-table--stack tr > :last-child { border-bottom: 0; }
  .p4p-b-table--stack tr.is-hl { border-top-color: var(--b-hl); }
  .p4p-b-table--stack tr.is-hl > * { background: none; }
  .p4p-b-table--stack tr.is-hl > :first-child { box-shadow: none; padding-left: 0; }
  .p4p-b-table--stack caption { display: block; }
}

/* ---------- 11. Stats ---------- */
.p4p-b-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; padding: 0; }
.p4p-b-stats li { margin: 0; padding: 0.25rem 1.5rem 0.25rem 0; font-size: 1rem; line-height: 1.45; color: var(--b-steel); }
.p4p-b-stats li + li { padding-left: 1.5rem; border-left: 1px solid var(--b-line); }
.p4p-b-stats b {
  display: block; font-family: var(--b-f-display); font-weight: 700; font-size: clamp(2.75rem, 2rem + 2.5vw, 4.25rem); line-height: 0.95;
  color: var(--b-navy); margin-bottom: 0.45rem; font-variant-numeric: tabular-nums; letter-spacing: -0.015em;
}
.p4p-b-band--navy .p4p-b-stats li { color: #B8C3CF; }
.p4p-b-band--navy .p4p-b-stats li + li { border-left-color: #2A3946; }
.p4p-b-band--navy .p4p-b-stats b { color: var(--b-hl); }
@media (max-width: 640px) {
  .p4p-b-stats { grid-template-columns: minmax(0, 1fr); }
  .p4p-b-stats li { padding: 1rem 0; }
  .p4p-b-stats li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--b-line); }
  .p4p-b-band--navy .p4p-b-stats li + li { border-top-color: #2A3946; }
}

/* ---------- 12. VS-Vergleich ---------- */
.p4p-b-vs { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 2rem; align-items: center; }
.p4p-b-vs__side { padding: 0.5rem 0; }
.p4p-b-vs__side--a { text-align: right; }
.p4p-b-vs__name { font-family: var(--b-f-display); font-weight: 700; font-size: clamp(2.5rem, 1.8rem + 3vw, 4.5rem); line-height: 0.95; color: var(--b-navy); letter-spacing: -0.01em; }
.p4p-b-vs__side .p4p-b-label { color: var(--b-blue); }
.p4p-b-vs__side p { font-size: 1.0625rem; margin-top: 0.6rem; }
.p4p-b-vs__side--a p { margin-left: auto; }
.p4p-b-vs__mid {
  width: 3.75rem; height: 3.75rem; border-radius: 50%; display: grid; place-items: center;
  background: var(--b-navy); color: var(--b-hl); font-family: var(--b-f-display); font-weight: 700; font-size: 1.35rem;
}
@media (max-width: 640px) {
  .p4p-b-vs { grid-template-columns: minmax(0, 1fr); gap: 1rem; text-align: left; }
  .p4p-b-vs__side--a { text-align: left; }
  .p4p-b-vs__mid { width: 3rem; height: 3rem; font-size: 1.1rem; }
}

/* ---------- 13. Entscheidungshilfe ---------- */
.p4p-b-decide { list-style: none; padding: 0; border-top: 2px solid var(--b-navy); }
.p4p-b-decide li {
  margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem; align-items: center;
  padding: 1rem 0; border-bottom: 1px solid var(--b-line);
}
.p4p-b-decide li > span:first-child { font-size: 1.0625rem; line-height: 1.5; }
@media (max-width: 480px) { .p4p-b-decide li { grid-template-columns: minmax(0, 1fr); gap: 0.5rem; } .p4p-b-decide .p4p-b-badge { justify-self: start; } }

/* ---------- 14. Produkt (Schläger-Test) ---------- */
.p4p-b-product { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 3rem; align-items: center; }
.p4p-b-product__media { border-radius: var(--b-r); background: var(--b-white); aspect-ratio: 4 / 5; max-width: 100%; display: grid; place-items: center; overflow: hidden; }
.p4p-b-product__media img { width: 100%; height: 100%; object-fit: contain; }
.p4p-b-product__badges { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.p4p-b-product__name { font-family: var(--b-f-display); font-weight: 700; font-size: clamp(2.25rem, 1.6rem + 2.4vw, 3.5rem); line-height: 0.98; color: var(--b-navy); margin: 0.75rem 0 0.4rem; letter-spacing: -0.01em; }
.p4p-b-product__claim { font-size: 1.125rem; color: var(--b-text); }
.p4p-b-product__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.5rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--b-line); }
.p4p-b-product__price { font-family: var(--b-f-display); font-weight: 700; font-size: 2rem; color: var(--b-navy); }
@media (max-width: 760px) { .p4p-b-product { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; } .p4p-b-product__media { aspect-ratio: 16 / 11; } }

.p4p-b-specs { display: grid; grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr)); gap: 0; list-style: none; padding: 0; margin: 1.25rem 0 0; border-top: 1px solid var(--b-line); }
.p4p-b-specs li { margin: 0; padding: 0.65rem 0.75rem 0.65rem 0; border-bottom: 1px solid var(--b-line); font-size: 0.9375rem; line-height: 1.35; color: var(--b-navy); }
.p4p-b-specs li b { display: block; font-family: var(--b-f-sub); font-weight: 600; font-size: 0.8125rem; color: var(--b-steel); margin-bottom: 0.1rem; }

/* Bewertungsbalken: style="--v:9.1" (Skala 0 bis 10) */
.p4p-b-rating { list-style: none; padding: 0; margin: 1.25rem 0 0; display: grid; gap: 0.7rem; }
.p4p-b-rating li { margin: 0; display: grid; grid-template-columns: 9rem minmax(0, 1fr) 2.5rem; gap: 0.9rem; align-items: center; font-size: 0.9375rem; }
.p4p-b-rate__bar { height: 0.35rem; border-radius: 999px; background: var(--b-line); position: relative; overflow: hidden; }
.p4p-b-rate__bar::after { content: ""; position: absolute; inset: 0 auto 0 0; width: calc(var(--v, 0) * 10%); background: var(--b-navy); border-radius: inherit; }
.p4p-b-rating li > b { font-family: var(--b-f-display); font-weight: 700; font-size: 1.25rem; color: var(--b-navy); text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 480px) {
  .p4p-b-rating li { grid-template-columns: minmax(0, 1fr) 2.25rem; row-gap: 0.3rem; }
  .p4p-b-rating .p4p-b-rate__bar { grid-column: 1 / -1; grid-row: 2; }
}

/* ---------- 15. Buttons & CTA ---------- */
.p4p-b-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 3rem;
  font-family: var(--b-f-sub); font-weight: 600; font-size: 1.0625rem; letter-spacing: 0.01em;
  padding: 0.7rem 1.4rem; border-radius: var(--b-r-sm);
  background: var(--b-blue); color: var(--b-white) !important; text-decoration: none !important;
  transition: background 0.15s ease, transform 0.15s ease;
}
.p4p-b-btn:hover { background: var(--b-navy); }
.p4p-b-btn:active { transform: translateY(1px); }
.p4p-b-btn--ghost { background: transparent; color: var(--b-navy) !important; box-shadow: inset 0 0 0 2px var(--b-navy); }
.p4p-b-btn--ghost:hover { background: var(--b-navy); color: var(--b-white) !important; }

.p4p-b-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem 3rem; align-items: center; }
.p4p-b-cta__title { font-family: var(--b-f-display); font-weight: 700; font-size: clamp(1.9rem, 1.4rem + 1.8vw, 3rem); line-height: 1.02; color: var(--b-navy); }
.p4p-b-cta p { font-size: 1.0625rem; margin-top: 0.5rem; }
.p4p-b > .p4p-b-cta { padding: 1.75rem 0; border-block: 2px solid var(--b-navy); }
.p4p-b-band--navy .p4p-b-cta__title { color: var(--b-white); }
.p4p-b-band--navy .p4p-b-cta p { color: #B8C3CF; }
.p4p-b-band--navy .p4p-b-btn { background: var(--b-hl); color: var(--b-navy) !important; }
.p4p-b-band--navy .p4p-b-btn:hover { background: var(--b-white); }
@media (max-width: 640px) { .p4p-b-cta { grid-template-columns: minmax(0, 1fr); } .p4p-b-cta .p4p-b-btn { width: 100%; } }

/* ---------- 16. Medien ---------- */
.p4p-b figure { margin-inline: 0; margin-bottom: 0; }
.p4p-b-figure { margin: 0; }
.p4p-b-figure img { width: 100%; height: auto; border-radius: var(--b-r); display: block; }
.p4p-b-figure figcaption, .p4p-b-diagram figcaption { font-size: 0.9375rem; color: var(--b-steel); margin-top: 0.7rem; line-height: 1.5; padding-left: 0.75rem; border-left: 2px solid var(--b-hl); }
.p4p-b-ph {
  aspect-ratio: 16 / 9; max-width: 100%; border-radius: var(--b-r);
  background: repeating-linear-gradient(135deg, var(--b-surface) 0 14px, #EDF2F7 14px 28px);
  display: grid; place-items: center; text-align: center; padding: 1rem;
  font-family: var(--b-f-sub); font-weight: 600; color: var(--b-steel); font-size: 1rem;
}
.p4p-b-ph--bare { aspect-ratio: auto; background: none; height: 100%; width: 100%; }
.p4p-b-product__media .p4p-b-ph--bare { background: repeating-linear-gradient(135deg, var(--b-surface) 0 14px, #EDF2F7 14px 28px); }
.p4p-b-video { position: relative; aspect-ratio: 16 / 9; max-width: 100%; border-radius: var(--b-r); overflow: hidden; background: var(--b-navy); }
.p4p-b-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.p4p-b-diagram { overflow-x: auto; }
.p4p-b-diagram svg { display: block; width: 100%; height: auto; min-width: 26rem; }

/* ---------- 17. Timeline ---------- */
.p4p-b-timeline { list-style: none; padding: 0; position: relative; display: grid; gap: 0; }
.p4p-b-timeline > li { margin: 0; position: relative; padding: 1.5rem 0 1.5rem 4.5rem; border-top: 1px solid var(--b-line); }
.p4p-b-timeline__mark {
  position: absolute; left: 0; top: 1.5rem; width: 3.25rem;
  font-family: var(--b-f-display); font-weight: 700; font-size: 1.15rem; line-height: 1.05; color: var(--b-blue);
}
.p4p-b-timeline > li.is-peak .p4p-b-timeline__mark { color: var(--b-navy); }
.p4p-b-timeline h3 { margin: 0 0 0.4rem; }
@media (min-width: 900px) {
  .p4p-b-timeline--split > li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 2.5rem; align-items: start; }
  .p4p-b-timeline--split > li > h3, .p4p-b-timeline--split > li > p { grid-column: 1; }
  .p4p-b-timeline--split > li > .p4p-b-drill { grid-column: 2; grid-row: 1 / span 3; margin-top: 0; }
}
@media (max-width: 899px) { .p4p-b-timeline > li > .p4p-b-drill { margin-top: 1rem; } }

/* Übung */
.p4p-b-drill { background: var(--b-surface); border-radius: var(--b-r); padding: 1.1rem 1.25rem; }
.p4p-b-drill__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem; align-items: baseline; margin-bottom: 0.4rem; }
.p4p-b-drill__name { font-family: var(--b-f-sub); font-weight: 600; font-size: 1.15rem; color: var(--b-navy); }
.p4p-b-drill__meta { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.p4p-b-drill__meta .p4p-b-badge { background: var(--b-white); }
.p4p-b-drill__body p { font-size: 1rem; }

/* ---------- 18. Checkliste ---------- */
.p4p-b-check { border-top: 2px solid var(--b-navy); padding-top: 1.1rem; }
.p4p-b-check__title { font-family: var(--b-f-display); font-weight: 700; font-size: 1.6rem; color: var(--b-navy); margin-bottom: 0.6rem; }
.p4p-b .p4p-b-check ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; }
.p4p-b-check li { margin: 0; position: relative; padding: 0.7rem 0 0.7rem 2.1rem; line-height: 1.5; border-bottom: 1px solid var(--b-line); }
.p4p-b-check li::before {
  content: "✓"; position: absolute; left: 0; top: 0.8rem; width: 1.3rem; height: 1.3rem; border-radius: 0.3rem;
  background: var(--b-navy); color: var(--b-hl); display: grid; place-items: center; font-size: 0.75rem; font-weight: 700;
}

/* ---------- 19. Download ---------- */
.p4p-b-download { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1.25rem 1.5rem; align-items: center; padding: 1.25rem 0; border-block: 1px solid var(--b-line); }
.p4p-b-download__icon { width: 3.25rem; height: 4rem; border-radius: 0.3rem; background: var(--b-navy); display: grid; place-items: center; font-family: var(--b-f-display); font-weight: 700; color: var(--b-hl); font-size: 1rem; }
.p4p-b-download__title { font-family: var(--b-f-sub); font-weight: 600; font-size: 1.25rem; color: var(--b-navy); }
.p4p-b-download p { font-size: 1rem; }
@media (max-width: 640px) { .p4p-b-download { grid-template-columns: auto minmax(0, 1fr); } .p4p-b-download .p4p-b-btn { grid-column: 1 / -1; width: 100%; } }

/* ---------- 20. Fazit ---------- */
.p4p-b-verdict { border-top: 3px solid var(--b-navy); padding-top: 1.25rem; }
.p4p-b-verdict__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; font-family: var(--b-f-display); font-weight: 700; font-size: clamp(1.6rem, 1.3rem + 1vw, 2.25rem); line-height: 1.05; color: var(--b-navy); }
.p4p-b-verdict__score { font-size: clamp(2.75rem, 2rem + 2.5vw, 4rem); color: var(--b-blue); font-variant-numeric: tabular-nums; line-height: 0.9; }
.p4p-b-verdict__score small { font-size: 1.1rem; color: var(--b-steel); }
.p4p-b-verdict__body { margin-top: 0.9rem; }
.p4p-b-verdict__body p { font-size: 1.1875rem; line-height: 1.65; color: var(--b-navy); }

/* ---------- 21. FAQ ---------- */
.p4p-b-faq { border-top: 2px solid var(--b-navy); }
.p4p-b-faq details { border-bottom: 1px solid var(--b-line); }
.p4p-b-faq summary {
  list-style: none; cursor: pointer; padding: 1.15rem 3rem 1.15rem 0; position: relative;
  font-family: var(--b-f-sub); font-weight: 600; font-size: 1.2rem; line-height: 1.35; color: var(--b-navy);
  hyphens: manual;
}
.p4p-b-faq summary::-webkit-details-marker { display: none; }
.p4p-b-faq summary::after {
  content: ""; position: absolute; right: 0.4rem; top: 50%; width: 0.6rem; height: 0.6rem;
  border: solid var(--b-blue); border-width: 0 2px 2px 0; transform: translateY(-70%) rotate(45deg);
  transition: transform 0.2s ease;
}
.p4p-b-faq details[open] summary::after { transform: translateY(-25%) rotate(-135deg); }
.p4p-b-faq summary:hover { color: var(--b-blue); }
.p4p-b-faq details > div { padding: 0 0 1.25rem; }
.p4p-b-faq details > div p { font-size: 1.0625rem; }

/* ---------- 22. Quellen ---------- */
.p4p-b-source { font-size: 0.9375rem; line-height: 1.6; color: var(--b-steel); border-top: 1px solid var(--b-line); padding-top: 1rem; }
.p4p-b-source b { font-family: var(--b-f-sub); font-weight: 600; color: var(--b-navy); margin-right: 0.35rem; }
.p4p-b-source a { color: var(--b-steel); display: inline-block; padding-block: 0.4rem; }
/* Autorenbox: kommt automatisch aus dem Single-Post-Template, daher keine eigene Komponente. */

/* ---------- 23. Weiterlesen ---------- */
.p4p-b-related { list-style: none; padding: 0; }
.p4p-b-related a { display: flex; flex-direction: column; gap: 0.35rem; height: 100%; text-decoration: none; padding-top: 1rem; border-top: 2px solid var(--b-navy); }
.p4p-b-related a b { font-family: var(--b-f-sub); font-weight: 600; font-size: 1.2rem; line-height: 1.3; color: var(--b-navy); }
.p4p-b-related a:hover b { color: var(--b-blue); }
.p4p-b-related a span { font-size: 1rem; color: var(--b-text); }

/* ---------- 24. Lesefortschritt (CSS-only, ohne Skript) ----------
   <div class="p4p-b-progress" aria-hidden="true"></div> als erstes Element im Block.
   Browser ohne Unterstützung zeigen ihn einfach nicht. */
.p4p-b-progress { display: none; }
@supports (animation-timeline: scroll()) {
  .p4p-b-progress {
    display: block; position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 9999;
    background: var(--b-hl); transform-origin: 0 50%; transform: scaleX(0);
    animation: p4p-b-progress linear both; animation-timeline: scroll(root block);
    margin: 0 !important; grid-column: full;
  }
  @keyframes p4p-b-progress { to { transform: scaleX(1); } }
}

/* ---------- 25. Hilfsklassen ---------- */
.p4p-b-center { text-align: center; }
.p4p-b-muted { color: var(--b-steel); font-size: 0.9375rem; }
.p4p-b-mt0 { margin-top: 0 !important; }
.p4p-b-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
  .p4p-b *, .p4p-b *::before, .p4p-b *::after { transition: none !important; scroll-behavior: auto !important; }
  .p4p-b-progress { display: none !important; }
}


/* =========================================================
   P4P PRODUKTBESCHREIBUNG (p4p-pd) v1.1
   Nur für die WooCommerce-Produktbeschreibung.
   Einsatz: Beschreibung komplett in <div class="p4p-pd"> ... </div>
   WICHTIG: HTML nur im Reiter "Text" einfügen, nie in "Visuell" wechseln
   (der visuelle Editor zerlegt <details>/<summary> und Absätze).
   ========================================================= */
.p4p-pd {
  --pd-blue: #0D83C8; --pd-hl: #0AB4FF; --pd-text: #3D4558; --pd-navy: #0b1117;
  --pd-muted: #6B7385; --pd-tint: #F2F8FC; --pd-tint-2: #E6F4FC; --pd-border: #DCE8F2;
  --pd-radius: 14px; --pd-radius-sm: 8px; --pd-shadow: 0 6px 24px rgba(11,17,23,.06);
  color: var(--pd-text); font-size: 16px; line-height: 1.7; max-width: 900px;
}
.p4p-pd *, .p4p-pd *::before, .p4p-pd *::after { box-sizing: border-box; }

/* Typografie */
body .p4p-pd h2, body .p4p-pd h3 { color: var(--pd-navy); font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; }
body .p4p-pd h2 { font-size: clamp(22px, 2.6vw, 28px); margin: 48px 0 14px; padding-left: 14px; position: relative; }
body .p4p-pd h2::before { content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: 4px; border-radius: 2px; background: var(--pd-hl); }
body .p4p-pd h3 { font-size: 18px; margin: 28px 0 8px; }
body .p4p-pd p { margin: 0 0 1em; color: var(--pd-text); }
body .p4p-pd strong { color: var(--pd-navy); font-weight: 700; }
body .p4p-pd a { color: var(--pd-blue); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(13,131,200,.35); text-underline-offset: 3px; }
body .p4p-pd a:hover { color: var(--pd-hl); text-decoration-color: currentColor; }
.p4p-pd-lead { font-size: 18px; line-height: 1.65; }

/* Tabellen (Vergleich, Jahrgang) */
.p4p-pd-table-wrap { overflow-x: auto; margin: 20px 0 0; border: 1px solid var(--pd-border); border-radius: var(--pd-radius); -webkit-overflow-scrolling: touch; }
.p4p-pd-table { width: 100%; min-width: 620px; border-collapse: collapse; margin: 0; background: #fff; font-size: 15px; }
.p4p-pd-table th { background: var(--pd-navy); color: #fff; text-align: left; font-size: 13px; font-weight: 700; padding: 12px 14px; border: 0; white-space: nowrap; }
.p4p-pd-table td { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--pd-border); vertical-align: top; color: var(--pd-text); }
.p4p-pd-table tr:last-child td { border-bottom: 0; }
.p4p-pd-table td:first-child { font-weight: 700; color: var(--pd-navy); }
.p4p-pd-table tr.is-current td { background: var(--pd-tint-2); }
.p4p-pd-table tr.is-current td:first-child { box-shadow: inset 4px 0 0 var(--pd-blue); }
body .p4p-pd .p4p-pd-table-wrap + p { margin-top: 20px; }

/* Eignung: zwei Karten */
.p4p-pd-fit { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0 0; }
.p4p-pd-fit__card { background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius); padding: 20px 22px; box-shadow: var(--pd-shadow); }
.p4p-pd-fit__card--yes { border-top: 4px solid var(--pd-blue); }
.p4p-pd-fit__card--alt { border-top: 4px solid var(--pd-border); background: var(--pd-tint); }
body .p4p-pd .p4p-pd-fit__title { display: block; margin: 0 0 10px; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--pd-blue); }
body .p4p-pd .p4p-pd-fit__card--alt .p4p-pd-fit__title { color: var(--pd-muted); }

/* Checkliste */
.p4p-pd-list { list-style: none; margin: 0; padding: 0; }
.p4p-pd-list li { position: relative; padding-left: 28px; margin: 0 0 10px; }
.p4p-pd-list li:last-child { margin-bottom: 0; }
.p4p-pd-list li::before { content: ""; position: absolute; left: 0; top: .4em; width: 18px; height: 18px; border-radius: 50%;
  background: var(--pd-tint-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230D83C8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }
.p4p-pd-list--arrow li::before { background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8M9 5l3 3-3 3' fill='none' stroke='%236B7385' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; box-shadow: inset 0 0 0 1px var(--pd-border); }

/* Unsere Einordnung */
.p4p-pd-verdict { margin: 48px 0 0; padding: clamp(22px, 4vw, 34px); background: var(--pd-tint); border-radius: var(--pd-radius); border-left: 4px solid var(--pd-blue); }
body .p4p-pd .p4p-pd-verdict__title { display: block; margin: 0 0 10px; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--pd-blue); }
body .p4p-pd .p4p-pd-verdict p:not(.p4p-pd-verdict__title) { font-size: 16.5px; color: var(--pd-navy); }

/* Autor in der Einordnung (Ring kommt aus dem Bild) */
.p4p-pd-author { display: flex; align-items: center; gap: 14px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--pd-border); }
.p4p-pd-author img { flex: 0 0 auto; width: 64px; height: 64px; object-fit: contain; border: 0; border-radius: 0; box-shadow: none; background: none; }
.p4p-pd-author__name { display: block; font-weight: 700; color: var(--pd-navy); line-height: 1.3; }
.p4p-pd-author__role { display: block; font-size: 14px; color: var(--pd-muted); line-height: 1.4; }
body .p4p-pd .p4p-pd-author a { font-size: 14px; }

/* Interne Links als Chips */
.p4p-pd-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.p4p-pd-links li { margin: 0; }
body .p4p-pd .p4p-pd-links a { display: inline-block; padding: 8px 16px; border-radius: 99px; background: var(--pd-tint-2); color: var(--pd-blue); font-size: 14px; font-weight: 700; text-decoration: none; }
body .p4p-pd .p4p-pd-links a:hover { background: var(--pd-blue); color: #fff; }

/* FAQ (details/summary) */
.p4p-pd-faq { margin: 20px 0 0; display: grid; gap: 10px; }
.p4p-pd-faq details { background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-sm); transition: border-color .2s; }
.p4p-pd-faq details[open] { border-color: var(--pd-blue); box-shadow: var(--pd-shadow); }
body .p4p-pd .p4p-pd-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 20px; font-family: "Barlow Condensed", Arial, Helvetica, sans-serif; font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; text-transform: uppercase; color: var(--pd-navy); }
.p4p-pd-faq summary::-webkit-details-marker { display: none; }
.p4p-pd-faq summary::after { content: "+"; flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--pd-tint-2); color: var(--pd-blue); font-size: 20px; font-weight: 600; line-height: 28px; text-align: center; transition: transform .2s, background .2s, color .2s; }
.p4p-pd-faq details[open] summary::after { transform: rotate(45deg); background: var(--pd-blue); color: #fff; }
.p4p-pd-faq details > div { padding: 0 20px 18px; }
body .p4p-pd .p4p-pd-faq details > div p:last-child { margin-bottom: 0; }

/* Mobil */
@media (max-width: 639px) {
  body .p4p-pd h2 { margin-top: 36px; }
  .p4p-pd-lead { font-size: 17px; }
  .p4p-pd-fit { grid-template-columns: 1fr; }
  .p4p-pd-verdict { margin-top: 36px; }
}


/* ---------- Markenseite (v1.3) ----------
   Aufbau /marke/{slug}/ in Elementor:
   1. Container "Volle Breite", Padding 0, Hintergrundbild nativ, CSS-Klasse: p4p-hero,
      Höhe nativ (Desktop 500 px, mobil 400 px), Ausrichtung Inhalt unten, kein natives Overlay
      darin HTML 1: Logo-Chip, H1, Intro
   2. Container "Volle Breite", Padding 0, darin HTML 2: Eckdaten-Leiste
   3. Container Standardbreite, darin HTML 3: Kategorie-Rail
   4. Native Karussells und Trennbilder
   5. HTML 4: Textblock mit FAQ */

/* Hero: gilt für den nativen Container mit Klasse p4p-hero.
   Höhe, Hintergrundbild und Ausrichtung (Inhalt unten) stellst du nativ im Container ein.
   Das CSS liefert nur den Verlauf für die Lesbarkeit und die Abstände des Textes. */
.p4p-hero { position: relative; isolation: isolate; }
.p4p-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(11,17,23,.88) 0%, rgba(11,17,23,.6) 42%, rgba(11,17,23,0) 78%),
              linear-gradient(0deg, rgba(11,17,23,.5) 0%, rgba(11,17,23,0) 45%);
}
.p4p-hero > * { position: relative; z-index: 1; }
.p4p-hero .elementor-widget-html { width: 100%; }
.p4p-hero .p4p-content { box-sizing: border-box; width: 100%; padding: 32px 15px clamp(28px, 4vw, 48px); }
.p4p-hero__content { max-width: 640px; }
.p4p-hero__logo {
  display: inline-flex; align-items: center; justify-content: center;
  height: 60px; padding: 0 20px; margin-bottom: 22px;
  background: #fff; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.p4p-hero__logo img { display: block; height: 40px; width: auto; object-fit: contain; }
body .p4p-content .p4p-hero__content h1 { color: #fff; font-weight: 800; font-size: clamp(30px, 4.4vw, 54px); line-height: 1.08; letter-spacing: -0.02em; margin: 0 0 14px; }
body .p4p-content .p4p-hero__content .p4p-lead { color: rgba(255,255,255,.86); margin: 0; }

/* Eckdaten-Leiste direkt unter dem Hero */
.p4p-content.p4p-content--full { max-width: none; }
.p4p-factbar { background: #fff; border-bottom: 1px solid var(--p4p-border); box-shadow: 0 10px 30px rgba(11,17,23,.05); }
body .p4p-content .p4p-factbar__list { box-sizing: border-box; list-style: none; display: flex; max-width: 1200px; margin: 0 auto; padding: 0 15px; }
.p4p-factbar__list li { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; margin: 0; padding: 20px 12px; border-right: 1px solid var(--p4p-border); text-align: center; line-height: 1.3; }
.p4p-factbar__list li:last-child { border-right: 0; }
body .p4p-content .p4p-factbar__list strong { color: var(--p4p-navy); font-size: 18px; font-weight: 800; }
body .p4p-content .p4p-factbar__list span { color: var(--p4p-muted); font-size: 13px; }

@media (max-width: 639px) {
  .p4p-hero::before { background: linear-gradient(0deg, rgba(11,17,23,.94) 0%, rgba(11,17,23,.72) 48%, rgba(11,17,23,.08) 85%); }
  .p4p-hero .p4p-content { padding-top: 24px; padding-bottom: 24px; }
  .p4p-hero__logo { height: 50px; padding: 0 16px; margin-bottom: 16px; }
  .p4p-hero__logo img { height: 32px; }
  .p4p-factbar__list li { padding: 14px 6px; }
  body .p4p-content .p4p-factbar__list strong { font-size: 15px; }
  body .p4p-content .p4p-factbar__list span { font-size: 12px; }
}

/* Kategorie-Rail: runde Produktbilder, Desktop zentriert in einer Reihe (bis 7+),
   mobil zentriert, wenn alles passt, sonst seitlich wischbar.
   Neue Kategorie (Zubehör, Bekleidung, Deals) = ein <a class="p4p-catrail__item"> kopieren. */
.p4p-catrail {
  display: flex; justify-content: center; gap: clamp(12px, 2.4vw, 32px);
  margin: clamp(24px, 3.5vw, 40px) 0 0; padding: 4px 0 8px;
}
body .p4p-content .p4p-catrail a.p4p-catrail__item {
  flex: 0 0 auto; min-width: 112px;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  color: var(--p4p-navy); font-weight: 700;
  text-decoration: none; border: 0; box-shadow: none; background-image: none;
}
.p4p-catrail__img {
  display: block; width: 104px; height: 104px; border-radius: 50%;
  background: var(--p4p-tint); box-shadow: inset 0 0 0 1px var(--p4p-border);
  overflow: hidden; transition: box-shadow .25s, transform .25s;
}
.p4p-catrail__img img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 16%; mix-blend-mode: multiply; transition: transform .35s; }
body .p4p-content .p4p-catrail__label {
  font-size: 14px; font-weight: 700; line-height: 1.3; text-align: center;
  white-space: nowrap; text-decoration: none; transition: color .2s;
}
body .p4p-content .p4p-catrail a.p4p-catrail__item:hover,
body .p4p-content .p4p-catrail a.p4p-catrail__item:focus-visible { color: var(--p4p-blue); text-decoration: none; outline: none; }
body .p4p-content .p4p-catrail a.p4p-catrail__item:hover .p4p-catrail__img,
body .p4p-content .p4p-catrail a.p4p-catrail__item:focus-visible .p4p-catrail__img {
  box-shadow: inset 0 0 0 2px var(--p4p-highlight), 0 10px 24px rgba(11,17,23,.10);
  transform: translateY(-3px);
}
.p4p-catrail__item:hover .p4p-catrail__img img { transform: scale(1.08); }

@media (max-width: 639px) {
  .p4p-catrail {
    --rail-gap: 8px;
    justify-content: flex-start; gap: var(--rail-gap);
    overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-left: -15px; margin-right: -15px; padding: 6px 15px 10px;
    scroll-padding-inline: 15px;
  }
  .p4p-catrail::-webkit-scrollbar { display: none; }
  /* nur 3 oder weniger Kategorien: mittig statt linksbündig */
  .p4p-catrail > :first-child { margin-left: auto; }
  .p4p-catrail > :last-child { margin-right: auto; }
  /* 3,5 Items sichtbar: 3 ganze + ein halbes als Wisch-Hinweis */
  body .p4p-content .p4p-catrail a.p4p-catrail__item {
    flex: 0 0 calc((100% - 3 * var(--rail-gap)) / 3.5);
    min-width: 0; gap: 8px; scroll-snap-align: start;
  }
  .p4p-catrail__img { width: 100%; max-width: 76px; height: auto; aspect-ratio: 1; }
  body .p4p-content .p4p-catrail__label {
    font-size: 12px; white-space: normal; hyphens: auto; -webkit-hyphens: auto;
  }
}

/* Text-Bild-Block: Fließtext links, Hochformat-Bild rechts (mobil Bild oben, zentriert) */
.p4p-media { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: clamp(24px, 4vw, 48px); align-items: start; }
.p4p-media__body > :first-child { margin-top: 0; }
.p4p-media__img { margin: 0; }
.p4p-media__img img { display: block; width: 100%; height: auto; border-radius: var(--p4p-radius); box-shadow: 0 18px 40px rgba(11,17,23,.14); }
.p4p-media__img figcaption { margin-top: 10px; font-size: 13px; line-height: 1.4; color: var(--p4p-muted); text-align: center; }
@media (max-width: 639px) {
  .p4p-media { grid-template-columns: 1fr; }
  .p4p-media__img { order: -1; width: 180px; margin: 0 auto; }
}

/* Karussell-Kopf: Titel als schräger Reiter, "Alle ansehen" rechts.
   Eigenes HTML-Modul direkt über dem nativen Karussell (Titel im Karussell-Widget leer lassen).
   Gleicher Code auf allen Marken-, Kategorie- und Startseiten: nur H2-Text und Link tauschen. */
.p4p-rowhead { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 22px; }
body .p4p-content .p4p-rowhead h2 {
  margin: 0; padding: 11px 34px 10px 20px;
  background: linear-gradient(100deg, var(--p4p-navy) 0%, #12314a 70%, var(--p4p-blue) 140%);
  color: #fff; font-size: clamp(18px, 2vw, 24px); font-weight: 800; line-height: 1.2; letter-spacing: -0.01em;
  border-radius: 10px 0 0 0;
  clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0 100%);
}
body .p4p-content a.p4p-rowhead__more {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px;
  padding: 0; color: var(--p4p-blue);
  font-size: 14px; font-weight: 700; line-height: 1; white-space: nowrap;
  text-decoration: none !important; border: 0 !important; box-shadow: none !important; background-image: none !important;
}
body .p4p-content a.p4p-rowhead__more::after {
  content: ""; width: 14px; height: 14px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: transform .2s;
}
body .p4p-content a.p4p-rowhead__more:hover,
body .p4p-content a.p4p-rowhead__more:focus-visible { color: var(--p4p-navy); outline: none; text-decoration: none !important; }
body .p4p-content a.p4p-rowhead__more:hover::after { transform: translateX(3px); }
@media (max-width: 639px) {
  .p4p-rowhead { gap: 10px; margin-bottom: 16px; }
  body .p4p-content .p4p-rowhead h2 { padding: 9px 26px 8px 14px; font-size: 17px; clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%); }
  body .p4p-content a.p4p-rowhead__more { font-size: 13px; }
}

/* Variante für Querformat-Bilder (z. B. 400 × 270): breitere Bildspalte */
.p4p-media--wide { grid-template-columns: minmax(0, 1fr) 360px; }
@media (max-width: 639px) {
  .p4p-media, .p4p-media--wide { grid-template-columns: 1fr; }
  .p4p-media__img { order: -1; width: 180px; margin: 0 auto; }
  .p4p-media--wide .p4p-media__img { width: 100%; max-width: 400px; }
}

/* ---------- Marken-Karten (v1.3) ---------- */
/* Variante B: querformatige Markenkarte, komplette Karte klickbar */
body .p4p-content a.p4p-brandcard {
  display: grid; grid-template-columns: 150px 1fr; gap: 24px; align-items: center;
  padding: 22px 24px 22px 22px;
  background: #fff; border: 1px solid var(--p4p-border); border-radius: var(--p4p-radius);
  box-shadow: var(--p4p-shadow);
  color: inherit; font-weight: 400; text-decoration: none;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
body .p4p-content a.p4p-brandcard:hover { transform: translateY(-3px); border-color: var(--p4p-highlight); box-shadow: 0 14px 34px rgba(13,131,200,.14); }
.p4p-brandcard__logo { display: flex; align-items: center; justify-content: center; align-self: stretch; min-height: 110px; padding: 16px; border-radius: 12px; background: #fff; border: 1px solid var(--p4p-border); }
.p4p-brandcard__logo img { display: block; max-width: 100%; max-height: 64px; width: auto; height: auto; object-fit: contain; }
body .p4p-content .p4p-brandcard h3 { margin: 0 0 6px; }
body .p4p-content .p4p-brandcard p { margin: 0 0 12px; }
.p4p-brandcard__meta { display: block; font-size: 13px; font-weight: 700; color: var(--p4p-muted); letter-spacing: .02em; }
.p4p-brandcard__go { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; font-weight: 700; color: var(--p4p-blue); }
.p4p-brandcard__go::after { content: "\2192"; transition: transform .2s; }
body .p4p-content a.p4p-brandcard:hover .p4p-brandcard__go::after { transform: translateX(4px); }
@media (max-width: 639px) {
  body .p4p-content a.p4p-brandcard { grid-template-columns: 1fr; gap: 16px; padding: 18px; height: 100%; align-content: start; }
  .p4p-brandcard__logo { min-height: 96px; }
}

/* ---------- Logo-Finder (v1.3) ----------
   Markenseite /padel-marken/: dunkle Bühne, zentrale Suche, Logo-Raster.
   Neue Marke = ein <li> kopieren, Reihenfolge im HTML egal (JS sortiert A bis Z).
   Hintergrund volle Seitenbreite: Elementor-Container auf "Volle Breite", Padding 0.
   Inhalt bleibt über .p4p-logos__inner in der Standardbreite (1200 px). */
.p4p-content.p4p-content--full { max-width: none; }
.p4p-logos {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0;
  padding: clamp(40px, 7vw, 88px) 15px;
  background:
    radial-gradient(90% 120% at 100% 0%, rgba(10,180,255,.28) 0%, rgba(10,180,255,0) 55%),
    radial-gradient(60% 80% at 0% 100%, rgba(13,131,200,.25) 0%, rgba(13,131,200,0) 60%),
    var(--p4p-navy);
}
/* Deko: Bogen in Highlight-Farbe + angedeuteter Court */
.p4p-logos::before {
  content: "";
  position: absolute; z-index: -1;
  width: clamp(420px, 70vw, 900px); aspect-ratio: 1;
  left: -10%; top: 30%;
  border: 2px solid var(--p4p-highlight);
  border-radius: 50%;
  opacity: .22;
  pointer-events: none;
}
.p4p-logos::after {
  content: "";
  position: absolute; z-index: -1;
  width: clamp(340px, 55vw, 700px); aspect-ratio: 2 / 1;
  right: -4%; bottom: -12%;
  transform: rotate(-10deg);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 100' fill='none' stroke='%23ffffff' stroke-width='1.2'%3E%3Crect x='1' y='1' width='198' height='98' rx='2'/%3E%3Cpath d='M100 1v98' stroke-width='2.4'/%3E%3Cpath d='M30.5 1v98M169.5 1v98M30.5 50h139'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity: .07;
  pointer-events: none;
}
.p4p-logos__inner { position: relative; max-width: 1200px; margin: 0 auto; }
.p4p-logos__head { max-width: 720px; margin: 0 auto 28px; text-align: center; }
.p4p-logos .p4p-eyebrow { color: var(--p4p-highlight); }
body .p4p-content .p4p-logos__head h2 { color: #fff; font-size: clamp(28px, 4vw, 44px); line-height: 1.1; margin: 0 0 10px; }
body .p4p-content .p4p-logos__head p { color: rgba(255,255,255,.75); margin: 0; }
.p4p-logos__bar { display: flex; gap: 10px; align-items: center; max-width: 720px; margin: 0 auto 32px; }
.p4p-logos__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.p4p-logos__search {
  flex: 1 1 auto; margin: 0; display: block; position: relative;
  border-radius: 99px; background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  transition: box-shadow .2s;
}
/* Fokus-Ring sitzt am Pill-Wrapper, nicht am Input: kein Theme-Rahmen, keine Verschiebung */
.p4p-logos__search:focus-within { box-shadow: 0 0 0 3px var(--p4p-highlight), 0 10px 30px rgba(0,0,0,.25); }
body .p4p-content .p4p-logos__search input {
  -webkit-appearance: none; appearance: none;
  display: block; box-sizing: border-box;
  width: 100%; height: 56px; margin: 0;
  border: 0 !important; border-radius: 99px;
  outline: none !important; box-shadow: none !important;
  padding: 0 20px 0 50px;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7385' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") 19px center/19px no-repeat;
  font: inherit; font-size: 16px; color: var(--p4p-navy);
}
body .p4p-content .p4p-logos__search input::-webkit-search-decoration,
body .p4p-content .p4p-logos__search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.p4p-logos__sortwrap { flex: 0 0 auto; margin: 0; }
body .p4p-content .p4p-logos__sort {
  appearance: none; -webkit-appearance: none;
  height: 56px; margin: 0;
  border: 0; border-radius: 99px;
  padding: 0 42px 0 20px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230D83C8' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") right 18px center/12px no-repeat;
  font: inherit; font-size: 14px; font-weight: 700; color: var(--p4p-navy);
  box-shadow: none; outline: none;
  cursor: pointer;
}
body .p4p-content .p4p-logos__sort:focus-visible { box-shadow: 0 0 0 3px var(--p4p-highlight); }
.p4p-logos__grid {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.p4p-logos__item { margin: 0; }
.p4p-logos__item[hidden] { display: none !important; }
body .p4p-content a.p4p-logos__link {
  display: flex; align-items: center; justify-content: center;
  aspect-ratio: 4 / 3;
  padding: 16% 18%;
  background: #fff;
  border-radius: 18px;
  text-decoration: none;
  transition: transform .25s, box-shadow .25s;
}
.p4p-logos__link img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .25s; }
body .p4p-content a.p4p-logos__link:hover,
body .p4p-content a.p4p-logos__link:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 0 0 3px var(--p4p-highlight), 0 18px 40px rgba(0,0,0,.35);
  outline: none;
}
.p4p-logos__link:hover img { transform: scale(1.05); }
body .p4p-content .p4p-logos__empty { margin: 20px auto 0; max-width: 720px; padding: 18px; border-radius: 12px; background: rgba(255,255,255,.08); color: #fff; text-align: center; }
.p4p-logos__empty[hidden] { display: none !important; }
body .p4p-content .p4p-logos__empty a { color: var(--p4p-highlight); text-decoration-color: rgba(10,180,255,.5); }

@media (max-width: 899px) {
  .p4p-logos__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .p4p-logos { padding: 36px 15px; }
  .p4p-logos::before { width: 520px; left: -70%; top: 40%; }
  .p4p-logos::after { width: 320px; right: -35%; bottom: -6%; }
  .p4p-logos__bar { gap: 8px; margin-bottom: 22px; }
  body .p4p-content .p4p-logos__search input { height: 50px; padding-left: 44px; background-position: 16px center; }
  body .p4p-content .p4p-logos__sort { height: 50px; padding: 0 32px 0 14px; background-position: right 12px center; }
  .p4p-logos__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  body .p4p-content a.p4p-logos__link { border-radius: 14px; }
}

/* =========================================================
   P4P CONTENT SYSTEM  |  globale Klassen für SEO-Texte
   Einsatz: HTML im Elementor-Code-Modul, alles in
   <div class="p4p-content"> ... </div> einpacken.
   Ablage: WoodMart > Theme Settings > Custom CSS
           oder Elementor > Website-Einstellungen > Custom CSS
   ========================================================= */

.p4p-content {
  --p4p-blue: #0D83C8;        /* P4P Blau: Eyebrow, Links, Buttons */
  --p4p-highlight: #0AB4FF;   /* Highlight: Balken, Akzente */
  --p4p-text: #3D4558;        /* Fließtext */
  --p4p-navy: #0b1117;        /* Überschriften, dunkle Boxen */
  --p4p-muted: #6B7385;
  --p4p-tint: #F2F8FC;        /* heller Blau-Hintergrund */
  --p4p-tint-2: #E6F4FC;
  --p4p-border: #DCE8F2;
  --p4p-radius: 14px;
  --p4p-radius-sm: 8px;
  --p4p-shadow: 0 6px 24px rgba(11, 17, 23, .06);
  --p4p-gap: 20px;

  color: var(--p4p-text);
  font-size: 16px;
  line-height: 1.7;
  max-width: 1200px;
  margin: 0 auto;
}
.p4p-content *, .p4p-content *::before, .p4p-content *::after { box-sizing: border-box; }

/* ---------- Typografie ---------- */
body .p4p-content h2,
body .p4p-content h3,
body .p4p-content h4 {
  color: var(--p4p-navy);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin: 0 0 .6em;
}
body .p4p-content h2 { font-size: clamp(24px, 3vw, 34px); }
body .p4p-content h3 { font-size: clamp(18px, 2vw, 21px); }
body .p4p-content h4 { font-size: 17px; }
body .p4p-content p { margin: 0 0 1em; color: var(--p4p-text); }
body .p4p-content p:last-child { margin-bottom: 0; }
body .p4p-content strong { color: var(--p4p-navy); font-weight: 700; }
body .p4p-content a:not(.p4p-btn) {
  color: var(--p4p-blue);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(13, 131, 200, .35);
  text-underline-offset: 3px;
  transition: color .2s, text-decoration-color .2s;
}
body .p4p-content a:not(.p4p-btn):hover { color: var(--p4p-highlight); text-decoration-color: currentColor; }

/* ---------- Sektionen ---------- */
.p4p-section { padding: 56px 0; }
.p4p-section + .p4p-section { border-top: 1px solid var(--p4p-border); }
.p4p-section--tint {
  background: var(--p4p-tint);
  border-radius: var(--p4p-radius);
  padding: 48px clamp(20px, 4vw, 48px);
  border-top: 0 !important;
}
.p4p-section--tint + .p4p-section { border-top: 0; }
.p4p-section__head { max-width: 780px; margin-bottom: 28px; }
.p4p-section__head--center { margin-left: auto; margin-right: auto; text-align: center; }

/* Eyebrow: kleine Zeile über der H2 (z. B. "Kriterium 1") */
.p4p-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--p4p-blue);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.p4p-eyebrow::before {
  content: "";
  width: 24px;
  height: 2px;
  background: var(--p4p-highlight);
  border-radius: 2px;
}
.p4p-lead { font-size: 18px; line-height: 1.65; color: var(--p4p-text); }

/* ---------- Grid ---------- */
.p4p-grid { display: grid; gap: var(--p4p-gap); grid-template-columns: 1fr; margin: 24px 0 0; }
@media (min-width: 640px) {
  .p4p-grid--2, .p4p-grid--3, .p4p-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1000px) {
  .p4p-grid--3 { grid-template-columns: repeat(3, 1fr); }
  .p4p-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- Karten ---------- */
.p4p-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--p4p-border);
  border-radius: var(--p4p-radius);
  padding: 24px;
  box-shadow: var(--p4p-shadow);
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.p4p-card:hover { transform: translateY(-2px); border-color: var(--p4p-highlight); box-shadow: 0 10px 30px rgba(13, 131, 200, .12); }
.p4p-card > p { flex: 1; }
.p4p-card--accent { border-top: 4px solid var(--p4p-blue); }
.p4p-card--featured { border: 2px solid var(--p4p-blue); }
.p4p-card--dark { background: var(--p4p-navy); border-color: var(--p4p-navy); }
body .p4p-content .p4p-card--dark h3,
body .p4p-content .p4p-card--dark strong { color: #fff; }
body .p4p-content .p4p-card--dark p { color: rgba(255,255,255,.78); }
.p4p-card__img { margin: -24px -24px 20px; border-radius: var(--p4p-radius) var(--p4p-radius) 0 0; overflow: hidden; background: var(--p4p-tint); }
.p4p-card__img img { display: block; width: 100%; height: auto; }
a.p4p-card { text-decoration: none !important; color: inherit !important; font-weight: 400 !important; }

/* Badge oben auf der Karte ("Für die meisten") */
.p4p-badge {
  position: absolute;
  top: -12px;
  left: 24px;
  background: var(--p4p-blue);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  padding: 4px 12px;
  border-radius: 99px;
}

/* Tag / Chip am Kartenende ("Rund · weich · unter 360 g") */
.p4p-tag {
  display: inline-block;
  align-self: flex-start;
  margin-top: 16px;
  background: var(--p4p-tint-2);
  color: var(--p4p-blue);
  font-size: 13px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 99px;
}
.p4p-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.p4p-tags .p4p-tag { margin-top: 0; }

/* ---------- Preisstufen ---------- */
.p4p-price__label { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--p4p-muted); }
.p4p-price__value { font-size: 28px; font-weight: 800; color: var(--p4p-navy); line-height: 1.2; margin: 6px 0 12px; }

/* ---------- Bewertungsbalken (Wert 1-10 über --v) ---------- */
.p4p-bars { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 12px; }
.p4p-bars li { display: grid; grid-template-columns: 120px 1fr 32px; align-items: center; gap: 14px; margin: 0; }
.p4p-bars__label { font-weight: 700; color: var(--p4p-navy); }
.p4p-bars__track { height: 10px; background: var(--p4p-tint-2); border-radius: 99px; overflow: hidden; }
.p4p-bars__fill { display: block; height: 100%; width: calc(var(--v, 5) * 10%); background: linear-gradient(90deg, var(--p4p-blue), var(--p4p-highlight)); border-radius: 99px; }
.p4p-bars__value { font-weight: 800; color: var(--p4p-blue); text-align: right; }

/* ---------- Skala (Griffnah | Mittig | Kopflastig) ---------- */
.p4p-scale { display: grid; grid-template-columns: repeat(var(--steps, 3), 1fr); margin: 24px 0 0; border-radius: var(--p4p-radius-sm); overflow: hidden; border: 1px solid var(--p4p-border); }
.p4p-scale > div { padding: 16px; text-align: center; background: #fff; }
.p4p-scale > div:nth-child(2) { background: var(--p4p-tint); }
.p4p-scale > div:nth-child(3) { background: var(--p4p-tint-2); }
.p4p-scale > div:nth-child(4) { background: #D3ECFA; }
.p4p-scale strong { display: block; font-size: 16px; }
.p4p-scale span { display: block; font-size: 13px; color: var(--p4p-blue); font-weight: 600; }

/* ---------- Spezifikationsliste (3K / 12K / 18K) ---------- */
.p4p-spec { list-style: none; margin: 24px 0 0; padding: 0; border: 1px solid var(--p4p-border); border-radius: var(--p4p-radius); overflow: hidden; background: #fff; }
.p4p-spec li { display: grid; grid-template-columns: 90px 1fr; gap: 16px; align-items: center; padding: 14px 20px; margin: 0; border-bottom: 1px solid var(--p4p-border); }
.p4p-spec li:last-child { border-bottom: 0; }
.p4p-spec__key { font-size: 20px; font-weight: 800; color: var(--p4p-blue); }
/* NEU v1.4: Variante für lange Begriffe (Schlagfläche, Handschlaufe, 100 Tage) */
.p4p-spec--wide li { grid-template-columns: 160px 1fr; }
.p4p-spec--wide .p4p-spec__key { font-size: 18px; white-space: nowrap; }

/* ---------- Listen ---------- */
.p4p-list { list-style: none; margin: 16px 0; padding: 0; }
.p4p-list li { position: relative; padding-left: 30px; margin: 0 0 10px; }
.p4p-list li::before {
  content: "";
  position: absolute; left: 0; top: .45em;
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--p4p-tint-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230D83C8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;
}
.p4p-steps { counter-reset: p4p-step; list-style: none; margin: 16px 0; padding: 0; }
.p4p-steps li { counter-increment: p4p-step; position: relative; padding-left: 44px; margin: 0 0 14px; min-height: 30px; }
.p4p-steps li::before {
  content: counter(p4p-step);
  position: absolute; left: 0; top: 0;
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--p4p-blue); color: #fff;
  font-weight: 800; font-size: 14px;
  display: flex; align-items: center; justify-content: center;
}

/* ---------- Hinweisboxen ---------- */
.p4p-tip {
  margin: 24px 0 0;
  padding: 20px 24px;
  background: var(--p4p-tint);
  border-left: 4px solid var(--p4p-blue);
  border-radius: 0 var(--p4p-radius-sm) var(--p4p-radius-sm) 0;
}
.p4p-tip__title { display: block; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--p4p-blue); margin-bottom: 6px; }
.p4p-tip--dark { background: var(--p4p-navy); border-left-color: var(--p4p-highlight); }
.p4p-tip--dark .p4p-tip__title { color: var(--p4p-highlight); }
body .p4p-content .p4p-tip--dark p { color: rgba(255,255,255,.85); }

/* ---------- Tabelle ---------- */
.p4p-table-wrap { overflow-x: auto; margin: 24px 0 0; border: 1px solid var(--p4p-border); border-radius: var(--p4p-radius); }
.p4p-table { width: 100%; border-collapse: collapse; min-width: 560px; background: #fff; margin: 0; }
.p4p-table th { background: var(--p4p-navy); color: #fff; text-align: left; font-size: 14px; font-weight: 700; padding: 14px 16px; border: 0; }
.p4p-table td { padding: 14px 16px; border: 0; border-bottom: 1px solid var(--p4p-border); color: var(--p4p-text); vertical-align: top; }
.p4p-table tr:last-child td { border-bottom: 0; }
.p4p-table tr:nth-child(even) td { background: var(--p4p-tint); }
.p4p-table td:first-child { font-weight: 700; color: var(--p4p-navy); }

/* ---------- Buttons ---------- */
.p4p-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--p4p-blue); color: #fff !important;
  font-weight: 700; font-size: 15px;
  padding: 13px 26px; border-radius: 99px;
  text-decoration: none !important;
  transition: background .2s, transform .2s;
}
.p4p-btn::after { content: "\2192"; transition: transform .2s; }
.p4p-btn:hover { background: var(--p4p-highlight); }
.p4p-btn:hover::after { transform: translateX(3px); }
.p4p-btn--ghost { background: transparent; color: var(--p4p-blue) !important; box-shadow: inset 0 0 0 2px var(--p4p-blue); }
.p4p-btn--ghost:hover { background: var(--p4p-blue); color: #fff !important; }
.p4p-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

/* ---------- FAQ (details/summary, ohne JS) ---------- */
.p4p-faq { margin: 24px 0 0; display: grid; gap: 10px; }
.p4p-faq details { background: #fff; border: 1px solid var(--p4p-border); border-radius: var(--p4p-radius-sm); transition: border-color .2s; }
.p4p-faq details[open] { border-color: var(--p4p-blue); box-shadow: var(--p4p-shadow); }
.p4p-faq summary {
  list-style: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: 18px 22px; font-weight: 700; color: var(--p4p-navy);
}
.p4p-faq summary::-webkit-details-marker { display: none; }
.p4p-faq summary::after {
  content: "+"; flex-shrink: 0;
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--p4p-tint-2); color: var(--p4p-blue);
  font-size: 20px; font-weight: 600; line-height: 28px; text-align: center;
  transition: transform .2s, background .2s, color .2s;
}
.p4p-faq details[open] summary::after { transform: rotate(45deg); background: var(--p4p-blue); color: #fff; }
.p4p-faq details > div { padding: 0 22px 20px; }

/* ---------- CTA-Box (dunkel) ---------- */
.p4p-cta {
  margin: 56px 0 0;
  padding: clamp(28px, 5vw, 56px);
  background: radial-gradient(120% 140% at 100% 0%, rgba(10,180,255,.28) 0%, rgba(10,180,255,0) 55%), var(--p4p-navy);
  border-radius: var(--p4p-radius);
  text-align: center;
}
body .p4p-content .p4p-cta h2 { color: #fff; }
body .p4p-content .p4p-cta p { color: rgba(255,255,255,.8); max-width: 620px; margin-left: auto; margin-right: auto; }
.p4p-cta .p4p-eyebrow { color: var(--p4p-highlight); }
.p4p-cta .p4p-actions { justify-content: center; }

/* ---------- Mobile ---------- */
@media (max-width: 639px) {
  .p4p-section { padding: 40px 0; }
  .p4p-section--tint { padding: 32px 18px; }
  .p4p-card { padding: 20px; }
  .p4p-card__img { margin: -20px -20px 16px; }
  .p4p-bars li { grid-template-columns: 90px 1fr 28px; gap: 10px; }
  .p4p-spec li { grid-template-columns: 64px 1fr; padding: 12px 16px; }
  .p4p-spec--wide li { grid-template-columns: 1fr; gap: 2px; } /* NEU v1.4: lange Begriffe mobil untereinander */
  .p4p-scale { grid-template-columns: 1fr; }
}

/* ---------- Ergänzungen v1.1 ---------- */
/* Abstand für Fließtext direkt nach Grid, Skala, Spec-Liste oder Tabelle */
body .p4p-content .p4p-grid + p,
body .p4p-content .p4p-scale + p,
body .p4p-content .p4p-spec + p,
body .p4p-content .p4p-table-wrap + p { margin-top: 24px; }
/* FAQ-Frage als echte H3 (SEO) im Akkordeon */
body .p4p-content .p4p-faq summary h3 { margin: 0; font-size: 17px; line-height: 1.4; font-weight: 700; color: var(--p4p-navy); }

/* ---------- Karussell mobil (v1.2) ----------
   Nutzung: an jedes Raster mit 3+ Elementen anhängen
   <div class="p4p-grid p4p-grid--3 p4p-slider">
   Desktop/Tablet: normales Raster | Handy: wischbares Karussell */
.p4p-content { --p4p-bleed: 15px; } /* = Seitenabstand des Mobil-Containers */
@media (max-width: 639px) {
  .p4p-grid.p4p-slider {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-left: calc(var(--p4p-bleed) * -1);
    margin-right: calc(var(--p4p-bleed) * -1);
    padding: 14px var(--p4p-bleed) 20px;
    scroll-padding: 0 var(--p4p-bleed);
  }
  .p4p-grid.p4p-slider::-webkit-scrollbar { display: none; }
  .p4p-grid.p4p-slider > * {
    flex: 0 0 84%;
    max-width: 84%;
    scroll-snap-align: start;
  }
  .p4p-grid.p4p-slider > .p4p-card:hover { transform: none; }
}

/* =========================================
   WOODMART MARKENFILTER
   ========================================= */

/* Markenname ausblenden */
.woodmart-woocommerce-layered-nav
.wd-swatches-brands.wd-labels-off
.wd-filter-lable {
    display: none !important;
}

/* Produktanzahl ausblenden */
.woodmart-woocommerce-layered-nav
.count {
    display: none !important;
}

/* Vollständige Markenlogos statt quadratischer Ausschnitte */
.wd-swatches-filter.wd-swatches-brands {
    --wd-swatch-h: 100% !important;
    --wd-swatch-w: 80px !important;
}

/* Kein Rahmen/Kasten um Markenlogos */
.wd-swatches-brands .wd-swatch {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Markenlogo proportional darstellen */
.wd-swatches-brands .wd-swatch-bg img {
    width: 100% !important;
    height: auto !important;
    max-height: 45px !important;
    object-fit: contain !important;
}



/* =========================================
   WOODMART FARBFILTER – 2 SPALTEN
   Nur Attribut "farbe"
   ========================================= */



/* Coupon Code anzeigen Fix Warenkorb & Kasse */
.wc-block-components-totals-coupon__input:focus-within label {
  display: none !important;
}

.wc-block-components-totals-coupon__input input:not(:placeholder-shown) + label {
  display: none !important;
}

/* Schläger Finder Close Button */
.p4p-finder-popup__close {
	width: 60px !important;
}

/*Farbswatch Silber*/
.swatch-schwarz-silber { background: linear-gradient(to right, #000000, #C0C0C0); }

/* Auf Kassenseite Artikelanzahl ausblenden */

.wc-block-components-order-summary div.wc-block-components-order-summary-item__quantity {
background: #0D83C8;
box-shadow: none !important;
}

/* Lagebestand auf Produkteinzelseite ausblenden */
p.stock.wd-style-default:is(.available-on-backorder,.in-stock) {
	display: none;
}

.home .wd-content-layout {
    padding-top: 0;
}

/* === P4P Produktbeschreibung === */
.p4p-desc { font-family: 'DM Sans', sans-serif; color: #3D4558; line-height: 1.75; font-size: 15px; }
.p4p-desc h2 { font-family: 'Bebas Neue', sans-serif; font-size: 26px; line-height: 1.15; color: #0b1117; letter-spacing: 0.02em; margin: 2rem 0 0.75rem; position: relative; padding-left: 14px; }
.p4p-desc h2::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 4px; background: #0AB4FF; border-radius: 2px; }
.p4p-desc h3 { font-family: 'DM Sans', sans-serif; font-size: 16px; font-weight: 700; color: #0b1117; margin: 1.5rem 0 0.5rem; }
.p4p-desc p { margin-bottom: 1rem; }
.p4p-desc ul { list-style: none; padding: 0; margin: 1rem 0 1.5rem; }
.p4p-desc ul li { position: relative; padding-left: 20px; margin-bottom: 8px; font-size: 14px; line-height: 1.6; }
.p4p-desc ul li::before { content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; background: #0AB4FF; border-radius: 50%; }
.p4p-features { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 1.5rem 0; }
.p4p-feature { background: #f8fafc; border: 1px solid #e8eff5; border-radius: 8px; padding: 16px 18px; }
.p4p-feature-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: #0AB4FF; margin-bottom: 4px; }
.p4p-feature-value { font-size: 14px; font-weight: 600; color: #0b1117; line-height: 1.4; }
.p4p-einschaetzung { background: linear-gradient(135deg, #f0f9ff 0%, #e8f4fd 100%); border-left: 4px solid #0D83C8; border-radius: 0 8px 8px 0; padding: 24px 28px; margin: 1.75rem 0; }
.p4p-einschaetzung-title { font-family: 'Bebas Neue', sans-serif; font-size: 18px; letter-spacing: 0.04em; color: #0D83C8; margin-bottom: 8px; }
.p4p-einschaetzung p { font-size: 14px; line-height: 1.7; color: #2a3a4a; margin-bottom: 0; font-style: italic; }
@media (max-width: 600px) { .p4p-features { grid-template-columns: 1fr; } .p4p-einschaetzung { padding: 20px 22px; } }@media (min-width: 1025px) {
	  .woocommerce .widget-area {
        padding-top: 100px;
    }
}

@media (max-width: 576px) {
	/* Schläger Finder Close Button */
.p4p-finder-popup__close {
	width: 60px !important;
}
}

