/*
Theme Name: kniff49
Theme URI: https://kniff49.de
Author: Vije Computerservice GmbH
Description: Eigenes Block-Theme für kniff49 – KI verstehen, einsetzen, nutzen.
Version: 0.3.5
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: kniff49
License: Proprietär
*/

/* ---------- Grundlagen ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; }
:where(a:focus-visible, button:focus-visible) { outline: 3px solid var(--wp--preset--color--orange); outline-offset: 3px; }

/* ---------- Header ---------- */
header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part { top: 46px; } }
@media (max-width: 600px) { .admin-bar header.wp-block-template-part { top: 0; } }
html { scroll-padding-top: 100px; }
.k49-header { box-shadow: 0 1px 0 rgba(14,26,43,.04), 0 6px 20px rgba(14,26,43,.05); }
.k49-header { background: var(--wp--preset--color--white); border-bottom: 1px solid var(--wp--preset--color--line); padding: 18px clamp(20px, 5vw, 64px); gap: 24px; }
.k49-logo { display: inline-flex; align-items: center; text-decoration: none; }
.k49-logo__svg { height: 40px; width: auto; display: block; }
.k49-header .wp-block-navigation { font-weight: 500; gap: 28px; }
.k49-header .wp-block-navigation a { text-decoration: none; }
.k49-header .wp-block-navigation a:hover { color: var(--wp--preset--color--orange-dark); }
.k49-header .wp-block-buttons { flex-shrink: 0; }
@media (max-width: 900px) { .k49-header .k49-header__cta { display: none; } }

/* ---------- Abschnitte ---------- */
.k49-section { padding-top: clamp(64px, 9vw, 112px); padding-bottom: 0; padding-left: clamp(20px, 5vw, 64px); padding-right: clamp(20px, 5vw, 64px); }
.k49-section:last-of-type { padding-bottom: clamp(64px, 9vw, 112px); }
.k49-eyebrow { font-weight: 600; letter-spacing: .12em; text-transform: uppercase; font-size: 14px; color: var(--wp--preset--color--muted); }
.k49-lead { font-size: clamp(18px, 1.6vw, 21px); color: var(--wp--preset--color--slate); max-width: 34em; }
.k49-intro { color: var(--wp--preset--color--slate); max-width: 30em; }

/* ---------- Hero ---------- */
.k49-hero { padding-top: clamp(48px, 7vw, 96px); }
.k49-hero h1 { font-size: clamp(44px, 6.2vw, 80px); line-height: 1.02; letter-spacing: -.035em; margin: .4em 0 .45em; }
.k49-hero__visual { display: flex; justify-content: center; }
.k49-hero__mark { width: min(100%, 400px); height: auto; filter: drop-shadow(0 30px 60px rgba(14,26,43,.18)); }
@media (max-width: 781px) { .k49-hero__visual { justify-content: flex-start; } .k49-hero__mark { width: 128px; } .k49-hero .wp-block-columns { flex-direction: column-reverse; } }

/* ---------- Karten mit Knickecke ---------- */
.k49-card { position: relative; overflow: hidden; background: var(--wp--preset--color--white); border-radius: 20px; padding: clamp(28px, 3vw, 40px); height: 100%; box-sizing: border-box; }
.k49-card::after { content: ""; position: absolute; top: 0; right: 0; width: 48px; height: 48px; background: var(--wp--preset--color--orange); clip-path: path("M0 0 V34 Q0 48 14 48 H48 Z"); }
.k49-card--plain::after { display: none; }
.k49-card--dark { background: var(--wp--preset--color--navy); color: #C9D0DA; }
.k49-card--dark :is(h2, h3, a) { color: var(--wp--preset--color--white); }
.k49-card .k49-num { font-weight: 700; color: var(--wp--preset--color--orange-dark); margin: 0; }
.k49-card--dark .k49-num { color: var(--wp--preset--color--orange); }
.k49-card h3 { margin-top: .4em; }
.k49-card p { color: inherit; }
.k49-card .k49-more a { font-weight: 600; }

/* ---------- Branchen ---------- */
.k49-photo { aspect-ratio: 16 / 10; border-radius: 20px; background: var(--wp--preset--color--line); display: flex; align-items: center; justify-content: center; color: var(--wp--preset--color--muted); font-size: 15px; margin: 0 0 20px; }

/* ---------- Schritte ---------- */
.k49-step { display: flex; gap: 18px; }
.k49-step__num { flex-shrink: 0; width: 48px; height: 48px; border-radius: 12px; background: var(--wp--preset--color--navy); color: var(--wp--preset--color--white); font-weight: 700; font-size: 20px; display: flex; align-items: center; justify-content: center; margin: 0; }
.k49-step__num--accent { background: var(--wp--preset--color--orange); color: var(--wp--preset--color--navy); }

/* ---------- Termine ---------- */
.k49-termin { background: var(--wp--preset--color--white); border-radius: 16px; padding: 22px 26px; gap: 20px; margin-bottom: 14px; }
.k49-termin p { margin: 0; }
.k49-termin__date { font-weight: 700; min-width: 7em; }
.k49-termin__title { font-weight: 600; font-size: 20px; }
.k49-termin__meta { color: var(--wp--preset--color--muted); font-size: 15px; }
@media (max-width: 700px) { .k49-termin { flex-wrap: wrap !important; } }

/* ---------- Kundenstimmen ---------- */
.k49-quote { background: var(--wp--preset--color--white); border-radius: 20px; padding: 32px; border: 0; margin: 0; height: 100%; box-sizing: border-box; }
.k49-quote p { font-size: 20px; line-height: 1.45; font-weight: 500; }
.k49-quote cite { display: block; margin-top: 20px; font-style: normal; font-size: 15px; color: var(--wp--preset--color--muted); }

/* ---------- Ansprechpartner ---------- */
.k49-person { display: flex; gap: 28px; align-items: center; }
.k49-person .k49-photo { width: 160px; aspect-ratio: 4 / 5; flex-shrink: 0; margin: 0; }
.k49-person__role { color: var(--wp--preset--color--orange-dark); font-weight: 600; margin: 0; }
.k49-person h3 { margin: 0 0 4px; }
@media (max-width: 600px) { .k49-person { flex-direction: column; align-items: flex-start; } }

/* ---------- Aufruf ---------- */
.k49-cta { position: relative; overflow: hidden; background: var(--wp--preset--color--navy); border-radius: 28px; padding: clamp(36px, 5vw, 64px); color: #C9D0DA; }
.k49-cta::after { content: ""; position: absolute; top: 0; right: 0; width: 110px; height: 110px; background: var(--wp--preset--color--orange); clip-path: path("M0 0 V74 Q0 110 36 110 H110 Z"); }
.k49-cta h2 { color: var(--wp--preset--color--white); margin-top: 0; }
.k49-cta > * { position: relative; z-index: 1; max-width: 44em; }

/* ---------- Footer ---------- */
.k49-footer { background: var(--wp--preset--color--white); border-top: 1px solid var(--wp--preset--color--line); padding: 48px clamp(20px, 5vw, 64px); margin-top: clamp(64px, 9vw, 112px); font-size: 16px; }
.k49-footer a { color: var(--wp--preset--color--slate); text-decoration: none; }
.k49-footer a:hover { color: var(--wp--preset--color--orange-dark); }
.k49-footer__title { font-weight: 600; margin-bottom: 8px; }
.k49-footer p { margin: 0 0 8px; }
.k49-small { font-size: 14px; color: var(--wp--preset--color--muted); }

/* ---------- Bilder ---------- */
.k49-section .wp-block-image img { border-radius: 20px; }
.k49-img { margin: 0 0 20px; }
.k49-img img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 10 !important; object-fit: cover; background: var(--wp--preset--color--line); border-radius: 20px; }
.k49-img--person { margin: 0; width: 160px !important; flex-shrink: 0; }
.k49-img--person img { aspect-ratio: 4 / 5 !important; }
#branchen .wp-block-image { margin: 0 0 20px; }
#branchen .wp-block-image img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 10 !important; object-fit: cover; }

/* ---------- Neu im Blog ---------- */
.k49-latest .wp-block-post-template { gap: 24px; }
.k49-latest__card .wp-block-post-title { margin: 6px 0 10px; }
.k49-latest__card .wp-block-post-title a { text-decoration: none; }
.k49-latest__all { text-align: right; align-self: flex-end; }
@media (max-width: 781px) { .k49-latest__all { text-align: left; } }

/* ---------- Seiten ---------- */
/* Alles teilt dieselbe linke Kante wie die breiten Karten; Fließtext bleibt gut lesbar schmal. */
.k49-page { padding-top: clamp(40px, 6vw, 80px); }
.k49-page :is(.k49-page-head, .wp-block-post-content) > :not(.alignwide):not(.alignfull) {
	max-width: 720px;
	margin-left: max(0px, calc((100% - 1200px) / 2)) !important;
	margin-right: auto !important;
}
.k49-page .k49-page-head h1 { margin-bottom: .35em; }
.k49-page .wp-block-post-content > .k49-lead { max-width: 760px; margin-bottom: 8px; }
.k49-page .wp-block-post-content > h2 { margin-top: 72px; margin-bottom: 20px; }
.k49-page .wp-block-post-content > h2 + p { margin-top: 0; }
.k49-page .wp-block-post-content > .alignwide { margin-top: 36px; margin-bottom: 0; }
.k49-page .wp-block-post-content > .k49-cta { margin-top: 72px; }
.k49-page .wp-block-columns.alignwide { gap: 24px; }
.k49-page .k49-card h3 { margin-top: 0; }
.k49-page .k49-person { align-items: flex-start; gap: 28px; }
.k49-page .k49-person h3 { margin-top: 4px; }
.k49-page .k49-person__role { margin-bottom: 12px; }
@media (max-width: 781px) { .k49-page .wp-block-post-content > h2 { margin-top: 48px; } }

/* ---------- Die eigentliche Frage (dunkles Band) ---------- */
.k49-band { background: var(--wp--preset--color--navy); color: #C9D0DA; margin-top: clamp(64px, 9vw, 112px); padding-bottom: clamp(64px, 9vw, 112px) !important; position: relative; overflow: hidden; }
.k49-band::after { content: ""; position: absolute; top: 0; right: 0; width: clamp(90px, 10vw, 150px); height: clamp(90px, 10vw, 150px); background: var(--wp--preset--color--orange); clip-path: path("M0 0 V100 Q0 150 50 150 H150 Z"); }
.k49-band__head { max-width: 860px; }
.k49-band h2 { color: var(--wp--preset--color--white); font-size: clamp(34px, 4.6vw, 60px); line-height: 1.06; letter-spacing: -.03em; margin: 0 0 18px; }
.k49-band__sub { font-size: clamp(19px, 1.8vw, 24px); color: #E6E9EE; margin: 0; }
.k49-band .wp-block-columns { margin-top: clamp(36px, 5vw, 56px); gap: 20px; }
.k49-tile { height: 100%; box-sizing: border-box; border-radius: 18px; padding: 26px 26px 28px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); }
.k49-tile::before { content: ""; display: block; width: 36px; height: 4px; border-radius: 2px; background: var(--wp--preset--color--orange); margin-bottom: 18px; }
.k49-tile__title { color: var(--wp--preset--color--white); font-weight: 700; font-size: 20px; margin: 0 0 8px; }
.k49-tile__text { margin: 0; line-height: 1.55; }
.k49-band__footer { margin-top: clamp(32px, 4vw, 48px); gap: 20px 40px; }
.k49-band__foot { max-width: 620px; margin: 0; color: #E6E9EE; }
/* ältere Version des Bereichs weiterhin sauber darstellen */
.k49-frage { position: relative; padding-top: 36px; }
.k49-frage > .wp-block-columns { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }

/* ---------- Abschluss-Aufruf als breites Band (Gegenstück zum Band oben) ---------- */
.k49-section:has(> .k49-cta) { position: relative; overflow: hidden; background: var(--wp--preset--color--navy); margin-top: clamp(64px, 9vw, 112px); padding-top: clamp(64px, 9vw, 112px) !important; padding-bottom: clamp(64px, 9vw, 112px) !important; }
.k49-section:has(> .k49-cta) > .k49-cta { position: static; background: transparent; border-radius: 0; padding: 0; overflow: visible; }
.k49-section:has(> .k49-cta) > .k49-cta::after { width: clamp(90px, 10vw, 150px); height: clamp(90px, 10vw, 150px); clip-path: path("M0 0 V100 Q0 150 50 150 H150 Z"); }
.k49-section:has(> .k49-cta) h2 { font-size: clamp(34px, 4.6vw, 60px); line-height: 1.06; letter-spacing: -.03em; max-width: 16em; }
.k49-section:has(> .k49-cta) p { font-size: clamp(18px, 1.6vw, 21px); color: #E6E9EE; max-width: 36em; }
main:has(> .k49-section:last-child > .k49-cta) ~ footer .k49-footer,
main:has(> .k49-section:last-child > .k49-cta) + footer .k49-footer { margin-top: 0; }

/* ---------- Team-Karten: Foto und Text immer oben bündig ---------- */
.k49-person { align-items: flex-start !important; justify-content: flex-start !important; }
.k49-person > * { align-self: flex-start !important; margin-top: 0 !important; }
.k49-person .k49-person__text > :first-child { margin-top: 0 !important; }
.k49-person .k49-person__text h3 { line-height: 1.15; }

/* ---------- Seiten: Zitat als Statement, breite Bänder, Kopfzeile ---------- */
.k49-logo { flex-shrink: 0; }
.k49-page .wp-block-post-content > .wp-block-quote { background: transparent !important; border: 0 !important; border-left: 5px solid var(--wp--preset--color--orange) !important; border-radius: 0 !important; padding: 4px 0 4px 28px !important; margin-top: 40px; margin-bottom: 40px; box-shadow: none !important; height: auto !important; }
.k49-page .wp-block-post-content > .wp-block-quote * { text-align: left !important; }
.k49-page .wp-block-post-content > .wp-block-quote .k49-quote { background: transparent !important; padding: 0 !important; border-radius: 0 !important; margin: 0 !important; }
.k49-page .wp-block-post-content > .wp-block-quote p { font-size: clamp(22px, 2.4vw, 30px) !important; line-height: 1.35; font-weight: 600; letter-spacing: -.01em; color: var(--wp--preset--color--navy); margin: 0; }
.k49-page .wp-block-post-content > .wp-block-quote cite { display: block; font-style: normal; font-size: 15px !important; font-weight: 600; color: var(--wp--preset--color--orange-dark); margin-top: 14px; }
.k49-page .wp-block-post-content > .alignfull { margin-left: calc(-1 * clamp(20px, 5vw, 64px)) !important; margin-right: calc(-1 * clamp(20px, 5vw, 64px)) !important; max-width: none; width: auto; }
.k49-band--page { margin-top: clamp(72px, 9vw, 112px) !important; padding: clamp(64px, 9vw, 112px) clamp(20px, 5vw, 64px) !important; }
.k49-page:has(.wp-block-post-content > .alignfull:last-child) { padding-bottom: 0 !important; }
main.k49-page:has(.wp-block-post-content > .alignfull:last-child) ~ footer .k49-footer { margin-top: 0; }

/* ---------- Bänder: Überschrift bündig mit den Kacheln ---------- */
.k49-band > .k49-band__head, .k49-band > .k49-band__footer, .k49-band > .wp-block-columns { margin-left: max(0px, calc((100% - 1200px) / 2)) !important; margin-right: auto !important; }
.k49-band > .wp-block-columns, .k49-band > .k49-band__footer { width: 100%; max-width: 1200px; }

/* ---------- Über uns: Warum kniff49 zweispaltig ---------- */
.k49-page .wp-block-post-content > .k49-why { margin-top: 64px !important; gap: clamp(32px, 6vw, 96px); align-items: center; }
.k49-why h2 { margin-top: 0 !important; }
.k49-why .wp-block-quote, .k49-statement { background: transparent; border: 0; border-left: 5px solid var(--wp--preset--color--orange); border-radius: 0; padding: 4px 0 4px 28px; margin: 0; }
.k49-why .wp-block-quote *, .k49-statement * { text-align: left; }
.k49-why .wp-block-quote p, .k49-statement p { font-size: clamp(22px, 2.3vw, 30px); line-height: 1.35; font-weight: 600; letter-spacing: -.01em; color: var(--wp--preset--color--navy); margin: 0; }
.k49-why .wp-block-quote cite, .k49-statement cite { display: block; font-style: normal; font-size: 15px; font-weight: 600; color: var(--wp--preset--color--orange-dark); margin-top: 14px; }

/* ---------- Seiten: Einleitung mit Bild ---------- */
.k49-page .wp-block-post-content > .k49-intro-img { margin-top: 8px !important; gap: clamp(32px, 6vw, 96px); align-items: center; }
.k49-intro-img .k49-lead { max-width: none; }
.k49-intro-img .k49-lead:first-child { margin-top: 0; }
.k49-img--intro { margin: 0 !important; }
.k49-img--intro img { aspect-ratio: 4 / 3 !important; border-radius: 24px; }

/* ---------- Über uns: breites Zitat und Warum-Zeile ---------- */
.k49-page .wp-block-post-content > .k49-quote-wide { margin-top: clamp(56px, 7vw, 96px) !important; margin-bottom: clamp(56px, 7vw, 96px) !important; padding: 6px 0 6px 36px !important; border-left-width: 6px !important; }
.k49-page .wp-block-post-content > .k49-quote-wide p { font-size: clamp(22px, 2.4vw, 32px) !important; font-weight: 500 !important; line-height: 1.35; letter-spacing: -.01em; max-width: 30em; }
.k49-page .wp-block-post-content > .k49-quote-wide cite { font-size: 16px !important; margin-top: 20px; }
.k49-page .wp-block-post-content > .k49-why2 { gap: clamp(32px, 6vw, 96px); align-items: flex-start; }
.k49-why2 h2 { margin-top: 0 !important; }
.k49-why2 p:first-child { margin-top: 0; }
.k49-intro-img .wp-block-column:first-child > p:last-child { margin-bottom: 0; }

/* ---------- Logo: feste Breite, damit es nie zusammengedrückt wird ---------- */
.k49-header .k49-logo { flex: 0 0 auto; min-width: 144px; }
.k49-header .k49-logo__svg { height: 40px; width: 144px; min-width: 144px; }
@media (max-width: 600px) { .k49-header .k49-logo, .k49-header .k49-logo__svg { min-width: 126px; width: 126px; height: 35px; } }

/* ---------- Kniff ---------- */
.k49-hero__visual--kniff { justify-content: flex-end; }
.k49-kniff-scene { width: min(100%, 540px); height: auto; display: block; }
@media (max-width: 781px) { .k49-hero__visual--kniff { justify-content: center; } .k49-kniff-scene { width: min(100%, 360px); } }
.k49-tip { background: var(--wp--preset--color--white); border-left: 6px solid var(--wp--preset--color--orange); border-radius: 20px; padding: 26px 30px; gap: 24px; margin: 36px 0; }
.k49-tip__kniff { width: 88px; height: auto; flex-shrink: 0; }
.k49-tip__label { margin: 0; font-size: 14px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--orange-dark); }
.k49-tip h3 { margin: 6px 0 8px; font-size: 22px; }
.k49-tip p:last-child { margin: 0; color: var(--wp--preset--color--slate); }
@media (max-width: 560px) { .k49-tip { flex-wrap: wrap !important; } .k49-tip__kniff { width: 64px; } }
.k49-404 .wp-block-columns { align-items: center; gap: clamp(32px, 6vw, 72px); }
.k49-404__visual { display: flex; justify-content: center; }
.k49-404__kniff { width: min(100%, 320px); height: auto; }
.k49-404 h1 { font-size: clamp(36px, 4.6vw, 56px); }

/* ---------- Terminseite ---------- */
.k49-page .wp-block-post-content > .k49-termine-layout { gap: clamp(28px, 4vw, 56px); align-items: flex-start; margin-top: 24px !important; }
.k49-termine-side { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 120px; }
.k49-side { height: auto !important; }
.k49-side h3 { margin: 0 0 10px; font-size: 22px; }
.k49-side p { margin: 0 0 18px; }
.k49-side__kniff { width: 76px; height: auto; display: block; margin-bottom: 14px; }
@media (max-width: 781px) { .k49-termine-side { position: static; } }

/* ---------- Blogbeitrag ---------- */
.k49-post { padding-top: clamp(40px, 6vw, 80px); }
.k49-post__head { margin-bottom: 32px; }
.k49-post__cat a { color: inherit; text-decoration: none; }
.k49-post__title { font-size: clamp(36px, 4.6vw, 58px) !important; line-height: 1.08; letter-spacing: -.03em; margin: 14px 0 18px; }
.k49-post__date { font-size: 15px; color: var(--wp--preset--color--muted); }
.k49-post__img { margin: 8px auto 48px !important; }
.k49-post__img img { border-radius: 24px; object-fit: cover; }
.k49-post__content { font-size: 19px; line-height: 1.7; }
.k49-post__content > * + * { margin-top: 1.1em; }
.k49-post__content h2 { font-size: clamp(26px, 2.6vw, 34px); line-height: 1.2; letter-spacing: -.02em; margin-top: 2.2em !important; margin-bottom: .6em; }
.k49-post__content h3 { font-size: clamp(21px, 2vw, 25px); margin-top: 1.8em !important; }
.k49-post__content ul, .k49-post__content ol { padding-left: 1.3em; }
.k49-post__content li + li { margin-top: .45em; }
.k49-post__content a { text-decoration-color: var(--wp--preset--color--orange); text-underline-offset: 3px; }
.k49-post__content .k49-tip { font-size: 17px; }
.k49-post__foot { margin-top: 56px; }
.k49-post__back a { font-weight: 600; text-decoration: none; }
.k49-section:has(> .k49-cta) + footer .k49-footer { margin-top: 0; }
.k49-post + .k49-section:has(> .k49-cta) { margin-top: clamp(56px, 7vw, 96px); }

/* ---------- Blogübersicht ---------- */
.k49-cats { list-style: none; padding: 0; margin: 8px 0 36px; display: flex; flex-wrap: wrap; gap: 10px; }
.k49-cats li a { display: inline-block; padding: 9px 18px; border-radius: 999px; border: 1px solid #C9CFC8; background: #fff; text-decoration: none; font-weight: 600; font-size: 15px; }
.k49-cats li a:hover { border-color: var(--wp--preset--color--navy); }
.k49-cats li.current-cat a { background: var(--wp--preset--color--navy); color: #fff; border-color: var(--wp--preset--color--navy); }
.k49-blog .wp-block-post-template { gap: 24px; }
.k49-blog-card { background: #fff; border-radius: 20px; overflow: hidden; height: 100%; display: flex; flex-direction: column; }
.k49-blog-card__img { margin: 0 !important; }
.k49-blog-card__img img { display: block; }
.k49-blog-card__body { padding: 24px 26px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.k49-blog-card__cat { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--orange-dark); }
.k49-blog-card__cat a { color: inherit; text-decoration: none; }
.k49-blog-card__title { margin: 0 !important; font-size: 22px !important; line-height: 1.25; }
.k49-blog-card__title a { text-decoration: none; }
.k49-blog-card__excerpt p { margin: 0; color: var(--wp--preset--color--slate); font-size: 16px; }
.k49-blog-card__excerpt .wp-block-post-excerpt__more-link { display: none; }
.k49-blog-card__date { margin-top: auto; font-size: 14px; color: var(--wp--preset--color--muted); }

/* ---------- Autor ---------- */
.k49-post__meta { gap: 6px 14px; align-items: center; font-size: 15px; color: var(--wp--preset--color--muted); }
.k49-post__meta > * { margin: 0 !important; }
.k49-post__author { font-weight: 600; color: var(--wp--preset--color--navy); }
.k49-post__author::before { content: "von "; font-weight: 500; color: var(--wp--preset--color--muted); }
.k49-post__meta .k49-post__date::before { content: "·"; margin-right: 14px; }
.k49-author { background: var(--wp--preset--color--white); border-radius: 20px; padding: 24px 26px; display: flex; gap: 20px; align-items: flex-start; margin-bottom: 28px; }
.k49-author .wp-block-post-author__avatar img { border-radius: 50%; width: 72px; height: 72px; }
.k49-author .wp-block-post-author__byline { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--orange-dark); margin: 0; }
.k49-author .wp-block-post-author__name { font-size: 20px; font-weight: 700; margin: 2px 0 6px; }
.k49-author .wp-block-post-author__bio { font-size: 16px; line-height: 1.55; color: var(--wp--preset--color--slate); margin: 0; }

/* ---------- Blog ---------- */
.k49-post-list .wp-block-post { padding: 28px 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.k49-post-list .wp-block-post-title a { text-decoration: none; }
