/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* seiten aufbau */
.separate-containers .site-main {
  margin: 0px 20px 20px;
}

.site-content .content-area {
  	width: 100%;
	max-width: 900px
}
.is-left-sidebar {
  width: 220px;
  max-width: 220px;
}
.is-right-sidebar {
  width: 80px;
  max-width: 80px;
}
.separate-containers .inside-left-sidebar, .separate-containers .inside-right-sidebar {
  margin-top: 64px;
  margin-bottom: 20px;
}


/* mondkalender */
.mondkalender .site-content .content-area {
  	width: 100%;
	max-width: 1280px;
	margin: 20px auto;

}
.mondkalender .entry-meta {
	display: none
}
.mondkalender h1.entry-title {
	padding: 20px 40px 0
}
.mondkalender .mk-img {
	width: 1200px !important;
}
.layer {
	color: var(--safran);
	background: var(--contrast);
	left: calc(100vw/2 + 40px);
   	top: 30px;
   	width: 600px;
   	padding: 10px 20px;
   	position: fixed;
	visibility: hidden;
	color: var(--accent);
	background: var(--base-3);
}
.layer img {
	margin-right: 10px;
	border: var(--accent) solid 2px;
}
/* Covers */
.bilderzeile {
	
}
.bilderzeile figure {
	border: thin solid #ccc;
	margin: 6px 4px;
}
.bilderzeile figure:first-child {
	margin-left: 0px
}
.bilderzeile figure:last-child {
	margin-right: 0px
}
/* header */
.wp-block-site-logo.is-default-size img {
  height: auto;
  width: 169px;
  margin-left: -10px;
}



.wp-block-quote p {
	color: var(--accent)
}
.d-n {
	display: none
}
.v-h {
	visibility: hidden
}

/* Abstände */
h2 + h3 {
	color: var(--contrast-2);
	margin-top: -1rem;
}
figure + div h2 {
	margin-top: 30px
}

.action-cont {
	padding: 20px 40px 0 40px !important;
	
	margin-bottom: 40px;	
}




.wp-block-buttons {
	margin: 20px 0 40px
}
.wp-block-buttons .wp-block-button {
	margin-right: 10px;
	margin-top: 0px;
	margin-bottom: 3px;
}
.wp-block-buttons .wp-block-button:hover {
	margin-top: 3px;
	margin-bottom: 0px;
}
.wp-block-buttons a.wp-element-button {
	border: 1px solid var(--contrast);
	border-radius: 3px;
	padding: 10px;
	background: var(--base-1);
	color: var(--contrast);
}

.wp-block-buttons a.wp-element-button:hover {
	border: 1px solid var(--accent);
	color: var(--accent);
	background: var(--base-1);
}

.slideout-menu li a {
	font-family: "Fira sans", sans-serif !important;
	font-size: 18px;
	line-height: 2.4
}
.slideout-menu li a:hover,
.slideout-menu  li.current-menu-item a {
	color: var(--lipstick-red) !important
}



/* bibliothek menu */

#bibl-menu ul.sub-menu {
	/*display: none*/
}
#bibl-menu li.current-bibliothek-parent ul.sub-menu, 
#bibl-menu li.menu-item-has-children:hover  ul.sub-menu,
#bibl-menu li.current-bibliothek-ancestor ul.sub-menu {
	display: block;
	border-left: 0.5px solid var(--safran);
}
#bibl-menu li {
	padding-left: 4px;
}
#bibl-menu li ul.sub-menu li {
	margin-left: 16px;
}


#bibl-menu a {
	color: var(--safran);
	text-decoration: none;
	line-height: 2;
	padding: 5px 0;
}

.firefly li.current-menu-item a ,

#bibl-menu li.current-menu-item a,
#bibl-menu ul.sub-menu li.current-bibliothek-ancestor a,
#bibl-menu a:hover{
	/*color: var(--accent);*/
	color: var(--lipstick-red)
}
#bibl-menu li.current-menu-item::before,
#bibl-menu ul.sub-menu li.current-bibliothek-ancestor::before{
	content: '* ';
	color: #fff;
}
#bibl-menu li.current-menu-item:hover li a,
.slideout-menu li.current-menu-item:hover li a{
	color: var(--safran);
	 transition: color .2s ease;
}
.wp-classic-menu-block > .menu li {
	display: block;
	padding-right: 0;
	position: inherit;
	text-align: left;
}

#bibl-menu.wp-classic-menu-block > .menu ul {
	left: auto;
	list-style: none;
	margin: 0;
	padding: 0;
	position: inherit;
	line-height: 2
}

/* === Ergänzung: sanfte Submenü-Übergänge für #bibl-menu (Desktop/Sidebar) === */

/* Ausgangszustand: eingeklappt, aber display:block, damit Übergänge möglich sind */
#bibl-menu ul.sub-menu {
  display: block;                 /* überschreibt das frühere display:none */
  overflow: hidden;
  max-height: 0;                  /* eingeklappt */
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);    /* leicht von oben */
  transition:
    max-height 1s ease,
    opacity .25s ease,
    transform 1s ease,
    visibility 0s linear .35s;    /* erst nach Ende „unsichtbar“ */
  border-left: 0.5px solid transparent; /* Rand erst beim Öffnen einfärben */
  will-change: max-height, opacity, transform;
}

/* Öffnen: bei Hover/Fokus und bei „current“-Zuständen */
#bibl-menu li.menu-item-has-children:hover > ul.sub-menu,
#bibl-menu li.menu-item-has-children:focus-within > ul.sub-menu,
#bibl-menu li.current-bibliothek-parent > ul.sub-menu,
#bibl-menu li.current-bibliothek-ancestor > ul.sub-menu {
  max-height: 800px;              /* ausreichend groß wählen */
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s, 0s, 0s, 0s;
  border-left-color: var(--safran);
  pointer-events: auto;
}

/* Links: weiche Farb-Transition */
#bibl-menu a {
  color: var(--safran);
  text-decoration: none;
  line-height: 2;
  padding: 5px 0;
  transition: color .22s ease;
}

/* Eltern-LI hover: Link sanft akzentuieren */
#bibl-menu li.menu-item-has-children:hover > a,
#bibl-menu li.menu-item-has-children:focus-within > a {
  color: var(--accent);
}

/* Optional etwas mehr „Hover-Fläche“ im Submenü */
#bibl-menu ul.sub-menu li > a {
 /* display: block; */
  padding: 4px 0;
  border-radius: 6px;
  transition: color .2s ease;
}
#bibl-menu ul.sub-menu li > a:hover,
#bibl-menu ul.sub-menu li > a:focus {
  
}

/* Bewegung reduzieren, wenn vom System gewünscht */
@media (prefers-reduced-motion: reduce) {
  #bibl-menu ul.sub-menu { transition: none !important; }
  #bibl-menu a { transition: none !important; }
}

/* Caret an Elternpunkten */
#bibl-menu li.menu-item-has-children > a::after {
  content: '▾';
  margin-left: .4em;
  display: inline-block;
  transition: transform .25s ease;
}

/* drehen bei offen/hover/ancestor */
#bibl-menu li.menu-item-has-children:hover > a::after,
#bibl-menu li.menu-item-has-children:focus-within > a::after,
#bibl-menu li.current-bibliothek-parent > a::after,
#bibl-menu li.current-bibliothek-ancestor > a::after {
  transform: rotate(180deg);
}

/* navigationen im header */
.navi-im-header .gb-button {
	padding: 10px 20px
}
.navi-im-header  {
	margin-top: -80px;
  	margin-bottom: 35px;
}
body.postid-411 #nav-elemente {
	display: none
}

#nav-genien span svg {
	width: 30px
}
#nav-genien.navi-im-header .gb-button {
  padding: 5px 10px;
}

/* Taro */

.site-main.taro-main {
	margin-top: -80px !important
}
.taro-main h1.entry-title {
	text-align: center
}


.spalte-links,
.spalte-rechts {
	width: 30%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-around;
	text-align: center;
	padding-top: 64px;
	padding-bottom: 64px;
	margin-right: auto;
	margin-left: auto;
}
.spalte-mitte {
	width: 30%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	margin-right: auto;
	margin-left: auto;
}

/* TARO SHORTCODE */
.alle-karten-wrap{font-size:15px;line-height: 1.1;color:var(--safran);position:relative; max-width:900px}
.alle-karten-wrap form{display:flex;flex-wrap:wrap;justify-content:center;gap:0px}
.alle-karten-wrap .flip-container{perspective:1000px;width:200px;height:275px;text-align:center; margin-bottom: 30px}


/* Nur wenn die Karte offen ist (data-_open="1"), skaliert das Bild auf der Rückseite sanft beim Hover */
.alle-karten-wrap .back { 
            /* damit nichts über die Rundung ragt */
}
.alle-karten-wrap .back img {
	display: block;
	width:200px;
	height:250px;
	object-fit: contain;            /* optional, falls das Bild randlos füllen soll */
	border-radius: inherit;
	transform-origin: center center;
	transform: scale(1);
	transition: transform 300ms ease;  /* sanfte Übergänge */
	transform-origin: 50% 50%;
}

/* Hover-Effekt NUR bei offenen Karten */
.alle-karten-wrap .flipper[data-_open="1"] .back img:hover {
	transform: translateY(-4%) scale(1.1); /* leichtes Zoomen */
}

.alle-karten-wrap .flipper {
	margin-bottom: 10px
}






/* Drehung erfolgt ausschließlich per JS (inline) */
.alle-karten-wrap .flipper{
  transition:transform .6s ease; transform-style:preserve-3d;
  width:100%; height:250px; position:relative;
}



.alle-karten-wrap .front,.alle-karten-wrap .back{
  position:absolute; inset:0; backface-visibility:hidden; border-radius:10px;
  display:flex;  justify-content:center;
  font-size:18px; font-weight:bold; color:#fff;
} /*align-items:center;*/
.alle-karten-wrap .front{background:none}
.alle-karten-wrap .back {background:none; transform:rotateY(180deg)}




.alle-karten-wrap .submit-container{width:100%;text-align:center;margin:20px 0 40px;display:flex;justify-content:center;gap:10px}
.alle-karten-wrap input[type=text]{padding:10px;font-size:16px;border-radius:6px;border:1px solid #ccc; min-width:400px; background: var(--base)}
.alle-karten-wrap button[type=submit]{border: solid var(--safran) 1px;background: none;color:var(--safran);padding:10px 20px;font-size:16px;cursor:pointer;border-radius:12px}
.alle-karten-wrap button[type=submit]:hover{background: var(--safran); color: var(--accent)}
.alle-karten-wrap button[type=submit]:disabled{opacity:.6;cursor:not-allowed}

/* Tooltip fixiert, damit kein Overflow stört */
.alle-karten-wrap .hover-text{
  position:fixed; left:0; top:0;
  background:rgba(0,0,0,.9); color:#fff; padding:10px 12px; border-radius:8px;
  pointer-events:none; white-space:pre-line;max-width: 320px; display:none; font-size:14px; z-index:99999;
}

/* HARTE Hover-Sperre gegen fremdes CSS */
.alle-karten-wrap .flip-container:hover .flipper{ transform:none !important; }



/* Tooltip: weißer Hintergrund, roter Text */
.alle-karten-wrap .hover-text{
  background: rgba(255,255,255,0.85) !important;
  color: var(--contrast) !important;         /* Rotton nach Wunsch */
  border: 1px solid var(--contrast-2);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  padding: 10px 14px;
  border-radius: 10px;
  max-width: 360px;
  line-height: 1.45;
  white-space: normal;                /* <br> + automatische Zeilenumbrüche */
  z-index: 99999;
}

/* Optional: kleine „Sprechblasen“-Spitze oben */
.alle-karten-wrap .hover-text::after{
  content: "";
  position: absolute;
  top: -6px;                          /* sitzt oben am Tooltip */
  left: 12px;                         /* nach Geschmack verschieben */
  border-width: 6px 6px 0 6px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
  filter: drop-shadow(0 -1px 0 rgba(0,0,0,.08)); /* dezente Kante */
}

/* Links/Markierungen im Tooltip passend einfärben (falls vorhanden) */
.alle-karten-wrap .hover-text a { color: #c1121f; text-decoration: underline; }
.alle-karten-wrap .hover-text b,
.alle-karten-wrap .hover-text strong { color: var(--accent) }


/* ENDE TARO SHORTCODE */


/* geheim-link */
.menu-geheim {
	padding-left: 20px;
	margin-top: 40px;
}
.menu-geheim a {
	color: var(--safran);
	text-decoration: none
}
.menu-geheim a:hover {
	color: var(--accent);
	transition: color .2s ease;
}

.chinesisch td {
	font-family: 'Fira Mono' ;
	font-size: 13px
}


.entry-content .wp-block-image {
	margin-bottom: 20px
}

/* Container auf Seite */
.blue-border-cont {
	width: 880px;
	margin: 0 40px 60px -40px;
	padding: 0 40px 40px;
	border-bottom: 40px solid var(--contrast)
}


/* GeneratePress: Gutenberg Gallery captions below the image (no overlay) */
.wp-block-gallery .wp-block-image,
.wp-block-gallery figure {
  position: static !important;
}

.wp-block-gallery figcaption {
  position: static !important;
  background: transparent !important;
  color: var(--contrast) !important;
  padding: 0.5em 0 0;
  margin: 0;
  text-align: center;
  text-shadow: none !important;
  font-size: 16px !important;
}
/* WP Gallery: remove the blur overlay pseudo-element WordPress adds for captions */
.wp-block-gallery.has-nested-images figure.wp-block-image::before{
  content: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
.wp-block-gallery.gallery-gap-8 {
  gap: 8px;
}
.wp-block-gallery.gallery-gap-12 {
  gap: 12px;
}

.wp-block-group figcaption {
	font-size: 16px !important;
	text-align: left !important;
}


@media screen and (max-width: 768px) {
	
	.sidebar.is-left-sidebar {
		display: none
	}
	
  .wp-block-group.bildraster {
	grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}
	
	.blue-border-cont {
		width: 100%;
		margin: 0px;
		padding: 0px;
		border-bottom: 0px solid var(--contrast)
	}	
	.wp-block-buttons {
	  margin: 20px 0 0px;
	}
	.action-cont {
	  padding: 10px !important;
	  margin-bottom: 40px;
	}
}

p.parent-page-link {
	margin-top: -32px
}
p.parent-page-link a {
  /*display: inline-flex;
  align-items: center;
  gap: 0.4em;*/
  font-size: 0.9rem;
  text-decoration: none;
	margin-top: -32px
}

.parent-page-icon {
  font-size: 1.1em;
  line-height: 1;
}

.mk-cover-gallery figure {
	border: thin solid var(--contrast-3);
	margin: 0 4px 4px 0
}

/* nur mobil anzeigen */
.burger-button {
	display:none; 
	cursor:pointer; 
}
.burger-button svg {
	color: var(--safran);
}
.slideout-toggle a::before {
  content: none !important;
}
@media (max-width: 767px){ 
	.burger-button { 
		display:inline-flex;
	} 
}

.slideout-overlay {
	background-color: var(--contrast) !important;
}


/* falls Overlay-Styles fehlen/überschrieben wurden */
.slideout-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.4);
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease;
  z-index: 9998;
}
.offside-js--is-open .slideout-overlay{
  opacity: 1;
  visibility: visible;
}

