/* horak Rechtsanwälte – Design-Ergänzungen zu Twenty Twenty-Five */

:root {
	--horak-navy: var(--wp--preset--color--accent-2, #0f1f44);
	--horak-blue: var(--wp--preset--color--accent-1, #1d3f8f);
	--horak-bronze: var(--wp--preset--color--accent-3, #a8865a);
	--horak-paper: var(--wp--preset--color--accent-5, #f4f2ec);
	--horak-ink: var(--wp--preset--color--contrast, #1a1f2b);
	--horak-muted: var(--wp--preset--color--accent-4, #5e6472);
	--horak-line: #e3e0d8;
	--horak-radius: 6px;
	--horak-shadow: 0 1px 2px rgba(15, 31, 68, .06), 0 8px 24px rgba(15, 31, 68, .07);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: #d8e1f5; }

/* ---------- Kopfbereich ---------- */
.horak-topbar { background: var(--horak-navy); color: #cfd6e6; font-size: .8125rem; letter-spacing: .02em; }
.horak-topbar p { margin: 0; }
.horak-topbar a { color: #fff; text-decoration: none; }
.horak-topbar a:hover { text-decoration: underline; }
.horak-topbar .wp-block-group { padding-top: .45rem; padding-bottom: .45rem; gap: .5rem 1.5rem; }

.horak-header { background: #fff; border-bottom: 1px solid var(--horak-line); position: sticky; top: 0; z-index: 50; }
.admin-bar .horak-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .horak-header { top: 0; } .horak-header { position: relative; } }
.horak-header > .wp-block-group { padding-top: .9rem; padding-bottom: .9rem; gap: 1.25rem; }

.horak-logo { display: inline-flex; flex-direction: column; line-height: 1; text-decoration: none; color: var(--horak-blue); }
.horak-logo:hover { text-decoration: none; }
.horak-logo__mark { font-family: var(--wp--preset--font-family--fira-sans, sans-serif); font-weight: 700; font-size: 2rem; letter-spacing: -.02em; color: var(--horak-blue); }
.horak-logo__sub { margin-top: .3rem; font-family: var(--wp--preset--font-family--fira-sans, sans-serif); font-size: .7rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--horak-muted); }

.horak-header .wp-block-navigation { font-size: .95rem; font-weight: 500; gap: 1.4rem; }
.horak-header .wp-block-navigation a { text-decoration: none; color: var(--horak-ink); }
.horak-header .wp-block-navigation a:hover,
.horak-header .wp-block-navigation .current-menu-item > a { color: var(--horak-blue); }
.horak-header .wp-block-navigation .wp-block-navigation__submenu-container { border: 1px solid var(--horak-line) !important; border-radius: var(--horak-radius); box-shadow: var(--horak-shadow); padding: .5rem 0; min-width: 240px; }
.horak-header .wp-block-navigation .wp-block-navigation__submenu-container a { padding: .45rem 1.1rem; font-weight: 400; }
.horak-header .wp-block-buttons .wp-block-button__link { padding: .6rem 1.1rem; font-size: .9rem; white-space: nowrap; }
@media (max-width: 1100px) { .horak-header .horak-header-cta { display: none; } }

/* ---------- Brotkrumen ---------- */
.horak-breadcrumb { font-size: .85rem; color: var(--horak-muted); margin: 0 0 1.5rem; }
.horak-breadcrumb a { color: var(--horak-muted); text-decoration: none; }
.horak-breadcrumb a:hover { color: var(--horak-blue); text-decoration: underline; }
.horak-breadcrumb .sep { margin: 0 .5rem; opacity: .6; }

/* ---------- Inhalt ---------- */
.entry-content h1, .wp-block-post-content h1 { font-size: clamp(2rem, 1.4rem + 2.2vw, 2.9rem); line-height: 1.15; margin-bottom: 1.25rem; }
.wp-block-post-content h2 { margin-top: 2.6rem; }
.wp-block-post-content h3 { margin-top: 2rem; }
.wp-block-post-content p, .wp-block-post-content li { hyphens: auto; -webkit-hyphens: auto; }
.wp-block-post-content a:not(.wp-block-button__link) { text-decoration-thickness: 1px; text-underline-offset: .18em; }
.wp-block-post-content hr.wp-block-separator { border: 0; border-top: 1px solid var(--horak-line); opacity: 1; margin: 2.5rem auto; }
.wp-block-post-content figure.wp-block-image.alignright { margin-left: 2rem; max-width: 40%; }
.wp-block-post-content figure.wp-block-image img { border-radius: var(--horak-radius); }
.wp-block-post-content .wp-block-table table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.wp-block-post-content .wp-block-table td, .wp-block-post-content .wp-block-table th { border: 1px solid var(--horak-line); padding: .6rem .8rem; vertical-align: top; }
.wp-block-post-content .wp-block-table tr:nth-child(even) td { background: #faf9f6; }
.wp-block-quote { border-left: 3px solid var(--horak-bronze); padding-left: 1.25rem; font-style: normal; }

/* Ansprechpartner-Kästen u. Ä. */
.horak-box { background: var(--horak-paper); border-radius: var(--horak-radius); padding: clamp(1.25rem, 3vw, 2rem) !important; border-left: 3px solid var(--horak-blue); }
.horak-box > * + * { margin-top: .8rem; }
.horak-box img { border-radius: 50%; }

/* Buttons */
.wp-block-button__link { border-radius: 4px; font-weight: 500; transition: background-color .15s, color .15s, border-color .15s; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--horak-blue); }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1.5px solid currentColor; background: transparent; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--horak-navy); color: #fff; border-color: var(--horak-navy); }

/* Formulare (Jetpack) */
.wp-block-jetpack-contact-form input:not([type=checkbox]):not([type=radio]),
.wp-block-jetpack-contact-form textarea,
.wp-block-jetpack-contact-form select { border: 1px solid #c9c6bd !important; border-radius: 4px !important; padding: .7rem .85rem !important; font: inherit; background: #fff; }
.wp-block-jetpack-contact-form input:focus, .wp-block-jetpack-contact-form textarea:focus { outline: 2px solid var(--horak-blue); outline-offset: 1px; }

/* Abschluss-CTA unter Seiten */
.horak-cta { background: var(--horak-navy); color: #e8ecf5; border-radius: var(--horak-radius); }
.horak-cta h2, .horak-cta h3 { color: #fff; margin-top: 0 !important; }
.horak-cta a:not(.wp-block-button__link) { color: #fff; }
.horak-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: #fff; color: var(--horak-navy); }
.horak-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--horak-paper); }
.horak-cta .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; }
.horak-cta .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--horak-navy); border-color: #fff; }

/* ---------- Fußbereich ---------- */
.horak-footer { background: #0b1733; color: #b9c2d6; font-size: .9rem; }
.horak-footer h2, .horak-footer h3 { color: #fff; font-family: var(--wp--preset--font-family--fira-sans, sans-serif); font-size: .8rem !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 1rem !important; }
.horak-footer a { color: #dfe5f1; text-decoration: none; }
.horak-footer a:hover { color: #fff; text-decoration: underline; }
.horak-footer ul { list-style: none; padding: 0; margin: 0; }
.horak-footer li { margin: 0 0 .45rem; }
.horak-footer .horak-logo__mark { color: #fff; }
.horak-footer .horak-logo__sub { color: #9aa6bf; }
.horak-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .12); font-size: .8rem; color: #8e9ab3; }
.horak-footer-bottom p { margin: 0; }

/* ---------- Startseite ---------- */
.horak-hero { background: var(--horak-navy); color: #e3e8f3; position: relative; overflow: hidden; }
.horak-hero::after { content: ""; position: absolute; inset: 0; background: radial-gradient(1200px 500px at 85% -10%, rgba(29, 63, 143, .55), transparent 60%); pointer-events: none; }
.horak-hero > * { position: relative; z-index: 1; }
.horak-hero h1 { color: #fff; font-size: clamp(2.2rem, 1.4rem + 3vw, 3.6rem) !important; line-height: 1.08; letter-spacing: -.01em; margin: 0 0 1.25rem; }
.horak-hero .horak-eyebrow { color: #c9b28d; }
.horak-hero p { font-size: clamp(1.05rem, 1rem + .3vw, 1.25rem); line-height: 1.6; max-width: 38em; }
.horak-hero a:not(.wp-block-button__link) { color: #fff; }
.horak-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: #fff; color: var(--horak-navy); }
.horak-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--horak-paper); }
.horak-hero .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; }
.horak-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--horak-navy); border-color: #fff; }
.horak-hero figure img { border-radius: var(--horak-radius); box-shadow: 0 20px 60px rgba(0, 0, 0, .35); aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.horak-hero-facts { border-top: 1px solid rgba(255, 255, 255, .15); padding-top: 1.5rem; margin-top: 2rem; }
.horak-hero-facts p { margin: 0; font-size: .9rem !important; color: #b9c2d6; }
.horak-hero-facts strong { display: block; color: #fff; font-family: var(--wp--preset--font-family--literata, serif); font-size: 1.6rem; font-weight: 600; line-height: 1.2; }

.horak-eyebrow { font-size: .78rem !important; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--horak-bronze); margin-bottom: .6rem !important; }
.horak-section-title { margin-top: 0 !important; }
.horak-lead { font-size: 1.125rem; color: var(--horak-muted); max-width: 46em; }

.horak-cards { gap: 1.25rem !important; }
.horak-card { background: #fff; border: 1px solid var(--horak-line); border-radius: var(--horak-radius); padding: 1.5rem 1.5rem 1.25rem !important; height: 100%; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s, border-color .2s; position: relative; }
.horak-card:hover { box-shadow: var(--horak-shadow); transform: translateY(-2px); border-color: #cfd6e6; }
.horak-card h3 { font-size: 1.2rem !important; margin: 0 0 .5rem !important; }
.horak-card h3 a { color: var(--horak-navy); text-decoration: none; }
.horak-card h3 a::after { content: ""; position: absolute; inset: 0; }
.horak-card p { margin: 0 0 .75rem; color: var(--horak-muted); font-size: .97rem; }
.horak-card .horak-more { margin-top: auto; margin-bottom: 0; font-size: .9rem; font-weight: 600; color: var(--horak-blue); }
.horak-card-icon { width: 40px; height: 40px; border-radius: 50%; background: #e9eef9; color: var(--horak-blue); display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem; margin-bottom: .9rem; }

.horak-areas { gap: 1.5rem 2rem !important; }
.horak-areas h3 { font-size: 1.05rem !important; font-family: var(--wp--preset--font-family--fira-sans, sans-serif); font-weight: 600; color: var(--horak-navy); border-bottom: 2px solid var(--horak-bronze); padding-bottom: .5rem; margin: 0 0 .75rem !important; }
.horak-areas ul { list-style: none; padding: 0; margin: 0; columns: 1; }
.horak-areas li { margin: 0 0 .35rem; }
.horak-areas li a { text-decoration: none; color: var(--horak-ink); }
.horak-areas li a:hover { color: var(--horak-blue); text-decoration: underline; }

.horak-steps { counter-reset: step; gap: 1.25rem !important; }
.horak-step { position: relative; padding-top: 3.2rem !important; }
.horak-step::before { counter-increment: step; content: counter(step, decimal-leading-zero); position: absolute; top: 0; left: 0; font-family: var(--wp--preset--font-family--literata, serif); font-size: 2.2rem; font-weight: 600; color: var(--horak-bronze); line-height: 1; }
.horak-step h3 { font-size: 1.1rem !important; margin: 0 0 .4rem !important; }
.horak-step p { margin: 0; color: var(--horak-muted); font-size: .97rem; }

.horak-team { gap: 1.25rem !important; }
.horak-person { text-align: left; }
.horak-person figure { margin: 0 0 .75rem !important; }
.horak-person img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; border-radius: var(--horak-radius); filter: grayscale(15%); transition: filter .2s; }
.horak-person:hover img { filter: none; }
.horak-person p { margin: 0; font-size: .92rem; }
.horak-person p a { font-weight: 600; color: var(--horak-navy); text-decoration: none; }
.horak-person p a:hover { text-decoration: underline; }
.horak-person .horak-role { color: var(--horak-muted); font-size: .82rem; }

.horak-news { list-style: none; padding: 0; margin: 0; }
.horak-news li { display: grid; grid-template-columns: 6.5rem 1fr; gap: .75rem; padding: .85rem 0; border-bottom: 1px solid var(--horak-line); }
.horak-news time { color: var(--horak-muted); font-size: .88rem; font-variant-numeric: tabular-nums; }
.horak-news a { color: var(--horak-ink); text-decoration: none; font-weight: 500; }
.horak-news a:hover { color: var(--horak-blue); text-decoration: underline; }

.horak-locations { gap: 1rem !important; }
.horak-location { background: #fff; border: 1px solid var(--horak-line); border-radius: var(--horak-radius); padding: 1rem 1.1rem !important; font-size: .88rem; line-height: 1.5; }
.horak-location p { margin: 0; }
.horak-location strong a { color: var(--horak-navy); text-decoration: none; font-size: 1rem; }
.horak-location strong a:hover { text-decoration: underline; }
.horak-location a[href^="tel"] { color: var(--horak-ink); text-decoration: none; }

.horak-paper { background: var(--horak-paper); }
.horak-faq .wp-block-details { border-bottom: 1px solid var(--horak-line); padding: .9rem 0; }
.horak-faq .wp-block-details summary { cursor: pointer; font-weight: 600; color: var(--horak-navy); list-style-position: outside; }
.horak-faq .wp-block-details[open] summary { margin-bottom: .6rem; }
.horak-faq .wp-block-details > *:not(summary) { color: var(--horak-ink); }

/* Barrierefreiheit */
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--horak-bronze); outline-offset: 3px; border-radius: 2px; }
.screen-reader-text:focus { background: #fff; color: var(--horak-navy); padding: .75rem 1rem; z-index: 1000; }

@media (max-width: 781px) {
	.wp-block-post-content figure.wp-block-image.alignright { float: none; margin: 0 0 1.5rem; max-width: 100%; }
	.horak-hero figure { display: none; }
	.horak-news li { grid-template-columns: 1fr; gap: .2rem; }
}

@media print {
	.horak-topbar, .horak-header, .horak-footer, .horak-cta, .horak-breadcrumb { display: none !important; }
}

/* --- Feinschliff Startseite --- */
.horak-hero h1 { font-size: clamp(2rem, 1.3rem + 2.3vw, 3.1rem) !important; hyphens: manual; -webkit-hyphens: manual; }
.horak-hero-cols { gap: clamp(2rem, 5vw, 4.5rem) !important; align-items: center !important; }
.horak-hero-card { background: #fff; color: var(--horak-ink); border-radius: 8px; padding: clamp(1.5rem, 3vw, 2.25rem) !important; box-shadow: 0 24px 60px rgba(0, 0, 0, .28); border-top: 4px solid var(--horak-bronze); }
.horak-hero-card h2 { color: var(--horak-navy) !important; font-size: 1.45rem !important; margin: 0 0 1rem !important; }
.horak-hero-card p { font-size: 1rem !important; color: var(--horak-ink); margin: 0 0 .9rem; }
.horak-hero-card a:not(.wp-block-button__link) { color: var(--horak-blue) !important; font-weight: 500; }
.horak-hero-card .wp-block-buttons { margin: 1.25rem 0 1rem; }
.horak-hero-card .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--horak-navy) !important; color: #fff !important; }
.horak-hero-card .wp-block-button.is-style-outline .wp-block-button__link { color: var(--horak-navy) !important; border-color: var(--horak-navy) !important; }
.horak-hero-card .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--horak-navy) !important; color: #fff !important; }
.horak-small { font-size: .85rem !important; color: var(--horak-muted) !important; }
.horak-hero-facts strong { font-size: 1.3rem; hyphens: none; }
.horak-hero-facts p { line-height: 1.45; }
.wp-block-group.alignwide > .horak-lead { margin-left: 0 !important; }
.horak-section-title { margin-bottom: .75rem !important; }
.horak-location strong { font-weight: 600; }
.horak-person img { aspect-ratio: 3 / 2; }
.horak-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2.5rem; }
.horak-faq .wp-block-details { margin: 0 !important; }
.horak-faq .wp-block-details summary { list-style: none; position: relative; padding-right: 1.75rem; }
.horak-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.horak-faq .wp-block-details summary::after { content: "+"; position: absolute; right: 0; top: -.1rem; font-size: 1.3rem; font-weight: 400; color: var(--horak-bronze); }
.horak-faq .wp-block-details[open] summary::after { content: "–"; }
@media (max-width: 781px) { .horak-faq { grid-template-columns: 1fr; } .horak-hero-card { margin-top: 1rem; } }
.horak-cta { padding-left: clamp(1.5rem, 5vw, 4rem) !important; padding-right: clamp(1.5rem, 5vw, 4rem) !important; }
.horak-cta > p { max-width: 46em; }
.horak-footer-bottom > .wp-block-group { justify-content: space-between; gap: .5rem 1.5rem; }
.horak-location p + p { margin-top: .35rem; }
.horak-location a[href^="mailto"] { color: var(--horak-blue); word-break: break-all; }
.wp-block-post-content .horak-locations { margin-bottom: 1rem; }
.horak-location a[href^="mailto"] { font-size: .8rem; word-break: normal; overflow-wrap: anywhere; }

/* Sprachumschalter */
.horak-lang { display: inline-flex; align-items: center; gap: .4rem; font-size: .8rem; font-weight: 600; letter-spacing: .06em; }
.horak-lang a { color: #9fb0d3 !important; text-decoration: none !important; padding: .1rem .2rem; border-radius: 3px; }
.horak-lang a:hover { color: #fff !important; }
.horak-lang a.is-active { color: #fff !important; background: rgba(255, 255, 255, .14); }
.horak-lang span { opacity: .45; }
.horak-topbar .horak-topbar-right { gap: 1.25rem; align-items: center; }
.horak-de-note { font-size: .8em; color: var(--horak-muted); white-space: nowrap; }
.horak-footer .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.6); }
.horak-footer .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--horak-navy); }
html[lang^="en"] .wp-block-post-content p, html[lang^="en"] .wp-block-post-content li { hyphens: manual; -webkit-hyphens: manual; }

/* ---------- Rechtsgebiete & Schlagworte ---------- */
.horak-terms { display: flex; flex-wrap: wrap; gap: .4rem; margin: .25rem 0 1.25rem; font-size: .8125rem; }
.horak-terms .wp-block-post-terms__separator { display: none; }
.horak-terms a, .horak-cat-chips a, .horak-tags a {
	display: inline-block; padding: .2rem .65rem; border: 1px solid var(--horak-line); border-radius: 999px;
	background: var(--horak-paper); color: var(--horak-blue); text-decoration: none; font-weight: 500; line-height: 1.5;
}
.horak-terms a:hover, .horak-cat-chips a:hover, .horak-tags a:hover { border-color: var(--horak-blue); background: #fff; text-decoration: none; }
.horak-news-item .horak-terms { margin: .35rem 0 .1rem; font-size: .75rem; }
.horak-tags { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--horak-line); font-size: .8125rem; color: var(--horak-muted); }
.horak-tags .wp-block-post-terms__prefix { font-weight: 600; margin-right: .2rem; }
.horak-tags .wp-block-post-terms__separator { display: none; }
.horak-tags a { background: #fff; color: var(--horak-ink); font-weight: 400; }
.horak-filter-label { margin-top: 1.75rem !important; margin-bottom: .5rem !important; font-size: .78rem !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--horak-muted); }
ul.horak-cat-chips { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; margin: 0 0 1.5rem; font-size: .8125rem; }
ul.horak-cat-chips li { margin: 0; }
ul.horak-cat-chips .current-cat a { background: var(--horak-blue); border-color: var(--horak-blue); color: #fff; }
.horak-term-intro { color: var(--horak-muted); font-size: 1.0625rem; }
.blog .horak-lead, .archive .horak-lead, .horak-term-intro { max-width: var(--wp--style--global--content-size, 760px) !important; }
.horak-term-intro a { white-space: nowrap; }
