/*
Theme Name: S4F Freiburg
Theme URI: https://www.s4f-freiburg.de
Description: Child-Theme für s4f-freiburg.de auf Basis von Twenty Twenty-Five. Reines Block-Theme ohne Elementor; Schriften (Open Sans) werden lokal ausgeliefert.
Author: scientists for future Freiburg
Template: twentytwentyfive
Version: 1.0.2
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: s4f-freiburg
*/

/* Kleinere Feinheiten, die sich nicht über theme.json abbilden lassen */
.site-header .wp-block-site-logo img { max-height: 90px; width: auto; }
.wp-block-navigation .wp-block-navigation-item__content { text-transform: none; }

/* Hauptmenü: Hover-Linie und ruhigere Abstände (gilt für alle Punkte der obersten Ebene, mit und ohne Unterpunkte) */
.site-header ul.wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: 0.35rem 0; border-bottom: 2px solid transparent; transition: border-color .15s, color .15s;
}
.site-header ul.wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.site-header ul.wp-block-navigation__container > .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.site-header ul.wp-block-navigation__container > .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content {
	border-bottom-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary);
}
/* Pfeil-Schaltfläche neben Punkten mit Unterpunkten auf gleicher Höhe wie der Text */
.site-header ul.wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon { align-self: center; margin-top: 0; }

/* Aufklappmenü (Desktop): breiter, mit Rahmen, Schatten und Hover-Hintergrund */
.site-header .wp-block-navigation .wp-block-navigation__submenu-container {
	min-width: 20rem !important; max-width: 26rem; padding: 0.4rem 0; margin-top: 0.6rem;
	background: #fff; border: 1px solid var(--wp--preset--color--secondary); border-radius: 4px;
	box-shadow: 0 8px 24px rgba(14, 45, 91, 0.12);
}
/* Unsichtbare Brücke über den Abstand, damit das Menü beim Überfahren nicht zuklappt */
.site-header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container::before {
	content: ""; position: absolute; left: 0; right: 0; top: -0.8rem; height: 0.8rem;
}
.site-header .wp-block-navigation .has-child { position: relative; }
.site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block; padding: 0.55rem 1rem !important; font-size: 0.95rem; line-height: 1.35;
	color: var(--wp--preset--color--contrast); border-bottom: 0; white-space: normal;
}
.site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--secondary); color: var(--wp--preset--color--primary);
}
.site-header .wp-block-navigation .wp-block-navigation__submenu-icon { margin-left: 0.25rem; }

/* Mobiles Menü (Overlay): linksbündig, große Tippflächen, Untermenüs eingerückt */
.wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start !important; padding-top: 1rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
	align-items: flex-start !important; justify-content: flex-start !important; gap: 0.25rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { text-align: left; align-self: flex-start; align-items: flex-start !important; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu { align-items: flex-start !important; justify-content: flex-start !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle { margin-left: 0 !important; justify-content: flex-start; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: 0.5rem 0 !important; font-size: 1.15rem; border: 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	min-width: 0 !important; max-width: none; border: 0; box-shadow: none; padding: 0 0 0.5rem 1rem; margin: 0;
	border-left: 2px solid var(--wp--preset--color--secondary);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1rem; padding: 0.35rem 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content { background: none; }
.wp-block-details { border: 1px solid var(--wp--preset--color--secondary); border-radius: 4px; padding: 0.75rem 1rem; margin-bottom: 0.75rem; }
.wp-block-details summary { color: var(--wp--preset--color--primary); font-weight: 400; cursor: pointer; }
.wp-block-code { font-size: 0.85rem; overflow-x: auto; }
.site-footer a, .site-footer-bar a { color: inherit; }
.site-footer .wp-block-navigation .wp-block-navigation-item__content:hover { text-decoration: underline; }
.wp-block-cover .wp-block-heading, .wp-block-cover p { color: #fff; }

/* Ninja Forms: Felder an das Theme angleichen */
.nf-form-cont .nf-field-label label { font-weight: 400; color: var(--wp--preset--color--primary); }
.nf-form-cont input[type="text"], .nf-form-cont input[type="email"], .nf-form-cont input[type="tel"],
.nf-form-cont textarea, .nf-form-cont select {
	width: 100%; padding: 0.6rem 0.75rem; border: 1px solid #c9d6e2; border-radius: 3px;
	background: #fff; color: var(--wp--preset--color--contrast); font: inherit; font-size: 1rem;
}
.nf-form-cont textarea { min-height: 10rem; }
.nf-form-cont input[type="button"], .nf-form-cont input[type="submit"] {
	background: var(--wp--preset--color--accent); color: #fff; border: 0; border-radius: 3px;
	padding: 0.75rem 1.5rem; font: inherit; font-weight: 500; cursor: pointer;
}
.nf-form-cont input[type="button"]:hover, .nf-form-cont input[type="submit"]:hover { background: var(--wp--preset--color--primary); }
.nf-form-cont .nf-form-fields-required { font-size: var(--wp--preset--font-size--small); }
