/*
Theme Name: asTheme Child – Billertshausen Vereint
Theme URI: https://billertshausen-vereint.org
Description: Eigenes Header/Footer/Front-Page-Template + Logo-Farben + Hell-/Dunkel-Modus. Setzt asVerein-Funktionen unangetastet ein.
Author: Billertshausen Vereint e.V.
Template: astheme
Version: 2.0.0
*/

/* =====================================================================
   SCHRIFTEN & FARB-TOKENS
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&family=Outfit:wght@300;400;500;600;700&display=swap');

:root{
	--bv-green:#5cb85c; --bv-green-bright:#74d36a; --bv-green-deep:#3f8a30; --bv-green-900:#1f3d0f;
	--bv-orange:#e8720c; --bv-orange-bright:#ff8a3d; --bv-orange-deep:#c85e08;
	--bv-slate:#3d3d3d;

	--bv-bg:#f5f6f1;
	--bv-surface:#ffffff;
	--bv-surface2:#f0f3ea;
	--bv-border:rgba(61,61,61,.12);
	--bv-border-strong:rgba(61,61,61,.22);
	--bv-text:#2b2c2e;
	--bv-muted:#67706b;
	--bv-heading:#22351a;
	--bv-accent:var(--bv-green-deep);
	--bv-accent2:var(--bv-orange);
	--bv-accent-soft:rgba(92,184,92,.10);
	--bv-accent2-soft:rgba(232,114,12,.10);
	--bv-shadow:0 1px 2px rgba(20,40,10,.05),0 8px 24px rgba(20,40,10,.07);
	--bv-shadow-lg:0 4px 12px rgba(20,40,10,.09),0 18px 50px rgba(20,40,10,.13);
	--bv-radius:16px; --bv-radius-sm:11px;
	--bv-nav-h:74px;
}
html[data-theme="dark"]{
	--bv-bg:#1c1d20;
	--bv-surface:#26282c;
	--bv-surface2:#2e3035;
	--bv-border:rgba(255,255,255,.10);
	--bv-border-strong:rgba(255,255,255,.20);
	--bv-text:#e9eae5;
	--bv-muted:#a6a8a3;
	--bv-heading:#d9e6c8;
	--bv-accent:var(--bv-green-bright);
	--bv-accent2:var(--bv-orange-bright);
	--bv-accent-soft:rgba(92,184,92,.16);
	--bv-accent2-soft:rgba(232,114,12,.16);
	--bv-shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);
	--bv-shadow-lg:0 4px 12px rgba(0,0,0,.4),0 18px 50px rgba(0,0,0,.5);
}

*{ box-sizing:border-box; }
body{
	background-color:var(--bv-bg)!important;
	background-image:
		radial-gradient(circle at 12% -5%,var(--bv-accent-soft) 0%,transparent 38%),
		radial-gradient(circle at 100% 0%,var(--bv-accent2-soft) 0%,transparent 32%)!important;
	background-attachment:fixed!important;
	background-repeat:no-repeat!important;
	color:var(--bv-text)!important;
	font-family:'Outfit',-apple-system,BlinkMacSystemFont,sans-serif!important;
	font-size:16px; line-height:1.65;
	margin:0!important; padding:0!important;
	transition:background-color .35s,color .35s;
}
h1,h2,h3,h4,h5,h6{
	font-family:'Nunito',system-ui,sans-serif!important;
	color:var(--bv-heading)!important;
	line-height:1.18; font-weight:600; letter-spacing:-.01em;
}
a{ color:var(--bv-accent); text-decoration:none; transition:color .15s; }
a:hover{ color:var(--bv-accent2); }
img{ max-width:100%; height:auto; }
.screen-reader-text{ position:absolute!important; left:-9999px!important; }
.bv-skip-link:focus{ position:fixed; left:8px; top:8px; background:var(--bv-surface); padding:8px 14px; border-radius:8px; z-index:9999; }

/* Eltern-Theme-Reste neutralisieren, falls Marker-Klassen noch erscheinen */
.astheme-container-page-title{ display:none!important; }

/* =====================================================================
   HEADER / NAVIGATION
   ===================================================================== */
.bv-site-header{
	position:sticky; top:0; z-index:100;
	background:var(--bv-surface);
	border-bottom:1px solid var(--bv-border);
	backdrop-filter:blur(12px);
}
.bv-nav{
	max-width:1240px; margin:0 auto;
	height:var(--bv-nav-h);
	display:flex; align-items:center; gap:22px;
	padding:0 24px;
	overflow:visible;
}
.bv-brand{
	display:flex; align-items:center; gap:13px;
	color:var(--bv-text)!important; flex-shrink:0; z-index:2;
	position:relative;
}
.bv-brand::before{
	content:'';
	position:absolute;
	left:-14px; top:-6px;
	width:122px; height:112px;
	border-radius:50%;
	background:var(--bv-surface);
	z-index:1;
	pointer-events:none;
}
html[data-theme="dark"] .bv-brand::before{
	background:var(--bv-surface);
}
.bv-brand-logo{
	height:96px!important; width:auto;
	transform:translateY(8px);
	filter:none!important;
	transition:transform .25s;
	position:relative; z-index:2;
}
.bv-brand:hover .bv-brand-logo{ transform:translateY(8px) scale(1.04); }
.bv-brand-text{ display:flex; flex-direction:column; line-height:1.05; }
.bv-brand-text strong{ font-family:'Nunito',sans-serif; font-weight:700; font-size:17px; color:var(--bv-heading); letter-spacing:-.01em; }
.bv-brand-text em{ font-style:normal; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--bv-muted); margin-top:3px; }

.bv-main-nav{ flex:1; display:flex; justify-content:center; }
.bv-menu{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:3px; }
.bv-menu li{ position:relative; }
.bv-menu a{
	font-family:'Outfit',sans-serif; font-size:14px; font-weight:500;
	padding:8px 14px; border-radius:10px;
	color:var(--bv-text)!important;
	transition:background .15s,color .15s;
	display:inline-flex; align-items:center;
}
.bv-menu a:hover,
.bv-menu .menu-item-has-children:hover > a{ background:var(--bv-surface2); color:var(--bv-accent)!important; }
.bv-menu .current-menu-item > a,
.bv-menu .current_page_item > a{ color:var(--bv-accent)!important; font-weight:600; }
.bv-menu .sub-menu{
	position:absolute; top:calc(100% + 6px); left:0; min-width:210px;
	list-style:none; padding:7px; margin:0;
	background:var(--bv-surface); border:1px solid var(--bv-border);
	border-radius:14px; box-shadow:var(--bv-shadow-lg);
	opacity:0; visibility:hidden; transform:translateY(-4px);
	transition:opacity .15s,transform .15s,visibility .15s;
}
.bv-menu li:hover > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.bv-menu .sub-menu a{ display:block; padding:9px 13px; font-size:13.5px; }
.bv-menu .sub-menu a:hover{ background:var(--bv-accent-soft); }

.bv-nav-tools{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.bv-user-menu{ gap:2px; }
.bv-user-menu a{ font-size:13px; padding:7px 11px; }

.bv-burger{
	display:none;
	width:42px; height:38px;
	background:transparent; border:1px solid var(--bv-border-strong);
	border-radius:10px; cursor:pointer; padding:9px 8px;
	flex-direction:column; justify-content:space-between;
}
.bv-burger span{ display:block; height:2px; background:var(--bv-text); border-radius:2px; }

/* Theme-Toggle */
#bv-theme-toggle{
	position:relative; width:48px; height:26px;
	border-radius:14px; cursor:pointer;
	border:1px solid var(--bv-border-strong);
	background:var(--bv-surface2);
	flex-shrink:0;
}
#bv-theme-toggle::after{
	content:''; position:absolute; top:2px; left:2px;
	width:20px; height:20px; border-radius:50%;
	background:var(--bv-accent); transition:left .25s,background .25s;
}
html[data-theme="dark"] #bv-theme-toggle::after{ left:24px; }
#bv-theme-toggle .bv-tg-ic{ position:absolute; top:0; height:100%; display:flex; align-items:center; font-size:11px; pointer-events:none; }
#bv-theme-toggle .bv-tg-ic.sun{ left:7px; }
#bv-theme-toggle .bv-tg-ic.moon{ right:6px; }

/* =====================================================================
   HERO
   ===================================================================== */
.bv-hero{
	position:relative;
	max-width:1240px; margin:24px auto 0;
	padding:0 24px;
}
.bv-hero-media{
	position:relative;
	border-radius:24px;
	overflow:hidden;
	box-shadow:var(--bv-shadow-lg);
}
.bv-hero-media .n2-section-smartslider,
.bv-hero-media [id^="n2-ss-"]{ border-radius:24px!important; }
.bv-hero-overlay{
	position:absolute;
	top:0; bottom:0; left:24px; right:24px;
	display:flex; align-items:flex-end;
	border-radius:24px;
	pointer-events:none;
	background:linear-gradient(to top,
		rgba(15,25,8,.86) 0%,
		rgba(15,25,8,.45) 35%,
		rgba(15,25,8,.10) 65%,
		transparent 100%),
		linear-gradient(105deg,
		rgba(15,25,8,.55) 0%,
		transparent 55%);
	z-index:5;
}
.bv-hero-content{
	padding:42px 44px;
	max-width:640px; color:#fff;
	pointer-events:auto;
}
.bv-hero-eyebrow{
	display:inline-flex; align-items:center; gap:8px;
	background:rgba(255,255,255,.14);
	backdrop-filter:blur(6px);
	border:1px solid rgba(255,255,255,.25);
	padding:6px 14px; border-radius:999px;
	font-size:12.5px; font-weight:500; letter-spacing:.04em;
	color:#fff; margin-bottom:18px;
}
.bv-hero-eyebrow .bv-dot{
	width:7px; height:7px; border-radius:50%;
	background:var(--bv-orange-bright);
	box-shadow:0 0 0 3px rgba(255,138,61,.3);
}
.bv-hero-content h1{
	color:#fff!important;
	font-size:clamp(30px,5vw,52px)!important;
	font-weight:600!important; letter-spacing:-.01em;
	line-height:1.12; margin:0 0 14px!important;
}
.bv-hero-content h1 em{ font-style:italic; color:#9ad17a; }
.bv-hero-content p{
	font-size:16.5px; color:rgba(255,255,255,.92);
	max-width:540px; line-height:1.6;
	margin:0 0 22px;
}
.bv-hero-actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* =====================================================================
   BUTTONS
   ===================================================================== */
.bv-btn{
	font-family:'Outfit',sans-serif; font-weight:600;
	font-size:14px; padding:11px 22px;
	border-radius:11px; border:1px solid transparent;
	cursor:pointer; transition:transform .18s,box-shadow .18s,background .18s,color .18s,border-color .18s;
	display:inline-flex; align-items:center; gap:6px;
	text-decoration:none!important;
	white-space:nowrap; line-height:1;
}
.bv-btn-primary{
	background:#fff; color:var(--bv-green-900)!important;
	box-shadow:0 6px 18px rgba(0,0,0,.18);
}
.bv-btn-primary:hover{ background:#9ad17a; transform:translateY(-1px); }
.bv-btn-ghost{
	background:transparent; color:#fff!important;
	border-color:rgba(255,255,255,.4);
}
.bv-btn-ghost:hover{ background:rgba(255,255,255,.12); }
.bv-section-head .bv-btn-ghost,
.bv-section .bv-btn-ghost{
	color:var(--bv-text)!important;
	border-color:var(--bv-border-strong);
	background:var(--bv-surface);
}
.bv-section-head .bv-btn-ghost:hover,
.bv-section .bv-btn-ghost:hover{
	color:var(--bv-accent)!important;
	border-color:var(--bv-accent);
	background:var(--bv-surface2);
}

/* =====================================================================
   LAYOUT
   ===================================================================== */
.bv-content{ min-height:60vh; }
.bv-layout{
	max-width:1240px; margin:46px auto 60px;
	padding:0 24px;
	display:grid; grid-template-columns:1fr 330px; gap:34px;
	align-items:start;
}
.bv-col-main{ min-width:0; }
.bv-col-side{ position:sticky; top:calc(var(--bv-nav-h) + 24px); }

.bv-eyebrow{
	display:inline-flex; align-items:center; gap:10px;
	font-family:'Outfit',sans-serif;
	font-size:12px; font-weight:600;
	letter-spacing:.16em; text-transform:uppercase;
	color:var(--bv-accent); margin:0 0 10px;
}
.bv-eyebrow::before{
	content:''; width:26px; height:2px;
	background:linear-gradient(90deg,var(--bv-accent),var(--bv-accent2));
	border-radius:2px;
}

/* Welcome */
.bv-welcome{
	background:var(--bv-surface);
	border:1px solid var(--bv-border);
	border-radius:22px;
	box-shadow:var(--bv-shadow);
	padding:34px 38px;
	position:relative; overflow:hidden;
}
.bv-welcome::before{
	content:''; position:absolute; top:0; left:0; right:0; height:3px;
	background:linear-gradient(90deg,var(--bv-accent),var(--bv-accent2));
}
.bv-welcome::after{
	content:''; position:absolute; top:-30px; right:-30px;
	width:160px; height:160px; border-radius:50%;
	background:var(--bv-accent2-soft); filter:blur(8px);
	pointer-events:none;
}
.bv-welcome > *{ position:relative; }
.bv-welcome h2{ font-size:30px; margin:0 0 16px; line-height:1.18; }
.bv-welcome h2 strong{ color:var(--bv-accent); }
.bv-welcome p{ color:var(--bv-muted); margin:0 0 12px; line-height:1.65; }
.bv-welcome .bv-closing{ color:var(--bv-text); }
.bv-welcome .bv-closing strong{ color:var(--bv-heading); }

/* Sektionen */
.bv-section{ margin-top:46px; }
.bv-section-head{
	display:flex; align-items:flex-end; justify-content:space-between;
	gap:16px; flex-wrap:wrap; margin-bottom:22px;
}
.bv-section-head h2{ font-size:28px; margin:0; }

/* News-Karten (horizontal) */
.bv-news-list{
	list-style:none; padding:0; margin:0;
	display:flex; flex-direction:column; gap:16px;
}
.bv-news-item{
	background:var(--bv-surface);
	border:1px solid var(--bv-border);
	border-radius:var(--bv-radius);
	box-shadow:var(--bv-shadow);
	padding:16px;
	display:grid; grid-template-columns:160px 1fr; gap:20px;
	transition:transform .2s,box-shadow .2s,border-color .2s;
}
.bv-news-item:hover{
	transform:translateY(-3px);
	box-shadow:var(--bv-shadow-lg);
	border-color:var(--bv-border-strong);
}
.bv-news-thumb{
	display:block; height:140px;
	border-radius:var(--bv-radius-sm);
	overflow:hidden; background:var(--bv-surface2);
	position:relative;
}
.bv-news-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.bv-thumb-placeholder{
	position:absolute; inset:0; display:grid; place-items:center;
	font-size:38px;
	background:linear-gradient(135deg,var(--bv-accent-soft) 0%,var(--bv-accent2-soft) 100%);
}
.bv-news-body{ display:flex; flex-direction:column; min-width:0; }
.bv-news-meta{ display:flex; gap:8px; font-size:12px; color:var(--bv-muted); margin-bottom:6px; align-items:center; }
.bv-news-author{ color:var(--bv-accent); font-weight:500; }
.bv-news-author::after{ content:'·'; color:var(--bv-muted); margin-left:6px; }
.bv-news-title{ font-size:19px; margin:0 0 7px; line-height:1.25; }
.bv-news-title a{ color:var(--bv-heading)!important; }
.bv-news-title a:hover{ color:var(--bv-accent)!important; }
.bv-news-excerpt{
	font-size:13.5px; color:var(--bv-muted); line-height:1.55;
	margin:0 0 8px;
	display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.bv-news-more{
	margin-top:auto;
	font-size:13px; font-weight:600; color:var(--bv-accent);
	display:inline-flex; align-items:center; gap:4px;
}
.bv-news-more:hover{ color:var(--bv-accent2); }
.bv-news-more span{ transition:transform .18s; display:inline-block; }
.bv-news-more:hover span{ transform:translateX(3px); }

/* =====================================================================
   asVerein-Events
   ===================================================================== */
.asverein-listings-container{ margin:0; }
.asverein-listings-container .row{ margin:0; }
.asverein-listings-container [class*="col-"]{ padding:0; }
.asverein-listings-container .scontainer{ padding:0; }
.asverein-listings-item{
	background:linear-gradient(135deg,var(--bv-green-deep),var(--bv-green))!important;
	color:#fff!important;
	border-radius:var(--bv-radius)!important;
	padding:22px 26px!important;
	margin:0 0 14px!important;
	box-shadow:var(--bv-shadow-lg);
	border:none!important;
	position:relative; overflow:hidden;
}
.asverein-listings-item::after{
	content:''; position:absolute; right:-30px; bottom:-30px;
	width:140px; height:140px; border-radius:50%;
	background:rgba(255,255,255,.10);
}
.asverein-listings-item *{ color:#fff!important; }
.asverein-listings-item a{
	font-family:'Nunito',sans-serif!important;
	font-size:20px; font-weight:700; text-decoration:none;
}
html[data-theme="dark"] .asverein-listings-item{
	background:linear-gradient(135deg,var(--bv-green-deep),var(--bv-green-900))!important;
}

/* =====================================================================
   SIDEBAR
   ===================================================================== */
.bv-sidebar{ display:flex; flex-direction:column; gap:18px; }
.astheme-sidebar-widget{
	background:var(--bv-surface)!important;
	border:1px solid var(--bv-border)!important;
	border-radius:var(--bv-radius)!important;
	box-shadow:var(--bv-shadow)!important;
	padding:18px 20px!important;
	margin:0!important;
}
.astheme-sidebar-widget h5,
.astheme-sidebar-widget h3,
.astheme-sidebar-widget .widget-title{
	font-family:'Nunito',sans-serif!important;
	font-size:16px!important; font-weight:700!important;
	color:var(--bv-heading)!important;
	margin:0 0 14px!important;
	padding-bottom:11px;
	border-bottom:1px solid var(--bv-border);
}
.astheme-sidebar-widget input[type="text"],
.astheme-sidebar-widget input[type="email"],
.astheme-sidebar-widget input[type="password"],
.astheme-sidebar-widget input[type="search"]{
	width:100%; padding:8px 12px!important;
	border-radius:9px!important;
	border:1px solid var(--bv-border)!important;
	background:transparent!important;
	color:var(--bv-text)!important;
	font-family:'Outfit',sans-serif!important; font-size:13.5px;
	line-height:1.4;
	margin-bottom:8px;
	box-shadow:none!important;
}
.astheme-sidebar-widget input:focus{
	outline:none!important;
	border-color:var(--bv-accent)!important;
	box-shadow:0 0 0 3px var(--bv-accent-soft)!important;
}
.astheme-sidebar-widget input::placeholder{ color:var(--bv-muted); opacity:.7; }
.astheme-sidebar-widget .btn-primary,
.astheme-sidebar-widget input[type="submit"],
.astheme-sidebar-widget button[type="submit"]{
	background:var(--bv-accent)!important;
	border:1px solid var(--bv-accent)!important;
	color:#fff!important;
	border-radius:10px!important;
	padding:9px 18px!important;
	font-weight:600!important;
	font-family:'Outfit',sans-serif!important;
	cursor:pointer;
}
.astheme-sidebar-widget .wp-block-search__inside-wrapper{ border:none; padding:0; }
.astheme-sidebar-widget .wp-block-search__input{ margin-bottom:0; }
.astheme-sidebar-widget .wp-block-search__button{
	background:var(--bv-accent)!important;
	color:#fff!important; border:none!important;
	border-radius:10px!important;
	margin-left:8px; padding:0 14px!important;
}

/* Neueste Beiträge in Sidebar */
.astheme-sidebar-widget ul{ list-style:none; padding:0; margin:0; }
.astheme-sidebar-widget .wp-block-latest-posts li{
	padding:12px 0;
	border-bottom:1px solid var(--bv-border);
	display:flex; gap:11px; align-items:flex-start;
}
.astheme-sidebar-widget .wp-block-latest-posts li:first-child{ padding-top:0; }
.astheme-sidebar-widget .wp-block-latest-posts li:last-child{ padding-bottom:0; border-bottom:none; }
.astheme-sidebar-widget .wp-block-latest-posts__featured-image{ flex-shrink:0; margin:0!important; }
.astheme-sidebar-widget .wp-block-latest-posts__featured-image img{
	width:60px!important; height:60px!important;
	object-fit:cover; border-radius:10px;
}
.astheme-sidebar-widget .wp-block-latest-posts__post-title{
	font-family:'Nunito',sans-serif!important;
	font-size:14px!important; font-weight:600!important;
	color:var(--bv-heading)!important;
	line-height:1.35!important; display:block;
}
.astheme-sidebar-widget .wp-block-latest-posts__post-title:hover{ color:var(--bv-accent)!important; }
.astheme-sidebar-widget .wp-block-latest-posts__post-author,
.astheme-sidebar-widget .wp-block-latest-posts__post-date{
	font-size:11.5px; color:var(--bv-muted)!important;
}
.astheme-sidebar-widget .wp-block-latest-posts__post-excerpt{ display:none; }

/* asVerein Monatskalender — quadratische Zellen, Event als ausgefuellte Kachel */
#asverein-widget-monat,
.asverein-widget-monat{ font-size:13px; }
#asverein-widget-monat table,
.asverein-widget-monat table{
	width:100%; table-layout:fixed;
	border-collapse:separate!important;
	border-spacing:4px!important;
	margin:0;
}
#asverein-widget-monat th,
.asverein-widget-monat th{
	font-size:10.5px!important; padding:4px 0!important;
	color:var(--bv-muted)!important; font-weight:600!important;
	text-transform:uppercase; letter-spacing:.04em;
	background:transparent!important; border:none!important;
}
#asverein-widget-monat td,
.asverein-widget-monat td{
	padding:0!important;
	text-align:center; vertical-align:middle;
	color:var(--bv-text);
	font-size:12.5px;
	border:none!important; background:transparent!important;
	border-radius:8px;
	aspect-ratio:1;
	transition:background .15s,color .15s;
}
#asverein-widget-monat tbody td:hover,
.asverein-widget-monat tbody td:hover{
	background:var(--bv-accent-soft)!important;
	color:var(--bv-accent)!important;
}
/* Event-Tage: TD selbst orange einfaerben */
#asverein-widget-monat tbody td:has(> a),
.asverein-widget-monat tbody td:has(> a){
	background:var(--bv-accent2)!important;
	color:#fff!important;
	box-shadow:0 3px 12px var(--bv-accent2-soft);
}
#asverein-widget-monat td a,
.asverein-widget-monat td a{
	display:flex; align-items:center; justify-content:center;
	width:100%; height:100%;
	background:transparent!important;
	color:#fff!important;
	font-weight:700;
	text-decoration:none;
	border-radius:8px;
	box-shadow:none;
}
#asverein-widget-monat tbody td:has(> a):hover,
.asverein-widget-monat tbody td:has(> a):hover{
	background:var(--bv-orange-deep)!important;
	color:#fff!important;
}
#asverein-widget-monat caption,
.asverein-widget-monat caption{
	font-family:'Nunito',sans-serif!important;
	font-size:15px!important; font-weight:700!important;
	color:var(--bv-heading)!important;
	padding:0 0 14px!important;
}

/* =====================================================================
   FOOTER
   ===================================================================== */
.bv-site-footer{
	background:var(--bv-surface);
	border-top:1px solid var(--bv-border);
	margin-top:60px;
	position:relative;
}
.bv-site-footer::before{
	content:''; position:absolute; top:0; left:0; right:0; height:3px;
	background:linear-gradient(90deg,var(--bv-accent),var(--bv-accent2));
	opacity:.55;
}
.bv-footer-main{
	max-width:1240px; margin:0 auto;
	display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:48px;
	padding:46px 24px 28px;
}
.bv-footer-brand{ display:flex; gap:18px; align-items:flex-start; }
.bv-footer-logo{ width:180px; height:auto; flex-shrink:0; filter:drop-shadow(0 4px 12px rgba(0,0,0,.15)); }
html[data-theme="dark"] .bv-footer-logo{ filter:none; }
.bv-footer-meta strong{
	font-family:'Nunito',sans-serif; font-size:18px; font-weight:700;
	color:var(--bv-heading); display:block; letter-spacing:-.01em;
}
.bv-footer-meta p{ font-size:13.5px; color:var(--bv-muted); margin:6px 0 0; max-width:300px; line-height:1.55; }
.bv-footer-nav h5{
	font-size:12px; letter-spacing:.12em; text-transform:uppercase;
	color:var(--bv-muted); margin:0 0 14px; font-weight:600;
}
.bv-footer-menu{
	list-style:none; padding:0; margin:0;
	display:flex; flex-direction:column; gap:6px;
}
.bv-footer-menu a{ font-size:14px; color:var(--bv-text); }
.bv-footer-menu a:hover{ color:var(--bv-accent); }
.bv-footer-bar{
	max-width:1240px; margin:0 auto;
	border-top:1px solid var(--bv-border);
	padding:18px 24px;
	display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
	font-size:13px; color:var(--bv-muted);
}
.bv-heart{ color:var(--bv-orange); }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media(max-width:960px){
	.bv-layout{ grid-template-columns:1fr; }
	.bv-col-side{ position:static; }
}
@media(max-width:760px){
	.bv-main-nav{
		position:absolute; top:100%; left:0; right:0;
		background:var(--bv-surface); border-top:1px solid var(--bv-border);
		display:none; padding:16px 24px;
	}
	.bv-main-nav.is-open{ display:block; }
	.bv-menu{ flex-direction:column; align-items:stretch; gap:4px; }
	.bv-burger{ display:flex; }
	.bv-brand-logo{ height:64px!important; transform:none; }
	.bv-brand::before{
		width:84px; height:84px;
		left:-10px; top:-4px;
	}
	.bv-brand:hover .bv-brand-logo{ transform:scale(1.04); }
	.bv-hero-content{ padding:26px 28px; }
	.bv-welcome{ padding:24px 22px; }
	.bv-news-item{ grid-template-columns:1fr; }
	.bv-news-thumb{ height:180px; }
	.bv-footer-main{ grid-template-columns:1fr; }
}


/* =====================================================================
   NEXT-EVENT-CARD (oben in der Sidebar)
   ===================================================================== */
.bv-next-event{
	background:linear-gradient(135deg,var(--bv-green-deep),var(--bv-green))!important;
	color:#fff!important;
	border-radius:var(--bv-radius);
	padding:24px 26px;
	box-shadow:var(--bv-shadow-lg);
	position:relative; overflow:hidden;
	margin-bottom:18px;
}
.bv-next-event::after{
	content:''; position:absolute; right:-30px; bottom:-30px;
	width:140px; height:140px; border-radius:50%;
	background:rgba(255,255,255,.10);
	pointer-events:none;
}
.bv-next-event > *{ position:relative; }
.bv-next-event-eyebrow{
	font-size:11px; letter-spacing:.16em; text-transform:uppercase;
	font-weight:600; opacity:.9; display:block; margin-bottom:10px;
	color:#fff;
}
.bv-next-event-title{
	font-family:'Nunito',sans-serif!important;
	font-size:22px!important; font-weight:700!important;
	color:#fff!important;
	margin:0 0 14px!important;
	line-height:1.2; letter-spacing:-.01em;
}
.bv-next-event-row{
	display:flex; align-items:center; gap:10px;
	font-size:14px; margin-bottom:6px;
	color:rgba(255,255,255,.95);
}
.bv-next-event-row .bv-ic{
	width:16px; height:16px; opacity:.9; flex-shrink:0;
	color:#fff;
}
.bv-next-event-btn{
	margin-top:16px;
	display:inline-flex; align-items:center; gap:6px;
	background:#fff; color:var(--bv-green-deep)!important;
	padding:11px 22px; border-radius:11px;
	font-family:'Outfit',sans-serif;
	font-weight:600; font-size:14px;
	text-decoration:none!important;
	transition:transform .18s,background .18s,color .18s;
}
.bv-next-event-btn:hover{
	background:var(--bv-orange);
	color:#fff!important;
	transform:translateY(-1px);
}
html[data-theme="dark"] .bv-next-event{
	background:linear-gradient(135deg,var(--bv-green-deep),var(--bv-green-900))!important;
}

/* =====================================================================
   SIDEBAR-WIDGETS  Icon-im-Quadrat vor dem Titel
   ===================================================================== */
.astheme-sidebar-widget h5,
.astheme-sidebar-widget .wp-block-heading,
.astheme-sidebar-widget h3.wp-block-heading,
.astheme-sidebar-widget h4.wp-block-heading{
	display:flex!important;
	align-items:center!important;
	gap:12px!important;
}
.astheme-sidebar-widget h5::before,
.astheme-sidebar-widget .wp-block-heading::before{
	content:'';
	width:32px; height:32px; flex-shrink:0;
	border-radius:9px;
	background:var(--bv-accent-soft);
	display:grid; place-items:center;
	font-size:15px; line-height:1;
	color:var(--bv-accent);
	background-repeat:no-repeat;
	background-position:center;
	background-size:18px 18px;
}

/* Login */
.astheme-sidebar-widget[id^="asverein_widget_login"] h5::before{
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233f8a30'><path d='M12.65 10A6 6 0 1 0 7 16h2.35L11 14.35l1.65 1.65H14v2h2v-2h2v-2zM7 14a2 2 0 1 1 2-2 2 2 0 0 1-2 2z'/></svg>");
}

/* Suche (Block 2) */
.astheme-sidebar-widget[id^="block-2"]::before,
.astheme-sidebar-widget[id^="block-2"] > h5::before{ content:none!important; }
.astheme-sidebar-widget[id^="block-2"]{
	position:relative;
}
.astheme-sidebar-widget[id^="block-2"]::before{
	content:'Suche';
	display:flex; align-items:center; gap:12px;
	font-family:'Fraunces',serif;
	font-size:16px; font-weight:600;
	color:var(--bv-heading);
	padding-bottom:11px;
	border-bottom:1px solid var(--bv-border);
	margin-bottom:14px;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233f8a30'><path d='M15.5 14h-.79l-.28-.27a6.5 6.5 0 1 0-.7.7l.27.28v.79l5 4.99L20.49 19zM9.5 14A4.5 4.5 0 1 1 14 9.5 4.5 4.5 0 0 1 9.5 14z'/></svg>");
	background-repeat:no-repeat;
	background-position:left center;
	background-size:18px 18px;
	padding-left:44px;
	position:relative;
}
.astheme-sidebar-widget[id^="block-2"]::after{
	content:''; position:absolute; left:0; top:6px;
	width:32px; height:32px; border-radius:9px;
	background:var(--bv-accent-soft);
}

/* Neueste Beiträge / Latest Posts (Block 3) */
.astheme-sidebar-widget[id^="block-3"] .wp-block-heading::before{
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233f8a30'><path d='M19 5v14H5V5h14m1.1-2H3.9c-.5 0-.9.4-.9.9v16.2c0 .4.4.9.9.9h16.2c.4 0 .9-.5.9-.9V3.9c0-.5-.5-.9-.9-.9zM11 7h6v2h-6zm0 4h6v2h-6zm0 4h6v2h-6zM7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7z'/></svg>");
}

/* Kommentare (Block 4) */
.astheme-sidebar-widget[id^="block-4"] .wp-block-heading::before{
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233f8a30'><path d='M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2z'/></svg>");
}

/* Kalender */
.astheme-sidebar-widget[id^="asverein_widget_events_monat_view"] h5::before{
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233f8a30'><path d='M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-2 .9-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm0 16H5V8h14z'/></svg>");
}

html[data-theme="dark"] .astheme-sidebar-widget h5::before,
html[data-theme="dark"] .astheme-sidebar-widget .wp-block-heading::before{
	background-color:rgba(116,211,106,.15);
}
html[data-theme="dark"] .astheme-sidebar-widget[id^="asverein_widget_login"] h5::before{
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2374d36a'><path d='M12.65 10A6 6 0 1 0 7 16h2.35L11 14.35l1.65 1.65H14v2h2v-2h2v-2zM7 14a2 2 0 1 1 2-2 2 2 0 0 1-2 2z'/></svg>");
}
html[data-theme="dark"] .astheme-sidebar-widget[id^="block-3"] .wp-block-heading::before{
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2374d36a'><path d='M19 5v14H5V5h14m1.1-2H3.9c-.5 0-.9.4-.9.9v16.2c0 .4.4.9.9.9h16.2c.4 0 .9-.5.9-.9V3.9c0-.5-.5-.9-.9-.9zM11 7h6v2h-6zm0 4h6v2h-6zm0 4h6v2h-6zM7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7z'/></svg>");
}
html[data-theme="dark"] .astheme-sidebar-widget[id^="block-4"] .wp-block-heading::before{
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2374d36a'><path d='M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2z'/></svg>");
}
html[data-theme="dark"] .astheme-sidebar-widget[id^="asverein_widget_events_monat_view"] h5::before{
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2374d36a'><path d='M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-2 .9-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm0 16H5V8h14z'/></svg>");
}


/* =====================================================================
   asVerein-Kalender — echtes Markup (CSS-Grid + Inline-Styles ueberschreiben)
   ===================================================================== */

/* Navigation: Pfeile + Monatsauswahl in einer Reihe */
.astheme-sidebar-widget .asverein-events-akt-monat-container{
	display:flex!important;
	align-items:center; gap:6px;
	margin-bottom:16px!important;
}
.astheme-sidebar-widget .asverein-widget-monat-form-btn{
	float:none!important; width:auto!important;
	flex-shrink:0; margin:0!important;
}
.astheme-sidebar-widget .asverein-widget-monat-form-select{
	float:none!important; flex:1;
	margin:0!important; width:auto!important;
}
.astheme-sidebar-widget .asverein-widget-monat-form-select select{
	width:100%;
	padding:7px 10px;
	border-radius:8px;
	border:1px solid var(--bv-border);
	background:transparent;
	color:var(--bv-text);
	font-family:'Outfit',sans-serif; font-size:13px;
	cursor:pointer;
	margin-bottom:0;
}
.astheme-sidebar-widget .asverein-widget-monat-form-select select:focus{
	outline:none; border-color:var(--bv-accent);
	box-shadow:0 0 0 3px var(--bv-accent-soft);
}
.astheme-sidebar-widget .asverein-events-akt-monat-btn{
	display:grid!important; place-items:center;
	width:32px; height:32px;
	background:var(--bv-surface2)!important;
	border:1px solid var(--bv-border)!important;
	border-radius:8px!important;
	padding:0!important;
	color:var(--bv-muted)!important;
	font-weight:600;
	text-decoration:none!important;
	font-size:13px;
	transition:background .15s,color .15s,border-color .15s;
}
.astheme-sidebar-widget .asverein-events-akt-monat-btn:hover{
	background:var(--bv-accent-soft)!important;
	border-color:var(--bv-accent)!important;
	color:var(--bv-accent)!important;
}
.astheme-sidebar-widget .asverein-widget-monat-form-divider{ display:none!important; }

/* Header-Row (Mo / Die / Mi ...) */
.astheme-sidebar-widget .asverein-events-grid-head{
	display:grid!important;
	grid-template-columns:repeat(7,1fr)!important;
	gap:4px!important;
	grid-gap:4px!important;
	margin-bottom:4px;
}
.astheme-sidebar-widget .asverein-events-grid-item-head{
	background:transparent!important;
	border:none!important;
	padding:6px 0!important;
	font-size:10.5px;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.04em;
	color:var(--bv-muted)!important;
	text-align:center;
}

/* Tage-Grid */
.astheme-sidebar-widget .asverein-events-grid{
	display:grid!important;
	grid-template-columns:repeat(7,1fr)!important;
	gap:4px!important;
	grid-gap:4px!important;
	grid-auto-rows:auto!important;
}
.astheme-sidebar-widget .asverein-events-grid-item{
	border:none!important;
	padding:0!important;
	aspect-ratio:1;
	border-radius:8px;
	display:grid!important; place-items:center;
	font-size:12.5px;
	color:var(--bv-text);
	transition:background .15s,color .15s,transform .15s;
	grid-column:auto!important;
}
.astheme-sidebar-widget .asverein-events-grid-item.normal:hover{
	background:var(--bv-accent-soft);
	color:var(--bv-accent);
}

/* Heute */
.astheme-sidebar-widget .asverein-events-grid-item.current{
	outline:2px solid var(--bv-accent);
	outline-offset:-2px;
	font-weight:700;
	color:var(--bv-accent);
}

/* Zahl im Cell */
.astheme-sidebar-widget .asverein-events-grid-item .day-head{
	background:transparent!important;
	color:inherit!important;
	font-weight:inherit!important;
	padding:0!important;
	width:auto!important;
}

/* Event-Tag — GANZE Kachel orange */
.astheme-sidebar-widget .asverein-events-grid-item:has(.day-head-event){
	background:var(--bv-accent2)!important;
	color:#fff!important;
	box-shadow:0 3px 12px var(--bv-accent2-soft);
	font-weight:700;
}
.astheme-sidebar-widget .asverein-events-grid-item:has(.day-head-event):hover{
	background:var(--bv-orange-deep)!important;
	transform:scale(1.05);
}
.astheme-sidebar-widget .day-head-event{
	background:transparent!important;
	color:#fff!important;
	font-weight:700!important;
}

.astheme-sidebar-widget .popup-frame{ margin-top:6px; }

/* Mobile-Override: asVerein bricht Cells auf 7 Spalten, das verhindern wir */
@media(max-width:800px){
	.astheme-sidebar-widget .asverein-events-grid-item{
		grid-column:auto!important;
	}
}


/* =====================================================================
   LOGO  Hell-/Dunkel-Umschaltung
   ===================================================================== */
/* Hell-Modus: nur das Original-Logo zeigen */
.bv-logo-dark{ display:none!important; }
.bv-logo-light{ display:inline-block!important; }

/* Dunkel-Modus: nur das helle Grau-Logo, kein White-Glow */
html[data-theme="dark"] .bv-logo-light{ display:none!important; }
html[data-theme="dark"] .bv-logo-dark{
	display:inline-block!important;
	filter:none!important;
}
html[data-theme="dark"] .bv-brand-logo.bv-logo-dark{
	height:96px!important; width:auto;
	transform:translateY(8px);
}
html[data-theme="dark"] .bv-footer-logo.bv-logo-dark{
	width:84px; height:auto;
	filter:none!important;
}
@media(max-width:760px){
	html[data-theme="dark"] .bv-brand-logo.bv-logo-dark{
		height:64px!important; transform:none;
	}
}


/* =====================================================================
   NEWS — Grosse Karte (Aktuelles auf der Startseite)
   ===================================================================== */
.bv-news-list-large{
	display:flex; flex-direction:column; gap:22px;
	list-style:none; padding:0; margin:0;
}
.bv-news-card-large{
	background:var(--bv-surface);
	border:1px solid var(--bv-border);
	border-radius:var(--bv-radius);
	box-shadow:var(--bv-shadow);
	overflow:hidden;
	display:flex; flex-direction:column;
	transition:transform .2s,box-shadow .2s,border-color .2s;
}
.bv-news-card-large:hover{
	transform:translateY(-3px);
	box-shadow:var(--bv-shadow-lg);
	border-color:var(--bv-border-strong);
}
.bv-news-list-large .bv-news-thumb{
	display:block;
	height:320px;
	border-radius:0;
	overflow:hidden;
	background:var(--bv-surface2);
	position:relative;
}
.bv-news-list-large .bv-news-thumb img{
	width:100%; height:100%;
	object-fit:cover; display:block;
}
.bv-news-list-large .bv-thumb-placeholder{
	position:absolute; inset:0;
	display:grid; place-items:center;
	font-size:48px;
	background:linear-gradient(135deg,var(--bv-accent-soft) 0%,var(--bv-accent2-soft) 100%);
}
.bv-news-list-large .bv-news-body{
	padding:24px 30px 26px;
}
.bv-news-list-large .bv-news-meta{
	display:flex; gap:8px;
	font-size:12.5px; color:var(--bv-muted);
	margin-bottom:8px; align-items:center;
}
.bv-news-list-large .bv-news-title{
	font-size:24px;
	margin:0 0 10px;
	line-height:1.25;
}
.bv-news-list-large .bv-news-excerpt{
	font-size:14.5px;
	color:var(--bv-muted);
	line-height:1.6;
	margin:0 0 12px;
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

@media(max-width:700px){
	.bv-news-list-large .bv-news-thumb{ height:220px; }
	.bv-news-list-large .bv-news-title{ font-size:20px; }
	.bv-news-list-large .bv-news-body{ padding:18px 22px 22px; }
}
