/* BCA Akkordeon – Frontend "Statement de Luxe" mit Farbwisch
   Farbe pro Eintrag: CSS-Variable --bca-acc-color (kommt aus dem Backend).
   Selektoren sind bewusst spezifisch, damit die globalen p/li/a-Regeln
   des Themes den Akkordeon-Inhalt nicht überschreiben. */
.bca-accordion{
	margin:60px 0;
	--bca-ease:cubic-bezier(.65,0,.35,1);
}
.bca-accordion__item{
	position:relative;
	overflow:hidden;
	border-bottom:1px solid #e4ded1;
}
.bca-accordion__item:first-child{
	border-top:1px solid #e4ded1;
}
.bca-accordion__item.is-open{
	border-color:transparent;
}
/* Farbfläche, die von links einwischt */
.bca-accordion__fill{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index:0;
	background:var(--bca-acc-color,#2a52bc);
	transform:scaleX(0);
	transform-origin:left center;
	transition:transform .55s var(--bca-ease);
	pointer-events:none;
}
.bca-accordion__item.is-open .bca-accordion__fill{
	transform:scaleX(1);
}
/* Beim Schließen läuft die Farbe nach rechts wieder raus */
.bca-accordion__item.is-closing .bca-accordion__fill{
	transform-origin:right center;
}
/* Display-Ziffer */
.bca-accordion__ghost{
	position:absolute;
	right:26px;
	top:-24px;
	z-index:1;
	font-family:'Playfair Display',Georgia,serif;
	font-weight:900;
	font-size:170px;
	line-height:1;
	color:#fff;
	opacity:0;
	transform:translateX(60px);
	pointer-events:none;
	user-select:none;
	transition:opacity .5s ease .15s,transform .6s cubic-bezier(.2,.8,.3,1) .15s;
}
.bca-accordion__item.is-open .bca-accordion__ghost{
	opacity:.13;
	transform:none;
}
/* Kopfzeile */
.bca-accordion__heading{
	margin:0;
	padding:0;
	font-size:inherit;
	line-height:inherit;
	font-weight:inherit;
}
.bca-accordion .bca-accordion__trigger{
	position:relative;
	z-index:2;
	display:flex;
	align-items:center;
	gap:22px;
	width:100%;
	margin:0;
	padding:26px 6px;
	background:none;
	border:0;
	border-radius:0;
	text-align:left;
	cursor:pointer;
	font-family:"Montserrat",sans-serif;
	transition:padding .5s var(--bca-ease);
	-webkit-appearance:none;
	appearance:none;
}
.bca-accordion .bca-accordion__trigger:hover,
.bca-accordion .bca-accordion__trigger:focus{
	background:none;
}
.bca-accordion .bca-accordion__trigger:focus-visible{
	outline:2px solid #b89434;
	outline-offset:-4px;
}
.bca-accordion__item.is-open .bca-accordion__trigger{
	padding:42px 34px 8px;
}
.bca-accordion__text{
	flex:1 1 auto;
	min-width:0;
}
.bca-accordion__kicker{
	display:block;
	margin-bottom:8px;
	font-family:"Montserrat",sans-serif;
	font-size:11px;
	font-weight:600;
	letter-spacing:.2em;
	text-transform:uppercase;
	color:#b89434;
	transition:color .4s ease;
}
.bca-accordion__item.is-open .bca-accordion__kicker{
	color:rgba(255,255,255,.72);
}
.bca-accordion__title{
	display:block;
	font-family:'Playfair Display',Georgia,serif;
	font-size:26px;
	font-weight:700;
	line-height:1.22;
	letter-spacing:-.02em;
	color:#2a52bc;
	transition:color .4s ease,font-size .5s var(--bca-ease);
}
.bca-accordion__item.is-open .bca-accordion__title{
	color:#fff;
	font-size:36px;
}
/* Plus-Kreis */
.bca-accordion__icon{
	position:relative;
	flex:0 0 auto;
	width:46px;
	height:46px;
	border:1.5px solid #b89434;
	border-radius:50%;
	background:#fff;
	transition:transform .5s var(--bca-ease),background .4s ease,border-color .4s ease;
}
.bca-accordion__icon::before,
.bca-accordion__icon::after{
	content:'';
	position:absolute;
	top:50%;
	left:50%;
	background:#b89434;
	transform:translate(-50%,-50%);
	transition:background .4s ease;
}
.bca-accordion__icon::before{ width:17px; height:1.5px; }
.bca-accordion__icon::after{ width:1.5px; height:17px; }
.bca-accordion__trigger:hover .bca-accordion__icon{
	background:#b89434;
}
.bca-accordion__trigger:hover .bca-accordion__icon::before,
.bca-accordion__trigger:hover .bca-accordion__icon::after{
	background:#fff;
}
.bca-accordion__item.is-open .bca-accordion__icon{
	transform:rotate(135deg);
	background:#fff;
	border-color:#fff;
}
.bca-accordion__item.is-open .bca-accordion__icon::before,
.bca-accordion__item.is-open .bca-accordion__icon::after{
	background:var(--bca-acc-color,#2a52bc);
}
/* Panel */
.bca-accordion__panel{
	position:relative;
	z-index:2;
	height:0;
	overflow:hidden;
	transition:height .5s var(--bca-ease);
}
.bca-accordion__panel[hidden]{
	display:none;
}
.bca-accordion__body{
	padding:0 70px 40px 34px;
}
/* Gestaffelter Textaufbau */
.bca-accordion .bca-accordion__rule{
	width:0;
	margin:0 0 20px;
	border:0;
	border-top:3px dashed rgba(255,255,255,.55);
	transition:width .5s ease .22s;
}
.bca-accordion__item.is-open .bca-accordion__rule{
	width:110px;
}
.bca-accordion__lead,
.bca-accordion__rte{
	opacity:0;
	transform:translateY(14px);
	transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.3,1);
}
.bca-accordion__item.is-open .bca-accordion__lead{
	opacity:1;
	transform:none;
	transition-delay:.3s;
}
.bca-accordion__item.is-open .bca-accordion__rte{
	opacity:1;
	transform:none;
	transition-delay:.4s;
}
.bca-accordion .bca-accordion__lead{
	max-width:none;      /* volle Boxbreite (vorher 34ch) */
	margin:0 0 16px;
	font-family:'Playfair Display',Georgia,serif;
	font-style:italic;
	font-size:24px;
	font-weight:500;
	line-height:1.5;
	color:#fff;
}
/* Fließtext – überschreibt bewusst die globalen p/li-Regeln */
.bca-accordion .bca-accordion__body p,
.bca-accordion .bca-accordion__body li{
	max-width:none;      /* volle Boxbreite (vorher 62ch) */
	font-family:"Montserrat",sans-serif;
	font-size:17px;
	font-weight:500;
	line-height:1.8;
	color:rgba(255,255,255,.93);
}
.bca-accordion .bca-accordion__body p{
	margin:0 0 18px;
}
.bca-accordion .bca-accordion__body > *:last-child,
.bca-accordion .bca-accordion__rte > *:last-child{
	margin-bottom:0;
}
.bca-accordion .bca-accordion__body ul,
.bca-accordion .bca-accordion__body ol{
	margin:0 0 18px 22px;
}
.bca-accordion .bca-accordion__body h2,
.bca-accordion .bca-accordion__body h3,
.bca-accordion .bca-accordion__body h4{
	font-family:'Playfair Display',Georgia,serif;
	font-size:24px;
	font-weight:700;
	letter-spacing:-.02em;
	line-height:1.3;
	color:#fff;
	margin:0 0 14px;
}
.bca-accordion .bca-accordion__body strong{
	color:#fff;
	font-weight:600;
}
.bca-accordion .bca-accordion__body img{
	max-width:100%;
	height:auto;
	border-radius:3px;
}
/* Links im Farbfeld */
.entry-content .bca-accordion .bca-accordion__body a,
.page-content .bca-accordion .bca-accordion__body a,
.bca-accordion .bca-accordion__body a{
	color:#fff;
	font-weight:600;
	text-decoration:none;
	box-shadow:inset 0 -2px 0 rgba(255,255,255,.45);
	transition:box-shadow .3s ease,color .3s ease;
}
.entry-content .bca-accordion .bca-accordion__body a:hover,
.page-content .bca-accordion .bca-accordion__body a:hover,
.bca-accordion .bca-accordion__body a:hover{
	color:#fff;
	box-shadow:inset 0 -3px 0 #b89434;
}
.entry-content .bca-accordion .bca-accordion__body a::after{
	display:none;
}
 
/* Responsive */
@media(max-width:1024px){
	.bca-accordion__item.is-open .bca-accordion__title{ font-size:31px; }
	.bca-accordion__body{ padding:0 50px 36px 34px; }
	.bca-accordion__ghost{ font-size:140px; }
}
@media(max-width:768px){
	.bca-accordion{ margin:40px 0; }
	.bca-accordion .bca-accordion__trigger{ gap:14px; padding:24px 2px; }
	.bca-accordion__item.is-open .bca-accordion__trigger{ padding:28px 20px 6px; }
	.bca-accordion__title{ font-size:20px; }
	.bca-accordion__item.is-open .bca-accordion__title{ font-size:26px; }
	.bca-accordion__icon{ width:42px; height:42px; }
	.bca-accordion__icon::before{ width:15px; }
	.bca-accordion__icon::after{ height:15px; }
	.bca-accordion__ghost{ font-size:110px; right:12px; top:-14px; }
	.bca-accordion__body{ padding:0 20px 30px; }
	.bca-accordion .bca-accordion__lead{ font-size:20px; }
	.bca-accordion .bca-accordion__body p,
	.bca-accordion .bca-accordion__body li{ font-size:16px; line-height:1.75; }
}
@media(max-width:480px){
	.bca-accordion__title{ font-size:18px; }
	.bca-accordion__item.is-open .bca-accordion__title{ font-size:23px; }
	.bca-accordion__ghost{ font-size:90px; }
	.bca-accordion .bca-accordion__lead{ font-size:18px; }
}
/* Reduzierte Bewegung */
@media(prefers-reduced-motion:reduce){
	.bca-accordion__fill,
	.bca-accordion__ghost,
	.bca-accordion__panel,
	.bca-accordion__icon,
	.bca-accordion__title,
	.bca-accordion__kicker,
	.bca-accordion__lead,
	.bca-accordion__rte,
	.bca-accordion .bca-accordion__rule,
	.bca-accordion .bca-accordion__trigger{
		transition:none !important;
	}
}
