/*
==============================================
CUSTOM STYLES - Gestaltungsfreunde Standard
==============================================
Hier kommen deine Standard-Anpassungen rein,
die die Design-Tokens aus custom-tokens.css nutzen.
==============================================
*/


/* ============================================
   LOGO „START“ (weißes SVG) per CSS schwarz
   ========================================== */
/* Weißes SVG bleibt unverändert; Darstellung schwarz über Filter. */
#post-960 > div > div > div > div > div.wp-block-uagb-container.uagb-block-64d98e16 > div.wp-block-media-text.is-stacked-on-mobile > figure > img{
	filter: brightness(0);
}


/* ============================================
   TYPOGRAPHY - Nutzt Tokens
   ========================================== */

body {
	font-family: var(--font-primary);
	font-size: var(--font-body-size);
	line-height: var(--font-body-line-height);
	font-weight: var(--font-body-weight);
	color: var(--color-text);
}


/* ============================================
   STANDARD ÜBERSCHRIFTEN
   Ohne Klasse = Gleiche Schriftart wie Fließtext ja genau so ist es aktuell 11.08
   ========================================== */

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-primary);
	font-weight: var(--font-body-weight);
	margin-top: 0;
	margin-bottom: var(--spacing-s);
	color: var(--color-text);
}


/* ============================================
   STYLED HEADING CLASSES
   Unabhängig von HTML-Hierarchie
   ========================================== */

/* Style H1 - Große Hauptüberschrift */
.style-h1 {
	font-family: var(--font-heading) !important;
	font-size: var(--font-h1-size) !important;
	line-height: var(--font-h1-line-height) !important;
	font-weight: var(--font-h1-weight) !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	margin-bottom: var(--spacing-m) !important;
}
.site-header-section .site-title a{
	font-family: var(--font-heading) !important;

}
/* Style H2 - Zweite Ebene */
.style-h2,
.style-h2 > h2 {
	font-family: var(--font-heading) !important;
	font-size: var(--font-h2-size) !important;
	line-height: var(--font-h2-line-height);
	font-weight: var(--font-h2-weight);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: var(--spacing-m);
}

/* Style H3 - Dritte Ebene */
.style-h3 {
	font-family: var(--font-primary);
	font-size: var(--font-h3-size);
	line-height: var(--font-h3-line-height);
	font-weight: var(--font-h3-weight);
	margin-bottom: var(--spacing-s);
	text-align: center;
	color: #ffffff !important;
	background-color: var(--color-secondary) !important;
	padding: 12px 0px !important;
	margin-bottom:20px !important;
}

/* Style H4 - Vierte Ebene */
.style-h4 {
	font-family: var(--font-heading);
	font-size: var(--font-h4-size);
	line-height: var(--font-h4-line-height);
	font-weight: var(--font-h4-weight);
	margin-bottom: var(--spacing-s);
}

/* Style H5 - Fünfte Ebene */
.style-h5 {
	font-family: var(--font-heading);
	font-size: var(--font-h5-size);
	line-height: var(--font-h5-line-height);
	font-weight: var(--font-h5-weight);
	margin-bottom: var(--spacing-s);
}

/* Style H6 - Kleinste gestylte Überschrift */
.style-h6 {
	font-family: var(--font-heading);
	font-size: var(--font-h6-size);
	line-height: var(--font-h6-line-height);
	font-weight: var(--font-h6-weight);
	margin-bottom: var(--spacing-s);
}

p {
	margin-bottom: var(--spacing-m);
}

small {
	font-size: var(--font-small-size);
	line-height: var(--font-small-line-height);
}



/* ============================================
   CONTAINER & LAYOUT
   ========================================== */

/* Standard Container-Breiten */
.wp-block-group.has-global-padding {
	max-width: var(--container-width);
	padding-left: var(--spacing-m);
	padding-right: var(--spacing-m);
	margin-left: auto;
	margin-right: auto;
}

/* Text-Container für optimale Lesbarkeit */
.entry-content,
.post-content,
.wp-block-post-content {
	max-width: var(--container-width-narrow);
	margin-left: auto;
	margin-right: auto;
}

/* Schmale Container */
.wp-block-group.is-layout-constrained.narrow-container {
	max-width: var(--container-width-narrow);
	margin-left: auto;
	margin-right: auto;
}

/* Breite Container */
.wp-block-group.is-layout-constrained.wide-container {
	max-width: var(--container-width-wide);
	margin-left: auto;
	margin-right: auto;
}

/* Full-Width Elemente innerhalb von Text-Containern */
.entry-content .alignwide,
.wp-block-post-content .alignwide {
	max-width: var(--container-width);
	width: 100%;
}

.entry-content .alignfull,
.wp-block-post-content .alignfull {
	max-width: none;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Section-Abstände */
.wp-block-group {
	padding-top: var(--spacing-xl);
	padding-bottom: var(--spacing-xl);
}

.wp-block-group.section-spacing-large {
	padding-top: var(--spacing-xxl);
	padding-bottom: var(--spacing-xxl);
}

.wp-block-group.section-spacing-small {
	padding-top: var(--spacing-l);
	padding-bottom: var(--spacing-l);
}

/* Abstände zwischen Sections */
.wp-block-group + .wp-block-group {
	margin-top: 0; /* Verhindert doppelte Abstände */
}


/* ============================================
   BUTTONS - Nutzt Tokens
   ========================================== */

.wp-block-button__link,
.ast-button,
button,
input[type="submit"] {
	padding: var(--button-padding-y) var(--button-padding-x);
	border-radius: var(--button-border-radius);
	font-size: var(--button-font-size);
	font-weight: var(--button-font-weight);
	transition: all 0.3s ease;
	border: none;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
}

/* Primary Button */
.wp-block-button.is-style-fill .wp-block-button__link,
.ast-button,
button.primary,
input[type="submit"] {
	background-color: var(--color-secondary);
	color: #ffffff;
	text-transform: uppercase;
}

.wp-block-button.is-style-fill .wp-block-button__link:hover,
.ast-button:hover,
button.primary:hover,
input[type="submit"]:hover {
	background-color: var(--color-primary-hover);
}

/* Secondary Button */
.wp-block-button.is-style-outline .wp-block-button__link {
	background-color: transparent;
	color: var(--color-primary);
	border: 2px solid var(--color-primary);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--color-primary);
	color: #ffffff;
}

.wp-block-button__link,
.uagb-buttons-repeater {
    background-color: var(--color-secondary) !important;
}
/* Buttons mit rotem Hintergrund und weißer Schrift */
.wp-block-button__link,
.uagb-buttons-repeater {
    background-color: var(--color-secondary) !important;
    color: #FFFFFF !important;
    border: 2px solid var(--color-secondary) !important;
}

/* Hover: Weiß mit roter Schrift */
.wp-block-button__link:hover,
.uagb-buttons-repeater:hover {
    background-color: #FFFFFF !important;
    color: var(--color-secondary) !important;
}

/* Abstand zwischen den Buttons */
.wp-block-uagb-buttons-child {
    margin-bottom: 15px !important;
}

.wp-block-uagb-buttons {
    gap: 15px !important;
}
.wp-block-button .wp-block-button__link, .wp-block-search .wp-block-search__button{
	line-height: 1.4em !important;
	letter-spacing:0.5px !important;
	padding-left:15px !important;
	padding-right:15px !important;
	padding-top:5px !important;
	padding-bottom:5px !important;
	font-size:14px !important;
}
/* ============================================
   LINKS
   ========================================== */

.site-footer a:hover{
text-decoration: underline;
}
@media screen and (max-width: 545px){
	#block-19 > div > figure > a > img{
		max-width: 150px;
		padding-bottom: 20px;
		padding-left: 20px;
	}

}

@media screen and (min-width: 796px) {
	#block-19 > div > div{
		border-right: 1px solid black;
	}
	.site-footer-primary-section-3{
		border-left: 1px solid black;
	}
}


/* Links in Fließtext */
.entry-content a {
	text-decoration: underline;
}

.entry-content a:hover {
	text-decoration: none;
}
/* Newsspalte */
.wp-block-read-more{
	margin-top: 10px !important;
	font-size: 18px !important;
}
h4{
	hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
}

/* ============================================
   BILDER & MEDIEN
   ========================================== */

img {
	max-width: 100%;
	height: auto;
	display: block;
}

figure {
	margin: 0 0 var(--spacing-m) 0;
}

figcaption {
	font-size: var(--font-small-size);
	color: var(--color-text-light);
	margin-top: var(--spacing-xs);
}

/* WordPress Image Blocks */
.wp-block-image {
	margin-bottom: var(--spacing-m);
}

.wp-block-image.is-style-rounded img {
	border-radius: var(--border-radius-lg);
}


/* ============================================
   CARDS & BOXES
   ========================================== */

.card,
.box {
	background: var(--color-background);
	border-radius: var(--border-radius-md);
	padding: var(--spacing-l);
	box-shadow: var(--shadow-md);
	transition: box-shadow 0.3s ease;
}

.card:hover,
.box:hover {
	box-shadow: var(--shadow-lg);
}


/* ============================================
   FORMULARE - Barrierefreiheit
   ========================================== */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
textarea,
select {
	width: 100%;
	padding: var(--spacing-s);
	border: 1px solid var(--color-text-muted);
	border-radius: var(--border-radius-sm);
	font-size: var(--font-body-size);
	line-height: var(--font-body-line-height);
	transition: border-color 0.3s ease;
}

input:focus,
textarea:focus,
select:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
	border-color: var(--color-primary);
}

label {
	display: block;
	margin-bottom: var(--spacing-xs);
	font-weight: 600;
	color: var(--color-text);
}

/* Pflichtfeld-Markierung */
.required {
	color: var(--color-error);
}


/* ============================================
   BARRIEREFREIHEIT - Skip Links
   ========================================== */

.skip-link {
	position: absolute;
	top: -40px;
	left: 0;
	background: var(--color-primary);
	color: #ffffff;
	padding: var(--spacing-s);
	text-decoration: none;
	z-index: 100;
}

.skip-link:focus {
	top: 0;
}


/* ============================================
   SPECTRA PRO - Standard-Anpassungen
   ========================================== */

/* Spectra Container-Anpassungen */
.uagb-block-container {
	padding-left: var(--spacing-m);
	padding-right: var(--spacing-m);
}

/* Spectra Buttons überschreiben */
.uagb-button__wrapper .uagb-button__link {
	padding: var(--button-padding-y) var(--button-padding-x);
	border-radius: var(--button-border-radius);
	font-size: var(--button-font-size);
	font-weight: var(--button-font-weight);
}


/* ============================================
   RESPONSIVE - Mobile First Optimierungen
   ========================================== */

/* Mobile: Kleinere Section-Abstände (Standard) */
.wp-block-group {
	padding-top: var(--spacing-l);
	padding-bottom: var(--spacing-l);
}

.wp-block-group.section-spacing-large {
	padding-top: var(--spacing-xl);
	padding-bottom: var(--spacing-xl);
}

/* Mobile Container Padding (Standard) */
.wp-block-group.has-global-padding {
	padding-left: var(--spacing-s);
	padding-right: var(--spacing-s);
}

/* Ab Tablet: Größere Abstände */
@media (min-width: 768px) {
	.wp-block-group {
		padding-top: var(--spacing-xl);
		padding-bottom: var(--spacing-xl);
	}

	.wp-block-group.section-spacing-large {
		padding-top: var(--spacing-xxl);
		padding-bottom: var(--spacing-xxl);
	}

	.wp-block-group.has-global-padding {
		padding-left: var(--spacing-m);
		padding-right: var(--spacing-m);
	}
}


/* ============================================
   UTILITIES - Hilfklassen
   ========================================== */

/* Spacing Utilities */
.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.mt-s { margin-top: var(--spacing-s) !important; }
.mb-s { margin-bottom: var(--spacing-s) !important; }
.mt-m { margin-top: var(--spacing-m) !important; }
.mb-m { margin-bottom: var(--spacing-m) !important; }
.mt-l { margin-top: var(--spacing-l) !important; }
.mb-l { margin-bottom: var(--spacing-l) !important; }

/* Text Alignment */
.text-left { text-align: left !important; }
.text-center { text-align: center !important; }
.text-right { text-align: right !important; }

/* Display Utilities */
.hidden { display: none !important; }
.block { display: block !important; }
.inline-block { display: inline-block !important; }

/* Mobile-only / Desktop-only - Mobile First */
.mobile-only { display: block; }
.desktop-only { display: none; }

@media (min-width: 768px) {
	.mobile-only { display: none; }
	.desktop-only { display: block; }
}


/* ============================================
   PROJEKTSPEZIFISCHE ANPASSUNGEN
   ========================================== */

/* Hier kommen deine projektspezifischen Styles rein,
   die NICHT in jedem Projekt verwendet werden */

   /* AKKORDION 
  
   /*  Startseite - 2 Spalten Layout / Class
   nv-container-2-1 
   
   Unterseite - 2 Spalten Layout	
   nv-container-2-2
   
   Unterseite - 1 Spalten Layout	
   nv-container-1-1


 /* AKKORDION */
 .kt-blocks-accordion-title,
 .wp-block-accordion-heading .wp-block-accordion-heading__toggle-title{
	font-family: var(--font-primary);
	font-size: 20px !important;
	font-weight: 500;
	line-height: var(--font-h4-line-height) !important;
	letter-spacing:0px !important;
	padding:10px 0px !important;
 }

 /* Erster Accordion-Eintrag ohne obere Border */
 .kt-accordion-pane-1 .kt-blocks-accordion-header {
	border-top: none !important;
 }

 
.nv-rechts  ul > li > a{
	color: var(--color-text) !important;
}
 /* Abstand zwischen Header und Inhalt */
@media (min-width: 1200px) {
    .ast-plain-container.ast-no-sidebar #primary {
        margin-top: 20px !important;
       
    }
}
/* ========================================
   CUSTOM BREAKPOINT: Ab 1100px untereinander
   ======================================== */

   @media (max-width: 1099px) {
  

	
	
  }
  @media (min-width: 1100px) {
	.ast-above-header-bar.ast-above-header{
		position: absolute !important;
		top: 0;
		right: 0;
		height: auto;
		z-index: 10;
		background: transparent;
		padding: 10px 30px;
	}
	.ast-logo-title-inline .ast-site-identity,
	.site-header-section{
		align-items: flex-end !important;
	}
	
}
@media (min-width: 1270px) {
	
	.ast-site-title-wrap .site-title {
		max-width: 390px !important;
	}
	
}

/* ========================================
   MÜNZEN DEKORATION: Direkt als Background Images
   ======================================== */

   /*@media (min-width: 1200px) {
  
	.ast-primary-header-bar {
	  position: relative;
	  background-image: 
		url('/wp-content/uploads/Muenze_1.png'),  /* Oben rechts */
		url('/wp-content/uploads/Muenze_3.png'),  /* Unten rechts */
		url('/wp-content/uploads/Muenze_2.png');  /* Unten links */
	  
	  background-repeat: no-repeat, no-repeat, no-repeat;
	  
	  background-size: 
		115px auto,   /* Münze 1 */
		115px auto,   /* Münze 2 */
		115px auto;   /* Münze 3 */
	  
	  background-position: 
		right 36% top 0px,    /* Münze 1: Rechts, oben angeschnitten */
		right 40% top 100px,  /* Münze 2: Rechts unten */
		right 30% top 100px;    /* Münze 3: Links unten */
	  
	  /* Optional: Transparenz über Opacity-Filter */
	  /* Geht leider nicht direkt pro Background, müssten wir anders lösen 
	}
  } */
  
  .nv-container-2-1 .nv-rechts .post-container > ul > li time,
  .nv-container-2-1 .nv-rechts .post-container  time  {	
	font-size: .9rem !important;
    font-weight: 600;
  }
  .post-container img,
  .wp-block-latest-posts__featured-image img {
	border: 0px solid #ffffff;
	max-width: 150px !important;
  }

  /* Partner */

  .nvbw-big,
  .nvbw-partnername{
	font-weight: 600;
  }
  .nvbw-partnername{
	font-size: 26px;
	margin-top:2rem !important;
  }
.ap-box{
	background-color: #f6efe2;
	padding:20px !important;
}  
.partner-daten,
.nvbw-big{
	margin-bottom:0	!important ;
}
.post-960 .wp-block-uagb-container{
	margin-bottom:2rem !important;
}
.ap-box{
	margin-top:25px !important;
}
#post-13 .wp-block-uagb-image-gallery .spectra-image-gallery__media-thumbnail-caption-wrapper.spectra-image-gallery__media-thumbnail-caption-wrapper--bar-inside >  a,
.spectra-image-gallery__media a{
	text-decoration: none !important;	
}
#post-13 .wp-block-uagb-image-gallery .spectra-image-gallery__media-thumbnail-caption-wrapper.spectra-image-gallery__media-thumbnail-caption-wrapper--bar-inside >  a:hover,
.spectra-image-gallery__media a:hover{
	text-decoration: underline !important;
	color:#8b2232 !important;
}
#post-13 > div > div.wp-block-uagb-container.nv-container-2-1.uagb-block-aaea4ba6.alignfull.uagb-is-root-container > div > div.wp-block-uagb-container.nv-rechts.uagb-block-94106fa5 > div{
	background-color: rgba(209, 178, 131, 0.5) !important;

}

/* ============================================
   FLOATING BUTTONS (Partner & Jobs)
   ========================================== */

.nvbw-floating-buttons {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 9999;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.nvbw-floating-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	background-color: var(--color-secondary, #8b2232);
	text-decoration: none;
	transition: transform 0.4s ease, background-color 0.3s ease;
	transform: translateX(100%);
	opacity: 0;
}

/* Sichtbar wenn gescrollt */
.nvbw-floating-buttons.is-visible .nvbw-floating-btn {
	transform: translateX(0);
	opacity: 1;
}

/* Verzögerung für gestaffelten Effekt */
.nvbw-floating-btn:nth-child(1) {
	transition-delay: 0s;
}

.nvbw-floating-btn:nth-child(2) {
	transition-delay: 0.1s;
}

/* Icon Styles */
.nvbw-floating-btn img {
	width: 36px;
	height: 36px;
	transition: opacity 0.3s ease;
}

.nvbw-floating-btn .icon-hover {
	display: none;
}

.nvbw-floating-btn .icon-default {
	display: block;
}

/* Hover State */
.nvbw-floating-btn:hover {
	background-color: #D1B283;
	border:1px solid #ffffff;
}

.nvbw-floating-btn:hover .icon-default {
	display: none;
}

.nvbw-floating-btn:hover .icon-hover {
	display: block;
}

/* Focus State für Barrierefreiheit */
.nvbw-floating-btn:focus {
	outline: 2px solid var(--color-primary, #8b2232);
	outline-offset: 2px;
}

/* Mobile: Kleinere Buttons */
@media (max-width: 767px) {
	.nvbw-floating-btn {
		width: 50px;
		height: 50px;
	}

	.nvbw-floating-btn img {
		width: 28px;
		height: 28px;
	}
}
@media (min-width: 1200px) {
	
	.kontakt-button:before{
		content: '';
		
		width: 80px; /* Breite anpassen */
		height: 60px; /* Höhe anpassen */
		background-image: url('https://nvbw.gestaltungsfreun.de/wp-content/uploads/pfeil.svg');
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		position: absolute;
    left: -100px;
    top: -20px;
  }
	
}
.spectra-image-gallery__media-wrapper{
	max-width: 400px !important;
}
#block-19 > div > figure > img{
	max-width: 80px !important;
}
