/* =========================================================================
   Die Jagdrechtskanzlei – ergänzende Stile (Frontend + Editor)
   Ergänzt theme.json. Nutzt die von WP generierten Preset-Variablen.
   ========================================================================= */

:root {
	--jrk-gold: var(--wp--preset--color--gold, #C6A15A);
	--jrk-gold-dark: var(--wp--preset--color--gold-dark, #A9853F);
	--jrk-forest: var(--wp--preset--color--forest, #1E2D24);
	--jrk-contrast: var(--wp--preset--color--contrast, #0F1F17);
	--jrk-cream: var(--wp--preset--color--cream, #E7DCC2);
	--jrk-base: var(--wp--preset--color--base, #F7F6F2);
	--jrk-rule: rgba(198, 161, 90, 0.45);
	--jrk-shadow: 0 18px 50px -24px rgba(15, 31, 23, 0.55);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* --- Block-Styles ------------------------------------------------------- */

/* Button: Gold-Umrandung (transparent, goldener Rand) */
.wp-block-button.is-style-outline-gold > .wp-block-button__link {
	background: transparent;
	color: var(--jrk-gold);
	border: 1px solid var(--jrk-gold);
}
.wp-block-button.is-style-outline-gold > .wp-block-button__link:hover {
	background: var(--jrk-gold);
	color: var(--jrk-contrast);
}
/* Button: helle Umrandung (auf dunklem Grund) */
.wp-block-button.is-style-light-outline > .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255,255,255,0.55);
}
.wp-block-button.is-style-light-outline > .wp-block-button__link:hover {
	background: #fff;
	color: var(--jrk-contrast);
	border-color: #fff;
}

/* Separator: Goldlinie, schmal & zentriert */
.wp-block-separator.is-style-gold-rule {
	border: none;
	height: 1px;
	width: 64px;
	max-width: 64px;
	background: var(--jrk-gold);
	opacity: 1;
	margin-inline: 0;
}
.wp-block-separator.is-style-gold-rule.aligncenter { margin-inline: auto; }

/* Group: Karte */
.wp-block-group.is-style-card {
	background: #fff;
	border: 1px solid rgba(15,31,23,0.08);
	border-radius: 14px;
	box-shadow: var(--jrk-shadow);
	overflow: hidden;
}

/* Image: weicher Rahmen */
.wp-block-image.is-style-soft-frame img {
	border-radius: 14px;
	box-shadow: var(--jrk-shadow);
}

/* --- Header / sticky ---------------------------------------------------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--jrk-contrast);
	color: #fff;
	border-bottom: 1px solid rgba(198,161,90,0.18);
	transition: box-shadow .25s ease, background .25s ease;
}
.site-header.is-scrolled { box-shadow: 0 10px 30px -18px rgba(0,0,0,.7); }
.site-header .wp-block-site-title a,
.site-header .brand__text { color: #fff; text-decoration: none; }
.site-header a { color: #fff; }

/* Brand / Logo (Inline-SVG + Wortmarke) */
.brand { display: flex; align-items: center; gap: .7rem; text-decoration: none; line-height: 1; }
.brand__mark { width: 38px; height: 38px; flex: 0 0 auto; color: var(--jrk-gold); }
.brand__mark svg { width: 100%; height: 100%; display: block; }
.brand__text { font-family: var(--wp--preset--font-family--heading); color: #fff; }
.brand__name { display: block; font-weight: 700; font-size: 1.15rem; letter-spacing: .06em; }
.brand__sub { display: block; font-family: var(--wp--preset--font-family--body); font-weight: 500; font-size: .62rem; letter-spacing: .26em; text-transform: uppercase; color: var(--jrk-gold); margin-top: .18rem; }

/* Navigation im Header */
.site-header .wp-block-navigation { font-family: var(--wp--preset--font-family--body); font-weight: 500; font-size: .98rem; }
.site-header .wp-block-navigation a { color: rgba(255,255,255,.88); }
.site-header .wp-block-navigation a:hover,
.site-header .wp-block-navigation .current-menu-item a { color: var(--jrk-gold); }
.site-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--jrk-contrast); }

/* --- Hero --------------------------------------------------------------- */
.hero.wp-block-cover { min-height: 78vh; align-items: flex-end; color: #fff; }
.hero .wp-block-cover__inner-container { width: 100%; }
.hero__content { max-width: 640px; padding-bottom: clamp(1.5rem, 4vw, 3.5rem); }
.hero__content h1, .hero__content .wp-block-heading {
	color: #fff;
	font-size: var(--wp--preset--font-size--huge);
	font-weight: 600;
	line-height: 1.08;
	text-shadow: 0 2px 24px rgba(0,0,0,.35);
}
.hero__content p { color: rgba(255,255,255,.92); font-size: var(--wp--preset--font-size--large); }
.hero__kicker { color: var(--jrk-gold) !important; font-family: var(--wp--preset--font-family--body); font-weight:600; letter-spacing:.22em; text-transform:uppercase; font-size:.8rem !important; }

/* Content-Hero (Unterseiten, kleiner) */
.content-hero.wp-block-cover { min-height: 46vh; align-items: center; color:#fff; }
.content-hero .wp-block-heading { color:#fff; font-size: var(--wp--preset--font-size--xx-large); }
.content-hero p { color: rgba(255,255,255,.9); }

/* --- Sektionsfarben ----------------------------------------------------- */
.section-dark { background: var(--jrk-forest); color: rgba(255,255,255,.86); }
.section-dark .wp-block-heading, .section-dark h1, .section-dark h2, .section-dark h3 { color: #fff; }
.section-darker { background: var(--jrk-contrast); color: rgba(255,255,255,.86); }
.section-darker .wp-block-heading { color:#fff; }
.section-cream { background: var(--jrk-cream); }
.section-light { background: var(--jrk-base); }
.eyebrow { color: var(--jrk-gold-dark); font-family: var(--wp--preset--font-family--body); font-weight:600; letter-spacing:.2em; text-transform:uppercase; font-size:.78rem; }
.section-dark .eyebrow, .section-darker .eyebrow { color: var(--jrk-gold); }

/* --- Trust-Bar ---------------------------------------------------------- */
.trust-bar { border-top: 1px solid rgba(198,161,90,.22); border-bottom: 1px solid rgba(198,161,90,.22); }
.trust-item { text-align: center; }
.trust-item__icon { color: var(--jrk-gold); width: 40px; height: 40px; margin: 0 auto .6rem; }
.trust-item__icon svg { width: 100%; height: 100%; }
.trust-item strong { display:block; color:#fff; font-weight:600; font-size:1rem; }
.trust-item span { display:block; color: rgba(255,255,255,.6); font-size:.85rem; margin-top:.15rem; }

/* --- Feature-Cards (Jagdrecht / Waffenrecht) ---------------------------- */
.feature-card { background: rgba(255,255,255,.035); border: 1px solid rgba(198,161,90,.25); border-radius: 14px; overflow:hidden; }
.feature-card__media img { width:100%; height: 190px; object-fit: cover; display:block; filter: saturate(.95); }
.feature-card__body { padding: clamp(1.4rem, 2.2vw, 2.2rem); }
.feature-card__icon { color: var(--jrk-gold); width: 44px; height:44px; margin-bottom:.8rem; }
.feature-card__icon svg { width:100%; height:100%; }
.feature-card h3 { color:#fff; font-size: var(--wp--preset--font-size--x-large); margin:0 0 .5rem; }
.feature-card p { color: rgba(255,255,255,.74); }
.arrow-link a, a.arrow-link { color: var(--jrk-gold); font-weight:600; text-decoration:none; }
.arrow-link a:hover, a.arrow-link:hover { text-decoration:underline; }

/* --- About-Split -------------------------------------------------------- */
.about__media img { border-radius: 14px; box-shadow: var(--jrk-shadow); }
.signature { font-family: var(--wp--preset--font-family--heading); font-style: italic; font-size: 1.5rem; color: var(--jrk-forest); }

/* --- News-Grid ---------------------------------------------------------- */
.news-card { background:#fff; border:1px solid rgba(15,31,23,.08); border-radius:14px; overflow:hidden; box-shadow: var(--jrk-shadow); height:100%; }
.news-card .wp-block-post-featured-image img,
.news-card__media img { width:100%; height: 200px; object-fit: cover; display:block; }
.news-card__body { padding: 1.3rem 1.4rem 1.5rem; }
.news-card__date { color: var(--jrk-gold-dark); font-size:.8rem; font-weight:600; letter-spacing:.06em; }
.news-card h3, .news-card .wp-block-post-title { font-size:1.15rem; line-height:1.25; margin:.35rem 0 .6rem; }
.news-card h3 a, .news-card .wp-block-post-title a { color: var(--jrk-contrast); text-decoration:none; }
.news-card h3 a:hover { color: var(--jrk-gold-dark); }

/* --- CTA-Band ----------------------------------------------------------- */
.cta-band { position:relative; overflow:hidden; border-radius: 16px; background: var(--jrk-contrast); color:#fff; }
.cta-band__bg { position:absolute; inset:0; opacity:.28; background-size:cover; background-position:center; }
.cta-band .wp-block-group { position:relative; }
.cta-band .wp-block-heading { color:#fff; }

/* --- Breadcrumbs -------------------------------------------------------- */
.breadcrumbs, .wp-block-breadcrumbs { font-size:.85rem; color: var(--jrk-neutral, #6B6E6B); }
.breadcrumbs a { color: var(--jrk-gold-dark); text-decoration:none; }

/* --- Topic-Icon-Row ----------------------------------------------------- */
.topic-row { display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; justify-content:center; }
.topic { display:flex; flex-direction:column; align-items:center; gap:.45rem; text-decoration:none; min-width: 92px; padding:.6rem .4rem; border-radius:10px; transition: background .2s; }
.topic:hover { background: rgba(198,161,90,.12); }
.topic__icon { width:34px; height:34px; color: var(--jrk-gold-dark); }
.topic__icon svg { width:100%; height:100%; }
.topic span { font-size:.82rem; color: var(--jrk-forest); text-align:center; font-weight:500; }

/* --- Kontakt ------------------------------------------------------------ */
.contact-grid { display:grid; grid-template-columns: 1fr 1.1fr 0.9fr; gap: clamp(1.5rem, 3vw, 3rem); align-items:start; }
.contact-detail { display:flex; gap:.85rem; align-items:flex-start; margin-bottom:1.1rem; }
.contact-detail__icon { color: var(--jrk-gold-dark); width:26px; height:26px; flex:0 0 auto; margin-top:.15rem; }
.contact-detail strong { display:block; font-weight:600; }
.contact-detail span, .contact-detail a { color: inherit; }
.section-dark .contact-detail__icon, .section-darker .contact-detail__icon { color: var(--jrk-gold); }

/* Fluent Forms / Fallback-Formular */
.jrk-form { background:#fff; border:1px solid rgba(15,31,23,.1); border-radius:14px; padding: clamp(1.4rem,2.5vw,2rem); box-shadow: var(--jrk-shadow); }
.jrk-form label { display:block; font-size:.82rem; font-weight:600; color: var(--jrk-forest); margin:.2rem 0 .35rem; }
.jrk-form input, .jrk-form select, .jrk-form textarea {
	width:100%; padding:.7rem .85rem; border:1px solid rgba(15,31,23,.18); border-radius:8px;
	font-family: var(--wp--preset--font-family--body); font-size:.95rem; background:#fdfdfb; color: var(--jrk-contrast);
}
.jrk-form input:focus, .jrk-form select:focus, .jrk-form textarea:focus { outline:none; border-color: var(--jrk-gold); box-shadow:0 0 0 3px rgba(198,161,90,.2); }
.jrk-form .row2 { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
.jrk-form button[type=submit] { margin-top:1rem; background: var(--jrk-gold); color: var(--jrk-contrast); border:none; border-radius:999px; padding:.85rem 1.8rem; font-weight:600; cursor:pointer; }
.jrk-form button[type=submit]:hover { background: var(--jrk-gold-dark); color:#fff; }
.jrk-form .consent { display:flex; gap:.5rem; align-items:flex-start; font-size:.78rem; font-weight:400; color: var(--jrk-neutral,#555); margin-top:.8rem; }
.jrk-form .consent input { width:auto; margin-top:.2rem; }

/* --- Deutschlandkarte (Inline-SVG + Pins) ------------------------------- */
.germany-map { position:relative; width:100%; max-width:340px; margin-inline:auto; }
.germany-map svg { width:100%; height:auto; display:block; }
.germany-map .map-shape { fill: rgba(198,161,90,.14); stroke: var(--jrk-gold); stroke-width:1.2; }
.section-dark .germany-map .map-shape, .section-darker .germany-map .map-shape { fill: rgba(255,255,255,.06); }
.germany-map .map-pin { fill: var(--jrk-gold); stroke:#fff; stroke-width:1; }
.germany-map .map-pin-dot { fill: var(--jrk-gold-dark); }
.locations-list { list-style:none; margin:0; padding:0; }
.locations-list li { display:flex; align-items:center; gap:.55rem; padding:.4rem 0; border-bottom:1px solid var(--jrk-rule); font-size:.95rem; }
.locations-list li::before { content:""; width:7px; height:7px; border-radius:50%; background: var(--jrk-gold); flex:0 0 auto; }

/* Standort-Karten (Grid auf Standorte-Seite) */
.office-card { background:#fff; border:1px solid rgba(15,31,23,.08); border-radius:12px; padding:1.3rem 1.4rem; box-shadow: var(--jrk-shadow); }
.office-card h3 { font-size:1.15rem; margin:0 0 .4rem; color: var(--jrk-forest); }
.office-card p { margin:.1rem 0; font-size:.93rem; color: var(--jrk-contrast); }

/* --- Footer ------------------------------------------------------------- */
.site-footer { background: var(--jrk-contrast); color: rgba(255,255,255,.7); }
.site-footer .wp-block-heading { color:#fff; font-size:1.05rem; }
.site-footer a { color: rgba(255,255,255,.7); text-decoration:none; }
.site-footer a:hover { color: var(--jrk-gold); }
.site-footer .brand__name { font-size:1.05rem; }
.footer-legal { border-top:1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.5); font-size:.82rem; }

/* --- Responsiv ---------------------------------------------------------- */
@media (max-width: 900px) {
	.contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 781px) {
	.hero.wp-block-cover { min-height: 70vh; }
	.hero__content h1, .hero__content .wp-block-heading { font-size: clamp(2.2rem, 9vw, 3rem); }
	.feature-card__media img { height: 170px; }
	.jrk-form .row2 { grid-template-columns: 1fr; }
	.brand__name { font-size: 1rem; }
}
@media (max-width: 600px) {
	.topic { min-width: 78px; }
}
