/*
Theme Name: WKR Block
Theme URI: https://wkr-anwalt.de/
Description: Block Theme der WKR Rechtsanwaltsgesellschaft mbH auf Basis von Twenty Twenty-Five. Schrift Source Sans 3 lokal eingebunden (kein externer Abruf).
Author: WKR Rechtsanwaltsgesellschaft mbH
Template: twentytwentyfive
Version: 1.0.1
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wkr-block
*/

/* ==========================================================================
   1. Grundgerüst
   ========================================================================== */

/* Kein Abstand zwischen Kopf, Inhalt und Fuß (Titelbereich schließt direkt an) */
.wp-site-blocks > * + * { margin-block-start: 0; }
.wkr-main { margin-block-start: 0; }
.wkr-main > * + * { margin-block-start: 0; }

b, strong { font-weight: 700; }

/* ==========================================================================
   2. Kopfbereich
   ========================================================================== */

.wkr-header {
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
	padding-top: 14px;
	padding-bottom: 14px;
	position: relative;
	z-index: 50;
}
.wkr-header-row { gap: 12px 24px; }

.wkr-brand { gap: 10px; flex: 0 0 auto; }
.wkr-brand .wkr-logo { margin: 0; }
.wkr-brand .wkr-logo img { display: block; height: auto; }
.wkr-brand-text { gap: 0; }
.wkr-brand-text p { margin: 0; line-height: 1.2; }
.wkr-brand-name { font-weight: 700; font-size: 18px; }
.wkr-brand-name a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.wkr-brand-sub { font-size: 14px; color: var(--wp--preset--color--accent-4); }

.wkr-nav { flex: 1 1 520px; }
.wkr-nav .wp-block-navigation__container { gap: 4px 20px; }
.wkr-nav .wp-block-navigation-item__content { padding: 4px 0; }
.wkr-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--accent-6) !important;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(31, 35, 40, 0.12);
	padding: 6px 0;
	min-width: 260px !important;
}
.wkr-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 16px; font-weight: 400; }
.wkr-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--accent-2); }
.wkr-nav .current-menu-item > .wp-block-navigation-item__content,
.wkr-nav .wp-block-navigation-item__content[aria-current="page"] { color: var(--wp--preset--color--accent-3); }

.wkr-header-actions { gap: 12px; flex: 0 0 auto; }
.wkr-header-tel { margin: 0; font-weight: 700; font-size: 16px; white-space: nowrap; }
.wkr-header-tel a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.wkr-header-cta { margin: 0; }
.wkr-header-cta .wp-block-button__link { font-size: 16px; padding: 12px 18px; min-height: 44px; display: inline-flex; align-items: center; white-space: nowrap; }

.wkr-call-icon {
	display: none;
	width: 44px; height: 44px;
	border: 1px solid #c9cdd2; border-radius: 8px;
	align-items: center; justify-content: center;
	color: var(--wp--preset--color--contrast);
}

/* Burger auch zwischen 600 und 1023 px (Kernstandard schaltet erst unter 600 px um) */
@media (min-width: 600px) and (max-width: 1023px) {
	.wkr-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.wkr-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 1023px) {
	.wkr-nav { flex: 0 0 auto; order: 4; }
	.wkr-brand { flex: 1 1 auto; }
	.wkr-header-row { flex-wrap: nowrap !important; }
}
.wkr-nav .wp-block-navigation__responsive-container-open {
	width: 44px; height: 44px;
	border: 1px solid #c9cdd2; border-radius: 8px;
	align-items: center; justify-content: center;
}
.wkr-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 18px; padding: 6px 0; }
.wkr-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 0 0 0 16px; }

/* Smartphone: Telefon als Symbol, Button in die feste Leiste unten */
@media (max-width: 781px) {
	.wkr-header { padding-top: 10px; padding-bottom: 10px; }
	.wkr-header-actions { display: none !important; }
	.wkr-call-icon { display: inline-flex; order: 3; }
	.wkr-brand .wkr-logo img { width: 40px !important; }
	.wkr-brand-name { font-size: 16px; }
	.wkr-brand-sub { font-size: 13px; }
}

/* ==========================================================================
   3. Titelbereich und Inhalt
   ========================================================================== */

.wkr-titelbereich {
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
	padding-top: 40px;
	padding-bottom: 44px;
}
.wkr-titel-inner > * + * { margin-block-start: 10px; }
.wkr-titelbereich .wkr-h1 { margin: 0; max-width: 820px; font-size: var(--wp--preset--font-size--xx-large); line-height: 1.15; }

.wkr-breadcrumb, .wkr-breadcrumb .rank-math-breadcrumb p { margin: 0; font-size: 15px; color: var(--wp--preset--color--accent-4); }
.wkr-breadcrumb a { color: var(--wp--preset--color--accent-4); text-decoration: none; }
.wkr-breadcrumb a:hover { color: var(--wp--preset--color--accent-3); text-decoration: underline; }

.wkr-inhalt { padding-top: 48px; padding-bottom: 56px; }
.wkr-inhalt > :first-child { margin-top: 0; }

/* Bestehende Elementor Inhalte nicht auf 760 px einengen */
.wp-block-post-content > .elementor { max-width: none !important; width: 100%; }
.wp-block-post-content.wkr-inhalt:has(> .elementor) { padding-top: 0; }

/* Hinweiskasten und Antwortkasten */
.wkr-hinweis, .wkr-antwort {
	background: var(--wp--preset--color--accent-5);
	border: 1px solid var(--wp--preset--color--hinweis-rand);
	border-radius: 10px;
	padding: 20px 24px;
}
.wkr-hinweis > :first-child, .wkr-antwort > :first-child { margin-top: 0; }
.wkr-hinweis > :last-child, .wkr-antwort > :last-child { margin-bottom: 0; }

/* Häufige Fragen (Details Block) als zusammenhängende Liste */
.wp-block-details summary { font-weight: 700; cursor: pointer; }
.wp-block-details > *:not(summary) { margin-top: 10px; margin-bottom: 0; }
.wp-block-details + .wp-block-details { margin-top: -1px !important; }

/* Dunkler Kostenkasten (Klasse wkr-kosten an einer Gruppe) */
.wkr-kosten { background: var(--wp--preset--color--contrast); color: #fff; border-radius: 12px; padding: 28px; }
.wkr-kosten p { color: var(--wp--preset--color--footer-text); }
.wkr-kosten .wp-block-button__link { background: var(--wp--preset--color--akzent-hell); color: var(--wp--preset--color--contrast); }

/* Liste (Archive, Suche) */
.wkr-liste { padding-top: 40px; padding-bottom: 56px; }
.wkr-liste-eintraege > li { border-bottom: 1px solid var(--wp--preset--color--accent-6); padding: 18px 0; margin: 0; }
.wkr-liste-eintraege .wp-block-post-title a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.wkr-liste-eintraege .wp-block-post-title a:hover { color: var(--wp--preset--color--accent-3); }

/* ==========================================================================
   4. Fußbereich
   ========================================================================== */

.wkr-footer { font-size: 16px; padding-top: 44px; }
.wkr-footer p { margin: 0 0 8px; }
.wkr-footer a { color: var(--wp--preset--color--footer-link); }
.wkr-footer a:hover { color: #ffffff; }
.wkr-footer .wkr-footer-head { color: #ffffff; font-weight: 700; }
.wkr-footer-cols { gap: 32px; margin-bottom: 36px !important; }
.wkr-footer-bottom { border-top: 1px solid var(--wp--preset--color--footer-linie); padding-top: 16px; padding-bottom: 16px; font-size: 14px; color: var(--wp--preset--color--footer-klein); }
.wkr-footer-bottom p { margin: 0; }
.wkr-footer-bottom a { color: var(--wp--preset--color--footer-klein); }

/* ==========================================================================
   5. Feste Leiste unten (nur unter 782 px)
   ========================================================================== */

.wkr-mobilbar { display: none; }
@media (max-width: 781px) {
	.wkr-mobilbar {
		display: block;
		position: fixed; left: 0; right: 0; bottom: 0;
		z-index: 9990;
		background: #ffffff;
		border-top: 1px solid var(--wp--preset--color--accent-6);
		box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.08);
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
	}
	.wkr-mobilbar .wp-block-buttons { gap: 10px; flex-wrap: nowrap; }
	.wkr-mobilbar .wp-block-button { margin: 0; }
	.wkr-mobilbar .wkr-mb-call { flex: 1 1 0; }
	.wkr-mobilbar .wkr-mb-cta { flex: 1.4 1 0; }
	.wkr-mobilbar .wp-block-button__link { width: 100%; text-align: center; justify-content: center; padding: 12px 8px; font-size: 17px; }
	body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
	.wkr-footer { padding-top: 28px; font-size: 15px; }
}

/* ==========================================================================
   6. Übernommen aus dem Zusatz CSS des bisherigen Themes (hello-theme-child-master)
      Regeln, die alte Elementor Widgets ausblenden, gelten unverändert weiter.
   ========================================================================== */

.grecaptcha-badge { visibility: hidden; }
.entry-title { display: none !important; }

/*Datum ausblenden*/
.elementor-post-date { visibility: hidden; }

/* Gutenberg-Inhalte im Elementor-Theme an das Seitenlayout angleichen (WKR, 29.10.2026); greift nur, solange Elementor Theme Builder Vorlagen aktiv sind */
.elementor-widget-theme-post-content .wp-block-heading { font-family: Roboto, sans-serif; font-weight: 500; color: #333; letter-spacing: .1px; margin: 32px 0 10px; }
.elementor-widget-theme-post-content h2.wp-block-heading { font-size: 30px; line-height: 1.6; }
.elementor-widget-theme-post-content h3.wp-block-heading { font-size: 24px; line-height: 1.5; }
.elementor-widget-theme-post-content .wp-block-list { margin: 0 0 20px 1.2em; }
.elementor-widget-theme-post-content .wp-block-list li { margin-bottom: 6px; }
.elementor-widget-theme-post-content .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 8px; }
.elementor-widget-theme-post-content .wp-block-button__link { display: inline-block; background: #FE7803 !important; color: #fff !important; border: 2px solid #FE7803; border-radius: 3px; padding: 12px 24px; font-family: "Open Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.6; letter-spacing: .3px; text-decoration: none; }
.elementor-widget-theme-post-content .wp-block-button__link:hover { background: #94C11E !important; border-color: #94C11E; }
.elementor-widget-theme-post-content .is-style-outline .wp-block-button__link { background: transparent !important; color: #FE7803 !important; }
.elementor-widget-theme-post-content .is-style-outline .wp-block-button__link:hover { background: #FE7803 !important; color: #fff !important; }
.elementor-widget-theme-post-content .wp-block-details { border: 1px solid #D5D8DC; border-radius: 3px; margin: 0 0 -1px; padding: 0; }
.elementor-widget-theme-post-content .wp-block-details summary { cursor: pointer; padding: 15px 20px; font-family: Roboto, sans-serif; font-size: 18px; font-weight: 500; color: #333; background: #F6F6F6; }
.elementor-widget-theme-post-content .wp-block-details[open] summary { color: #FE7803; }
.elementor-widget-theme-post-content .wp-block-details > *:not(summary) { padding: 12px 20px 4px; margin: 0; }
.elementor-widget-theme-post-content .wkr-antwort { background: #F2F4F7; border-left: 4px solid #94C11E; padding: 16px 20px; }
.elementor-widget-theme-post-content .wp-block-latest-posts { list-style: none; margin: 0 0 24px; padding: 0; }
.elementor-widget-theme-post-content .wp-block-latest-posts li { margin-bottom: 10px; }
.elementor-widget-theme-post-content .wp-block-latest-posts a { color: #FE7803; }
@media (max-width: 767px) { .elementor-widget-theme-post-content h2.wp-block-heading { font-size: 24px; } .elementor-widget-theme-post-content .wp-block-button__link { width: 100%; text-align: center; } }

/* Hauptmenue einzeilig, Kontakt als Schaltflaeche (WKR, 30.10.2026); greift nur bei aktivem Elementor Header */
@media (min-width: 1025px) {
  .elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: nowrap; align-items: center; }
  .elementor-location-header .elementor-nav-menu--main .elementor-item { white-space: nowrap; letter-spacing: 0 !important; }
  .elementor-location-header .elementor-nav-menu--main .menu-item-41778 > a { background: #FE7803; color: #fff !important; border-radius: 3px; margin-left: 8px; }
  .elementor-location-header .elementor-nav-menu--main .menu-item-41778 > a:hover { background: #94C11E; }
}
@media (min-width: 1280px) and (max-width: 1599px) {
  .elementor-location-header .elementor-nav-menu--main .elementor-item { font-size: 14px !important; padding-left: 8px !important; padding-right: 8px !important; }
}
@media (min-width: 1025px) and (max-width: 1279px) {
  .elementor-location-header .elementor-nav-menu--main { display: none !important; }
  .elementor-location-header .elementor-menu-toggle { display: flex !important; margin-left: auto; }
  .elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container { display: block !important; }
}

/* Alte Kontaktboxen ausgeblendet, neue Stand-Box ersetzt sie (WKR, 30.10.2026) */
.elementor-21824 .elementor-element-3e11979, .elementor-21824 .elementor-element-a333142, .elementor-21824 .elementor-element-bc65823, .elementor-21824 .elementor-element-2c7958a,
.elementor-21187 .elementor-element-d18d699, .elementor-21187 .elementor-element-c650225, .elementor-21187 .elementor-element-d8330cf, .elementor-21187 .elementor-element-cdd31ea { display: none !important; }
