/*
 * Ergänzungen zu schuetzenverein.css (alt, unverändert bis auf url()-Pfade):
 * vormals Inline-Styles der Smarty-Templates sowie WordPress-spezifische Klassen.
 */

/* ---------- Kopf / Navigation ---------- */
.admin-bar #header_container { top: 32px; }
@media screen and (max-width: 782px) {
	.admin-bar #header_container { top: 46px; }
}
@media screen and (max-width: 600px) {
	.admin-bar #header_container { top: 0; }
}

@media (min-width: 768px) {
	/* Alt: „Kontakt“ als eigene rechte Liste. Hier: Menüpunkt mit Klasse pull-right rückt nach rechts. */
	#navbar > .navbar-nav { float: none; display: flex; flex-wrap: wrap; }
	#navbar > .navbar-nav > li { float: none; }
	#navbar > .navbar-nav > li.pull-right { margin-left: auto; float: none !important; }
	/* Desktop: Untermenü bei Hover öffnen, Klick auf den Elternpunkt führt zur Seite (siehe theme.js). */
	#navbar .navbar-nav > li.dropdown:hover > .dropdown-menu { display: block; }
}
.navbar-default .navbar-nav > .active > a .navbar-linktext { color: #555; }
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus { background-color: #263c35; }

/* ---------- Allgemein ---------- */
.sv-abstand { height: 10px; }
.sv-seitentitel { margin: 20px 0; }
.sv-willkommen { text-align: center; margin-bottom: 30px; }
.sv-inhalt img { max-width: 100%; height: auto; }
.sv-inhalt .sv-titelbild { max-width: 180px; max-height: 180px; width: auto; margin: 0 20px 20px 0; }
.sv-beitragstitel { margin-bottom: 30px; }
.sv-mehr { margin-top: 10px; }
.screen-reader-text {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
}
.alignleft { float: left; margin: 0 20px 20px 0; }
.alignright { float: right; margin: 0 0 20px 20px; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .wp-element-caption { font-size: 13px; color: #687772; }
.nav-links { margin: 20px 0; text-align: center; }
.nav-links .page-numbers { display: inline-block; padding: 4px 10px; }
.nav-links .current { background-color: #263c35; color: #fff; }

/* ---------- Startseite ---------- */
.greybox_label { color: #ccc; }
.greybox_datum { font-size: 20px; }
.greybox_titel { font-size: 22px; font-weight: bold; }
.newsblock .anreisser { font-size: 14px; display: none; }
.newsbox_datum { font-size: 13px; }

/* ---------- Bereichsseiten / Kopfbild ---------- */
.sv-kopfbild { background-size: cover; background-position: center center; height: 400px; }
.sv-bereich-box { min-height: 400px; }
.sv-bereich-titel { font-size: 24px; font-weight: 500; }
.sv-bereich-intro { text-align: center; }
.sv-bereich-intro img {
	width: 180px; height: 180px; object-fit: cover; object-position: center top;
	border-radius: 100px; margin: 15px auto; display: block;
}
.sv-bereich-intro a { color: #fff; }
.sv-unterseiten ul { font-size: 18px; margin-bottom: 0; }
.sv-unterseiten li.active > a { font-weight: bold; }
.sv-news-bild { max-height: 200px; }
.sv-news-eintrag.alert { margin: 0; }
.terminbox .treffpunkt { font-size: 14px; }
@media (max-width: 767px) {
	.sv-bereich-box { min-height: 0; }
}

/* ---------- Galerien ---------- */
.sv-galerie-kachel { height: 230px; text-align: center; }
.sv-galerie-kachel img { margin-bottom: 5px; max-height: 140px; }
.sv-galerie-foto { height: 140px; margin-bottom: 10px; }
.sv-galerie-foto img { margin-bottom: 5px; max-height: 100%; }
.sv-zurueck { margin-top: 20px; }

/* ---------- 2-Klick-Karte ---------- */
.sv-karte { position: relative; width: 100%; background-color: #f4f5f5; margin-bottom: 20px; }
.sv-karte iframe { border: 0; width: 100%; height: 100%; }
.sv-karte-hinweis {
	position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column;
	align-items: center; justify-content: center; text-align: center; padding: 20px; color: #263c35;
}
.sv-karte-hinweis p { max-width: 480px; }
.sv-karte-hinweis .sv-karte-adresse { font-size: 16px; margin-bottom: 15px; }

/* ---------- Fuß ---------- */
#footer { width: 100%; min-height: 200px; position: relative; margin-top: 100px; }
#footer .footer-bild {
	position: absolute; top: 0; left: 0; right: 0; bottom: 40px;
	background-size: cover; background-position: center center; background-repeat: no-repeat;
}
#footer .footer-overlay {
	position: absolute; top: 0; left: 0; right: 0; bottom: 40px;
	background-color: rgba(39, 60, 53, 0.9); color: #fff;
}
#footer .footer-overlay > .container { padding-top: 50px; }
#footer .footer-logo { max-width: 60px; margin-right: 20px; }
#footer .btn-outline { color: #fff; }
#footer .footer-facebook { float: right; }
#footer .footer-facebook img { width: 50px; }
#footer .footer-nach-oben {
	width: 60px; height: 60px; max-width: 100%; border-radius: 50px; background-color: #fff;
	display: flex; justify-content: center; align-items: center; color: #283c35; font-size: 24px;
}
#footer .footer-leiste {
	position: absolute; width: 100%; bottom: 0; min-height: 40px; background-color: #000; color: #fff; padding: 12px;
}
#footer .footer-links a + a { margin-left: 15px; }

/* Startseite: zweite graue Box mit Abstand (alt inline); „Nächster Termin“ darf bei Treffpunkt-Zeile in den Abstand wachsen. */
.greybox-countdown { margin-top: 30px; }
.greybox-termin .greybox_inner { bottom: auto; min-height: 100%; }
.greybox_treffpunkt { color: #ccc; font-size: 13px; }
@media (max-width: 991px) {
	/* Gestapelt: Boxen wachsen mit dem Inhalt (lange Titel umbrechen), statt sich zu überlappen. */
	.greybox { padding-bottom: 0; padding-right: 15px; }
	.greybox .greybox_inner { position: static; min-height: 132px; }
}

/* ---------- Migrierte Inhalte (Blöcke mit CSS-Klassen der alten Templates) ---------- */
.sv-inhalt .wp-block-image, .sv-bereich-box .wp-block-image { margin: 0; }
/* Klassisches Theme: Gruppen haben einen inneren Container – das Raster liegt auf ihm. */
.sv-raster > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 30px; margin-bottom: 20px; }
@media (min-width: 768px) {
	.sv-raster-3 > .wp-block-group__inner-container, .sv-raster-4 > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sv-raster-6 > .wp-block-group__inner-container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
	.sv-raster-3 > .wp-block-group__inner-container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sv-raster-4 > .wp-block-group__inner-container { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.sv-raster-6 > .wp-block-group__inner-container { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.sv-person { text-align: center; margin-bottom: 40px; }
.sv-person p { margin: 0; }
.sv-rund img, .sv-person .wp-block-image img {
	width: 180px; height: 180px; object-fit: cover; object-position: center top;
	border-radius: 100px; display: block; margin: 15px auto; background-color: #777;
}
.sv-raster-6 .sv-person .wp-block-image img, .sv-repraesentanten .sv-person .wp-block-image img { width: 140px; height: 140px; }
.sv-repraesentanten .sv-person .wp-block-image img { background-color: rgba(33, 33, 33, 0.55); }
.sv-person .sv-ersatzbild img { object-fit: contain; object-position: center center; }
.sv-person-oben { font-weight: 200; letter-spacing: 1px; }
.sv-person-name { font-weight: 500; }
.sv-vorstand .sv-person-name, .sv-repraesentanten .sv-person-name { font-weight: bold; }
.sv-person .wp-block-buttons { justify-content: center; margin-top: 10px; display: flex; }
.sv-person .wp-block-button__link {
	display: inline-block; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px;
	color: #fff; background-color: #5cb85c; border: 1px solid #4cae4c; text-decoration: none;
}
.sv-person .wp-block-button__link:hover { background-color: #449d44; color: #fff; }

/* Grüne Box im Kopfbereich (Verein, Das Fest, Bereichs-Startseiten, Königspaar) */
.sv-kopf-titel { font-size: 24px; font-weight: 500; margin: 0; }
.sv-kopf-untertitel { font-size: 18px; margin-bottom: 20px; }
.sv-bereich-box .sv-person { margin-bottom: 0; }
.sv-bereich-box .sv-person-name, .sv-koenigspaar-box .sv-person-name { font-weight: normal; }
.sv-bereich-box .sv-person .wp-block-image img { background-color: transparent; }
.sv-kopf-links-spalte .sv-karte { height: 400px; margin-bottom: 0; }
.sv-download { background-color: #687772; padding: 6px; margin: 6px 0 0; }
.sv-download a, .sv-download a:hover, .sv-download a:visited { color: #fff; text-decoration: none; }
.sv-download a::before { font-family: FontAwesome; content: "\f1c1"; margin-right: 5px; }
.sv-kopfbereich { margin-bottom: 10px; }

/* Königspaar-Unterseite */
.sv-koenigspaar-box { min-height: 290px; display: flex; justify-content: center; align-items: center; margin-bottom: 0; }
.sv-hofstaat-bild img { width: 100%; height: 290px; object-fit: cover; }
.sv-hofstaat { padding: 15px; }
.sv-hofstaat h3 { margin-top: 0; }

/* Das Fest: Grußworte und Festablauf */
.sv-float-rechts { float: right; margin: 0 0 20px 20px; max-width: 200px; }
.sv-float-links { float: left; margin: 0 20px 20px 0; max-width: 200px; }
.sv-grusswort-person .sv-person { margin-bottom: 0; }
.sv-inhalt .wp-block-separator { clear: both; border: 0; border-top: 1px solid #eee; margin: 20px 0; }
.sv-festablauf-tag { padding: 15px 10px 5px; }
.sv-ablauf-zeile > .wp-block-group__inner-container { display: grid; grid-template-columns: 25% 75%; margin-bottom: 10px; }
.sv-ablauf-zeile p { margin: 0; }
.sv-ablauf-text p + p { margin-top: 0; }

/* Verein: „Weiterlesen“, Anekdoten */
.sv-inhalt .wp-block-details summary { cursor: pointer; color: #263c35; }
.sv-inhalt .sv-weiterlesen summary { padding-top: 10px; text-decoration: underline; }
.sv-inhalt .sv-weiterlesen[open] summary { display: none; }
.sv-anekdoten { position: relative; }
.sv-anekdoten .anekdote { flex-direction: column; text-align: left; padding: 10px 10%; }
.sv-anekdoten.sv-js .anekdote { display: none; }
.sv-anekdoten.sv-js .anekdote.aktiv { display: flex; }
.sv-anekdoten-nav { position: absolute; top: 50%; transform: translateY(-50%); color: #fff; font-size: 30px; background: none; border: 0; }
.sv-anekdoten-nav.zurueck { left: 10px; }
.sv-anekdoten-nav.weiter { right: 10px; }

/* FAQ (core/details) im Stil der alten Bootstrap-Panels */
.sv-inhalt .wp-block-details:not(.sv-weiterlesen) { border: 1px solid #ddd; border-radius: 4px; margin-bottom: 20px; }
.sv-inhalt .wp-block-details:not(.sv-weiterlesen) > summary { font-weight: bold; padding: 10px 15px; background-color: #f5f5f5; border-radius: 3px; }
.sv-inhalt .wp-block-details:not(.sv-weiterlesen) > *:not(summary) { padding: 0 15px; }
.sv-inhalt .wp-block-details:not(.sv-weiterlesen) > *:nth-child(2) { padding-top: 15px; }

/* Kontakt */
.sv-kontakt-person { padding: 20px 0; }
.sv-kontakt-person p { margin-bottom: 10px; }

/* Ansprechpartner */
.sv-ansprechpartner-bild img { max-height: 200px; width: auto; }

/* Galerie-Block in Beiträgen: Vorschaubilder wie früher (max. 260 px, img-thumbnail), unter dem Titelbild */
.sv-inhalt .wp-block-gallery { clear: both; display: flex; flex-wrap: wrap; gap: 10px; padding-top: 20px; }
.sv-inhalt .wp-block-gallery.has-nested-images figure.wp-block-image {
	flex: 0 0 auto !important; width: auto !important; max-width: 260px; margin: 0;
	padding: 4px; border: 1px solid #ddd; border-radius: 4px; background-color: #fff;
}
.sv-inhalt .wp-block-gallery.has-nested-images figure.wp-block-image img { height: 150px !important; width: auto !important; max-width: 250px; object-fit: cover; }
