/* katzenfreunde-geschenke.de – Design-Ebene über Astra
   Schriften lokal (Fraunces für Überschriften, Inter für Text), Farben als Variablen. */

@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/inter-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/inter-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/inter-latin-700-normal.woff2) format("woff2"); }
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/fraunces-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/fraunces-latin-700-normal.woff2) format("woff2"); }

:root {
  --kg-ink: #2b2235;
  --kg-text: #3a3242;
  --kg-muted: #6b6273;
  --kg-primary: #b04a2a;
  --kg-primary-dark: #8c3920;
  --kg-primary-soft: #f9e3d8;
  --kg-honey: #f2b84b;
  --kg-honey-soft: #fdf1d8;
  --kg-sage: #4d6b55;
  --kg-sage-soft: #e5efe6;
  --kg-rose: #a8442a;
  --kg-bg: #fffaf4;
  --kg-surface: #f8efe4;
  --kg-card: #ffffff;
  --kg-border: #eadccb;
  --kg-radius: 18px;
  --kg-radius-sm: 10px;
  --kg-shadow: 0 1px 2px rgba(43, 34, 53, .06), 0 8px 24px rgba(43, 34, 53, .07);
  --kg-shadow-hover: 0 2px 4px rgba(43, 34, 53, .08), 0 16px 36px rgba(43, 34, 53, .12);
  --kg-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --kg-font-head: "Fraunces", Georgia, "Times New Roman", serif;
}

/* ---------- Grundlagen ---------- */
body, button, input, select, textarea, .ast-button, .ast-custom-button { font-family: var(--kg-font) !important; }
body { background: var(--kg-bg) !important; color: var(--kg-text); font-size: 17px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, .entry-title, .site-title, .entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4 {
  font-family: var(--kg-font-head) !important; color: var(--kg-ink) !important; font-weight: 700; letter-spacing: -.01em; line-height: 1.2;
}
.entry-content h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin: 2.4em 0 .6em; }
.entry-content h3 { font-size: clamp(1.2rem, 1.1rem + .5vw, 1.4rem); margin: 1.8em 0 .5em; }
.entry-content h4 { font-size: 1.1rem; font-family: var(--kg-font) !important; }
a { color: var(--kg-primary); }
a:hover, a:focus { color: var(--kg-primary-dark); }
.entry-content a:not(.kg-btn):not(.kg-cat):not(.kg-post__link):not(.kg-product__link) { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--kg-honey); outline-offset: 2px; }
::selection { background: var(--kg-honey-soft); }
.kg-icon { width: 1.25em; height: 1.25em; vertical-align: -.2em; flex: none; }
.kg-icon--sm { width: 1em; height: 1em; vertical-align: -.12em; }
.kg-icon--xs { width: .9em; height: .9em; vertical-align: -.1em; color: var(--kg-primary); }

/* ---------- Header ---------- */
.site-header .ast-primary-header-bar, .ast-mobile-header-wrap .ast-primary-header-bar { background: rgba(255, 250, 244, .96) !important; border-bottom: 1px solid var(--kg-border) !important; }
.site-header { box-shadow: none; }
.site-title { font-size: 1.45rem !important; margin: 0; }
.site-title a, .site-title a:hover { color: var(--kg-ink) !important; }
.custom-logo-link img, .site-logo-img img { width: 44px; height: auto; }
.ast-site-identity { padding: 14px 0 !important; }
.main-header-menu .menu-link, .ast-builder-menu .menu-item > .menu-link { color: var(--kg-ink) !important; font-weight: 600; font-size: .95rem; }
.main-header-menu .menu-item:hover > .menu-link, .main-header-menu .current-menu-item > .menu-link, .main-header-menu .current-menu-ancestor > .menu-link { color: var(--kg-primary) !important; }
.main-header-menu .sub-menu { border-radius: var(--kg-radius-sm); border: 1px solid var(--kg-border) !important; box-shadow: var(--kg-shadow); overflow: hidden; }
.ast-header-break-point .main-header-menu, .ast-mobile-header-content, .ast-mobile-popup-drawer .ast-mobile-popup-inner { background: var(--kg-bg) !important; }
.ast-header-break-point .main-header-menu .menu-link { border-color: var(--kg-border) !important; padding: 14px 20px !important; }
.ast-mobile-menu-trigger-minimal, .menu-toggle { color: var(--kg-ink) !important; }
.ast-mobile-menu-trigger-minimal svg, .menu-toggle .ast-mobile-svg { fill: var(--kg-ink) !important; }

/* ---------- Seiten & Beiträge ---------- */
.ast-separate-container, .ast-plain-container, .ast-page-builder-template { background: var(--kg-bg) !important; }
.site-content { background: transparent; }
.entry-content > p, .entry-content > ul, .entry-content > ol { max-width: 76ch; }
.single .entry-content, .page .entry-content { font-size: 1.06rem; }
.single-post .site-main, .page:not(.home) .site-main { max-width: 860px; margin: 0 auto; }
.single .entry-header, .page .entry-header { margin-bottom: 1.2em; }
.single .entry-title, .page .entry-title { font-size: clamp(1.9rem, 1.4rem + 2vw, 2.8rem) !important; line-height: 1.12; }
.single .entry-meta, .single .entry-meta * { color: var(--kg-muted) !important; font-size: .92rem; }
.single .post-thumb-img-content img, .single .ast-single-post-featured-section img { border-radius: var(--kg-radius); width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.kg-thumb-credit { display: block; font-size: .78rem; color: var(--kg-muted); margin-top: 6px; text-align: right; }
.kg-thumb-credit a { color: var(--kg-muted) !important; }
.wp-block-image img { border-radius: var(--kg-radius); }
.wp-block-image figcaption, .wp-element-caption { font-size: .8rem !important; color: var(--kg-muted) !important; text-align: right !important; margin-top: 6px !important; }
.wp-block-image figcaption a { color: var(--kg-muted) !important; }
.entry-content ul li::marker { color: var(--kg-primary); }
.entry-content ol li::marker { color: var(--kg-primary); font-weight: 700; }
.entry-content li { margin-bottom: .35em; }
.entry-content strong { color: var(--kg-ink); }
.ast-breadcrumbs-wrapper, .yoast-breadcrumbs, .kg-breadcrumbs { font-size: .88rem; color: var(--kg-muted); }

/* Tabellen */
.entry-content .wp-block-table { overflow-x: auto; margin: 1.6em 0; border-radius: var(--kg-radius-sm); border: 1px solid var(--kg-border); background: var(--kg-card); }
.entry-content table { border-collapse: collapse; width: 100%; margin: 0; border: 0 !important; font-size: .95rem; }
.entry-content table th, .entry-content table td { border: 0 !important; border-bottom: 1px solid var(--kg-border) !important; padding: 12px 14px !important; text-align: left; vertical-align: top; }
.entry-content table thead th { background: var(--kg-surface); color: var(--kg-ink); font-weight: 700; }
.entry-content table tbody tr:last-child > * { border-bottom: 0 !important; }

/* Inhaltsverzeichnis */
.kg-toc { margin: 1.8em 0; background: var(--kg-card); border: 1px solid var(--kg-border); border-radius: var(--kg-radius); padding: 6px 22px; }
.kg-toc summary { cursor: pointer; font-weight: 700; color: var(--kg-ink); padding: 12px 0; list-style: none; display: flex; align-items: center; gap: 8px; }
.kg-toc summary::-webkit-details-marker { display: none; }
.kg-toc summary::after { content: ""; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid var(--kg-muted); border-bottom: 2px solid var(--kg-muted); transform: rotate(45deg); transition: transform .2s; }
.kg-toc details[open] summary::after { transform: rotate(-135deg); }
.kg-toc ol { margin: 0 0 14px 1.2em; padding: 0; columns: 2 260px; column-gap: 32px; font-size: .95rem; }
.kg-toc li { break-inside: avoid; margin-bottom: .4em; }
.kg-toc a { color: var(--kg-text) !important; text-decoration: none !important; }
.kg-toc a:hover { color: var(--kg-primary) !important; }
html { scroll-behavior: smooth; }
.entry-content h2[id] { scroll-margin-top: 90px; }

/* Werbehinweis */
.kg-disclosure { display: flex; gap: 10px; align-items: flex-start; background: var(--kg-surface); border-radius: var(--kg-radius-sm); padding: 10px 14px; font-size: .86rem; color: var(--kg-muted); margin: 0 0 1.6em; }
.kg-disclosure p { margin: 0; }
.kg-disclosure .kg-icon { margin-top: 4px; color: var(--kg-muted); }
.kg-disclosure a { color: var(--kg-muted) !important; }
.kg-star { font-size: .85em; margin-left: 1px; text-decoration: none; display: inline-block; }

/* ---------- Buttons ---------- */
.kg-btn, .entry-content .kg-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 20px; border-radius: 999px; font-weight: 700; font-size: .95rem; line-height: 1.2; text-decoration: none !important; transition: background .2s, transform .15s, box-shadow .2s; border: 2px solid transparent; cursor: pointer; }
.kg-btn--primary, .entry-content .kg-btn--primary { background: var(--kg-primary); color: #fff !important; box-shadow: 0 6px 16px rgba(176, 74, 42, .25); }
.kg-btn--primary:hover, .kg-btn--primary:focus { background: var(--kg-primary-dark); color: #fff !important; transform: translateY(-1px); }
.kg-btn--ghost, .entry-content .kg-btn--ghost { background: transparent; color: var(--kg-primary) !important; border-color: var(--kg-primary); }
.kg-btn--ghost:hover { background: var(--kg-primary-soft); }
.kg-btn--small, .entry-content .kg-btn--small { padding: 8px 14px; font-size: .85rem; background: var(--kg-primary); color: #fff !important; white-space: nowrap; }
.kg-btn--small:hover { background: var(--kg-primary-dark); color: #fff !important; }
.kg-btn .kg-star { color: inherit; }

/* ---------- Produktbox ---------- */
.kg-product { display: grid; grid-template-columns: 180px 1fr; gap: 26px; background: var(--kg-card); border: 1px solid var(--kg-border); border-radius: var(--kg-radius); padding: 26px; margin: 1.8em 0; box-shadow: var(--kg-shadow); position: relative; }
.kg-product__media img { border-radius: var(--kg-radius-sm); width: 100%; height: auto; }
.kg-tile { display: flex; align-items: center; justify-content: center; border-radius: var(--kg-radius); background: radial-gradient(circle at 30% 25%, #fff 0, var(--kg-primary-soft) 70%); color: var(--kg-primary); aspect-ratio: 1; width: 100%; }
.kg-tile__icon { width: 46%; height: 46%; stroke-width: 1.5; }
.kg-tile--sm .kg-tile__icon { width: 42%; height: 42%; }
.kg-product__body { min-width: 0; }
.kg-badge { display: inline-block; background: var(--kg-honey); color: var(--kg-ink); font-size: .78rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; padding: 4px 12px; border-radius: 999px; margin-bottom: 10px; }
.entry-content .kg-product__name { margin: 0 0 .5em !important; font-size: 1.35rem !important; }
.kg-product__name a, .entry-content .kg-product__name a { color: var(--kg-ink) !important; text-decoration: none !important; }
.kg-product__name a:hover { color: var(--kg-primary) !important; }
.kg-product__text { margin: 0 0 1em; }
.kg-proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 1em; }
.entry-content .kg-pros, .entry-content .kg-cons { list-style: none; margin: 0; padding: 0; font-size: .94rem; }
.kg-pros li, .kg-cons li { display: flex; gap: 8px; align-items: flex-start; margin-bottom: .45em; }
.kg-li-icon { width: 18px; height: 18px; flex: none; margin-top: 4px; stroke-width: 3; }
.kg-pros .kg-li-icon { color: var(--kg-sage); }
.kg-cons .kg-li-icon { color: var(--kg-rose); }
.kg-product__for { background: var(--kg-sage-soft); border-radius: var(--kg-radius-sm); padding: 10px 14px; font-size: .94rem; margin: 0 0 1.1em; }
.kg-product__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.kg-missing { background: #fee; border: 1px dashed #c00; padding: 8px; }

/* ---------- Raster & Karten ---------- */
.kg-grid { display: grid; gap: 24px; margin: 1.6em 0; }
.kg-grid--products { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.kg-grid--posts { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.kg-card { background: var(--kg-card); border: 1px solid var(--kg-border); border-radius: var(--kg-radius); padding: 18px; display: flex; flex-direction: column; gap: 14px; box-shadow: var(--kg-shadow); }
.kg-card__media .kg-tile { aspect-ratio: 16 / 9; }
.kg-card__media img { border-radius: var(--kg-radius-sm); }
.kg-card__body { display: flex; flex-direction: column; flex: 1; }
.entry-content .kg-card__title { font-size: 1.08rem !important; margin: 0 0 .4em !important; }
.kg-card__text { font-size: .9rem; color: var(--kg-muted); margin: 0 0 1em; flex: 1; }
.kg-card__actions .kg-btn { width: 100%; padding: 10px 14px; font-size: .9rem; }

.kg-post { background: var(--kg-card); border: 1px solid var(--kg-border); border-radius: var(--kg-radius); overflow: hidden; box-shadow: var(--kg-shadow); transition: transform .2s, box-shadow .2s; }
.kg-post:hover { transform: translateY(-3px); box-shadow: var(--kg-shadow-hover); }
.kg-post__link { display: flex; flex-direction: column; height: 100%; color: inherit !important; text-decoration: none !important; }
.kg-post__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--kg-surface); }
.kg-post__media img, .kg-post__img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; transition: transform .4s; }
.kg-post:hover .kg-post__media img { transform: scale(1.04); }
.kg-post__media .kg-tile { border-radius: 0; height: 100%; aspect-ratio: auto; }
.kg-post__body { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 20px; flex: 1; }
.kg-post__cat { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--kg-primary); }
.kg-post__title { font-family: var(--kg-font-head); font-weight: 700; font-size: 1.2rem; line-height: 1.25; color: var(--kg-ink); }
.kg-post__text { font-size: .92rem; color: var(--kg-muted); line-height: 1.55; flex: 1; }
.kg-post__more { font-weight: 700; font-size: .9rem; color: var(--kg-primary); display: inline-flex; align-items: center; gap: 6px; }

/* Themenkacheln */
.kg-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; margin: 1.6em 0; }
.kg-cat { display: flex; flex-direction: column; gap: 6px; background: var(--kg-card); border: 1px solid var(--kg-border); border-radius: var(--kg-radius); padding: 22px; color: var(--kg-text) !important; text-decoration: none !important; box-shadow: var(--kg-shadow); transition: transform .2s, box-shadow .2s, border-color .2s; }
.kg-cat:hover { transform: translateY(-3px); box-shadow: var(--kg-shadow-hover); border-color: var(--kg-primary); }
.kg-cat__icon { width: 52px; height: 52px; border-radius: 14px; background: var(--kg-primary-soft); color: var(--kg-primary); display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.kg-cat__icon .kg-icon { width: 26px; height: 26px; }
.kg-cat__name { font-family: var(--kg-font-head); font-weight: 700; font-size: 1.2rem; color: var(--kg-ink); }
.kg-cat__text { font-size: .9rem; color: var(--kg-muted); line-height: 1.5; flex: 1; }
.kg-cat__count { font-size: .85rem; font-weight: 700; color: var(--kg-primary); display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; }

/* Vergleichstabelle */
.kg-compare { overflow-x: auto; margin: 1.8em 0; border: 1px solid var(--kg-border); border-radius: var(--kg-radius); background: var(--kg-card); box-shadow: var(--kg-shadow); }
.kg-compare table { min-width: 560px; }
.kg-compare thead th { background: var(--kg-ink) !important; color: #fff !important; font-family: var(--kg-font-head); font-size: 1rem; }
.kg-compare tbody th { color: var(--kg-ink); font-weight: 600; background: var(--kg-surface); white-space: nowrap; }
.kg-compare tbody tr:nth-child(even) td { background: #fffcf8; }
.kg-compare__cta td, .kg-compare__cta th { background: var(--kg-card) !important; }

/* Hinweisboxen (ratgeber-publish: > !tipp / !achtung / !fazit) */
.kg-note { border-radius: var(--kg-radius); padding: 18px 22px; margin: 1.8em 0; border-left: 5px solid var(--kg-sage); background: var(--kg-sage-soft); }
.kg-note p:last-child, .kg-note ul:last-child { margin-bottom: 0; }
.kg-note__title { display: block; font-weight: 700; color: var(--kg-ink); margin-bottom: 6px; font-size: 1.02rem; }
.kg-note--warn { background: var(--kg-honey-soft); border-left-color: var(--kg-honey); }
.kg-note--key { background: var(--kg-primary-soft); border-left-color: var(--kg-primary); }

/* FAQ */
.kg-faq { margin: 1.4em 0 2em; display: flex; flex-direction: column; gap: 12px; }
.kg-faq details { background: var(--kg-card); border: 1px solid var(--kg-border); border-radius: var(--kg-radius-sm); padding: 0 20px; }
.kg-faq summary { cursor: pointer; font-weight: 700; color: var(--kg-ink); padding: 16px 28px 16px 0; position: relative; list-style: none; }
.kg-faq summary::-webkit-details-marker { display: none; }
.kg-faq summary::after { content: "+"; position: absolute; right: 0; top: 12px; font-size: 1.4rem; color: var(--kg-primary); font-weight: 400; }
.kg-faq details[open] summary::after { content: "–"; }
.kg-faq__answer { padding-bottom: 14px; }
.kg-faq__answer p:last-child { margin-bottom: 0; }

/* Über diesen Ratgeber + verwandte Beiträge */
.kg-about { display: flex; gap: 18px; background: var(--kg-surface); border-radius: var(--kg-radius); padding: 22px 24px; margin: 3em 0 1em; font-size: .95rem; }
.kg-about__icon { width: 36px; height: 36px; color: var(--kg-primary); flex: none; }
.kg-about p { margin: 0 0 .5em; }
.kg-about__title { font-weight: 700; color: var(--kg-ink); font-family: var(--kg-font-head); font-size: 1.1rem; }
.kg-about__date { color: var(--kg-muted); font-size: .88rem; margin: 0 !important; }
.kg-related { margin-top: 3em; }
.entry-content .kg-related__title { margin-top: 0; }
.kg-related .kg-grid--posts { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.kg-related__more { text-align: right; font-weight: 700; }
.kg-related__more a { text-decoration: none !important; }

/* ---------- Startseite ---------- */
.home .site-content > .ast-container { max-width: 100%; padding: 0; }
.home .entry-content > * { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }
.home .entry-content > .kg-hero, .home .entry-content > .kg-band { max-width: none; padding: 0; }
.kg-hero { position: relative; background: linear-gradient(115deg, var(--kg-ink) 0%, #43304a 55%, #6b3a33 100%); color: #fff; overflow: hidden; margin-bottom: 0; }
.kg-hero__inner { max-width: 1200px; margin: 0 auto; padding: clamp(48px, 7vw, 96px) 24px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.kg-hero__kicker { display: inline-flex; align-items: center; gap: 8px; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .2); color: #fff; font-size: .85rem; font-weight: 600; padding: 6px 14px; border-radius: 999px; margin: 0 0 18px; }
.kg-hero__kicker .kg-icon { color: var(--kg-honey); }
.home .entry-content .kg-hero h1 { color: #fff !important; font-size: clamp(2.2rem, 1.5rem + 3vw, 3.6rem); line-height: 1.06; margin: 0 0 .4em; }
.kg-hero h1 em { font-style: normal; color: var(--kg-honey); }
.kg-hero__lead { font-size: 1.15rem; color: #efe6f2; max-width: 46ch; margin: 0 0 28px; }
.kg-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.kg-hero .kg-btn--ghost { color: #fff !important; border-color: rgba(255, 255, 255, .6); }
.kg-hero .kg-btn--ghost:hover { background: rgba(255, 255, 255, .1); }
.kg-hero__visual, .kg-hero__media { position: relative; margin: 0; }
.kg-hero__media img { width: 100%; height: auto; aspect-ratio: 4 / 3.4; object-fit: cover; border-radius: 28px; box-shadow: 0 30px 60px rgba(0, 0, 0, .35); }
.kg-hero__media figcaption { font-size: .72rem; color: #cfc3d6; margin-top: 8px; text-align: right; }
.kg-hero__media figcaption a { color: #cfc3d6 !important; }
.kg-hero__badge { position: absolute; left: -22px; bottom: 34px; background: #fff; color: var(--kg-ink); border-radius: 16px; padding: 12px 16px; box-shadow: var(--kg-shadow-hover); display: flex; gap: 10px; align-items: center; font-weight: 700; font-size: .9rem; }
.kg-hero__badge .kg-icon { color: var(--kg-primary); width: 28px; height: 28px; }
.kg-trust { background: var(--kg-surface); border-bottom: 1px solid var(--kg-border); }
.kg-trust ul { max-width: 1200px; margin: 0 auto !important; padding: 18px 24px !important; list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.kg-trust li { display: flex; gap: 10px; align-items: center; font-size: .92rem; font-weight: 600; color: var(--kg-ink); margin: 0 !important; }
.kg-trust .kg-icon { color: var(--kg-primary); width: 24px; height: 24px; }
.kg-section-head { margin-top: 72px !important; text-align: center; }
.kg-section-head .kg-eyebrow { display: block; font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--kg-primary); margin-bottom: 8px; }
.home .entry-content .kg-section-head h2 { margin: 0 0 .3em; font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.4rem); }
.kg-section-head p { color: var(--kg-muted); max-width: 60ch; margin: 0 auto; }
.kg-band { background: var(--kg-ink); color: #efe6f2; margin-top: 80px; }
.kg-band__inner { max-width: 1200px; margin: 0 auto; padding: 56px 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.home .entry-content .kg-band h2 { color: #fff !important; margin-top: 0; }
.kg-band p { color: #e3d8e8; }
.kg-band a:not(.kg-btn) { color: var(--kg-honey) !important; }
.kg-band__list { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 14px; }
.kg-band__list li { display: flex; gap: 12px; align-items: flex-start; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); border-radius: 14px; padding: 14px 16px; margin: 0 !important; }
.kg-band__list .kg-icon { color: var(--kg-honey); width: 24px; height: 24px; margin-top: 2px; }
.kg-band__list strong { color: #fff !important; display: block; }
.kg-occasions { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; }
.kg-occasion { display: flex; align-items: center; gap: 10px; background: var(--kg-card); border: 1px solid var(--kg-border); border-radius: 14px; padding: 14px 16px; font-weight: 600; color: var(--kg-ink) !important; text-decoration: none !important; transition: border-color .2s, background .2s; }
.kg-occasion:hover { border-color: var(--kg-primary); background: var(--kg-primary-soft); }
.kg-occasion .kg-icon { color: var(--kg-primary); }
.home .entry-content > .kg-center { text-align: center; margin-top: 8px; }
.home .entry-content > p:last-child { margin-bottom: 80px; }

/* ---------- Archive ---------- */
.archive .ast-archive-description { background: var(--kg-surface); border-radius: var(--kg-radius); padding: 34px 36px !important; margin-bottom: 32px; border: 0; }
.archive .ast-archive-description .ast-archive-title { display: flex; align-items: center; gap: 14px; font-size: clamp(1.8rem, 1.4rem + 1.6vw, 2.6rem); margin-bottom: .4em; }
.kg-archive-icon { width: 56px; height: 56px; border-radius: 16px; background: var(--kg-primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.kg-archive-icon .kg-icon { width: 28px; height: 28px; }
.archive .ast-archive-description p { max-width: 75ch; color: var(--kg-text); font-size: 1.05rem; }
.archive .ast-row, .blog .ast-row, .search .ast-row { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 26px; margin: 0 !important; }
.archive .ast-row::before, .archive .ast-row::after, .search .ast-row::before, .search .ast-row::after { display: none !important; }
.archive article.ast-article-post, .search article.ast-article-post { width: 100% !important; padding: 0 !important; margin: 0 !important; }
.archive .ast-article-post .ast-article-inner, .search .ast-article-post .ast-article-inner, .archive .ast-article-post > div, .search .ast-article-post > div { background: var(--kg-card) !important; border: 1px solid var(--kg-border); border-radius: var(--kg-radius); overflow: hidden; height: 100%; box-shadow: var(--kg-shadow); padding: 0 !important; }
.archive .post-thumb-img-content img, .search .post-thumb-img-content img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 0; }
.archive .ast-blog-featured-section, .search .ast-blog-featured-section { margin-bottom: 0 !important; }
.archive .post-content, .search .post-content, .archive .blog-layout-4 .post-content { padding: 20px 22px 24px !important; }
.archive .entry-title, .search .entry-title { font-size: 1.25rem !important; line-height: 1.25; }
.archive .entry-title a, .search .entry-title a { color: var(--kg-ink) !important; }
.archive .entry-meta, .search .entry-meta { display: none; }
.archive .ast-excerpt-container, .search .ast-excerpt-container { font-size: .93rem; color: var(--kg-muted); }
.archive .read-more a, .search .read-more a { font-weight: 700; color: var(--kg-primary) !important; text-decoration: none; }
.ast-pagination { margin-top: 40px; }

/* ---------- Seiten-Inhalte ---------- */
.kg-credits { list-style: none; margin: 1em 0 !important; padding: 0 !important; display: grid; gap: 14px; }
.kg-credits li { display: flex; gap: 16px; align-items: center; background: var(--kg-card); border: 1px solid var(--kg-border); border-radius: var(--kg-radius-sm); padding: 12px; font-size: .9rem; margin: 0 !important; }
.kg-credits img { width: 84px; height: 84px; object-fit: cover; border-radius: 8px; flex: none; }
.kg-sitemap { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px 32px; }
.kg-sitemap h2 { font-size: 1.3rem !important; margin: 1em 0 .4em !important; }
.kg-sitemap h2 a { color: var(--kg-ink) !important; text-decoration: none !important; }

/* Kontaktformular */
.kg-form { background: var(--kg-card); border: 1px solid var(--kg-border); border-radius: var(--kg-radius); padding: 26px; box-shadow: var(--kg-shadow); max-width: 640px; }
.kg-form label { display: block; font-weight: 600; color: var(--kg-ink); margin-bottom: 6px; }
.kg-form input[type=text], .kg-form input[type=email], .kg-form textarea { width: 100%; border: 1px solid var(--kg-border) !important; border-radius: var(--kg-radius-sm) !important; padding: 12px 14px !important; background: #fffdfa !important; font-size: 1rem; color: var(--kg-text); }
.kg-form input:focus, .kg-form textarea:focus { border-color: var(--kg-primary) !important; outline: 3px solid var(--kg-primary-soft); }
.kg-form__privacy label { font-weight: 400; font-size: .9rem; display: flex; gap: 10px; align-items: flex-start; }
.kg-form__privacy input { margin-top: 5px; }
.kg-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.kg-form__msg { border-radius: var(--kg-radius-sm); padding: 14px 18px; font-weight: 600; }
.kg-form__msg--ok { background: var(--kg-sage-soft); color: #2f4a36; }
.kg-form__msg--err { background: #fbe4dc; color: #7a2b15; }
.kg-contact-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; margin: 1.4em 0 2em; }
.kg-contact-card { display: flex; gap: 14px; align-items: center; background: var(--kg-card); border: 1px solid var(--kg-border); border-radius: var(--kg-radius); padding: 18px; }
.kg-contact-card .kg-icon { width: 28px; height: 28px; color: var(--kg-primary); }
.kg-contact-card strong { display: block; color: var(--kg-ink); }

/* ---------- Footer ---------- */
.site-footer { background: var(--kg-ink) !important; }
.kg-footer { background: var(--kg-ink); color: #d9cfe0; font-size: .93rem; }
.kg-footer__inner { max-width: 1200px; margin: 0 auto; padding: 64px 24px 40px; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; }
.kg-footer__logo { display: flex; align-items: center; gap: 10px; font-family: var(--kg-font-head); font-weight: 700; font-size: 1.3rem; color: #fff; margin-bottom: 14px; }
.kg-footer__logo img { border-radius: 10px; background: #fff; }
.kg-footer p { color: #d9cfe0; }
.kg-footer__note { font-size: .82rem; color: #bfb3c8 !important; }
.kg-footer__title { font-weight: 700; color: #fff !important; text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; margin-bottom: 14px; }
.kg-footer ul { list-style: none; margin: 0; padding: 0; }
.kg-footer li { margin-bottom: 9px; }
.kg-footer a { color: #e9e1ee !important; text-decoration: none; }
.kg-footer a:hover { color: var(--kg-honey) !important; text-decoration: underline; }
.kg-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .1); text-align: center; padding: 20px 24px; font-size: .85rem; }
.kg-footer__bottom p { margin: 0; color: #bfb3c8; }
.kg-footer__bottom .kg-icon--xs { color: var(--kg-honey); }
.site-below-footer-wrap, .site-primary-footer-wrap, .site-above-footer-wrap { display: none !important; }
#ast-scroll-top { background: var(--kg-primary) !important; border-radius: 12px; }

/* ---------- Cookie-Banner (Complianz) ---------- */
#cmplz-cookiebanner-container .cmplz-cookiebanner { font-family: var(--kg-font) !important; box-shadow: 0 20px 50px rgba(43, 34, 53, .25) !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title { font-family: var(--kg-font-head) !important; font-weight: 700 !important; font-size: 1.15rem !important; color: var(--kg-ink) !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { font-size: .9rem !important; line-height: 1.55 !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { font-weight: 700 !important; border-radius: 999px !important; height: auto !important; min-height: 44px; padding: 10px 14px !important; font-size: .9rem !important; white-space: normal; line-height: 1.2 !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link { color: var(--kg-muted) !important; font-size: .82rem !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category { background: var(--kg-surface) !important; border-radius: 10px !important; }
.cmplz-manage-consent { display: none !important; } /* Footer enthält bereits "Cookie-Einstellungen" */

/* ---------- Responsive ---------- */
@media (max-width: 921px) {
  .kg-hero__inner { grid-template-columns: 1fr; gap: 36px; }
  .kg-hero__media { max-width: 560px; }
  .kg-hero__badge { left: 12px; }
  .kg-trust ul { grid-template-columns: 1fr 1fr; }
  .kg-band__inner { grid-template-columns: 1fr; gap: 28px; }
  .kg-footer__inner { grid-template-columns: 1fr 1fr; }
  .kg-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  body { font-size: 16px; }
  .home .entry-content > * { padding-left: 16px; padding-right: 16px; }
  .kg-hero__inner { padding: 40px 16px 48px; }
  .kg-hero__actions .kg-btn { width: 100%; }
  .kg-trust ul { padding: 16px !important; gap: 12px; }
  .kg-trust li { font-size: .85rem; }
  .kg-product { grid-template-columns: 1fr; padding: 20px; gap: 16px; }
  .kg-product__media { max-width: 120px; }
  .kg-proscons { grid-template-columns: 1fr; gap: 8px; }
  .kg-product__actions .kg-btn { width: 100%; }
  .kg-about { flex-direction: column; gap: 10px; }
  .kg-footer__inner { grid-template-columns: 1fr; gap: 28px; padding: 48px 16px 28px; }
  .archive .ast-archive-description { padding: 24px 20px !important; }
  .kg-toc ol { columns: 1; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Startseite: Breiten gegen Astra-Regeln durchsetzen ---------- */
body.home .entry-content > *:not(.kg-hero):not(.kg-band):not(.kg-trust) { max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 24px !important; padding-right: 24px !important; box-sizing: border-box; }
body.home .entry-content > .kg-hero, body.home .entry-content > .kg-band, body.home .entry-content > .kg-trust { max-width: none !important; padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
body.home .kg-hero__inner, body.home .kg-band__inner, body.home .kg-trust ul { max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }
body.home .entry-content > p { max-width: 1200px !important; }
.home .kg-cats, .home .kg-grid--posts { grid-template-columns: repeat(3, 1fr); }
.kg-band a.kg-occasion { color: var(--kg-ink) !important; text-decoration: none !important; }
.kg-band a.kg-occasion:hover { color: var(--kg-primary-dark) !important; }
.kg-footer__logo img { background: transparent; }
@media (max-width: 921px) { .home .kg-cats, .home .kg-grid--posts { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
  body.home .entry-content > *:not(.kg-hero):not(.kg-band):not(.kg-trust) { padding-left: 16px !important; padding-right: 16px !important; }
  .home .kg-cats, .home .kg-grid--posts { grid-template-columns: 1fr; }
}
.single .post-navigation, .single .ast-single-post-navigation, .single nav.navigation.post-navigation { display: none !important; }
.kg-compare tbody th { white-space: normal; min-width: 120px; }
.kg-compare th, .kg-compare td { padding: 10px 12px !important; font-size: .9rem; }
@media (max-width: 600px) { .site-title { font-size: 1.12rem !important; } .custom-logo-link img, .site-logo-img img { width: 36px; } }
.kg-footer__contact { margin-bottom: 6px !important; } .kg-footer__contact a { color: #e9e1ee !important; }
.kg-grid--archive { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); margin-top: 0; }
.kg-breadcrumbs { max-width: 860px; margin: 0 auto 18px; font-size: .85rem; color: var(--kg-muted); }
.archive .kg-breadcrumbs { max-width: none; }
.kg-breadcrumbs a { color: var(--kg-muted); text-decoration: none; }
.kg-breadcrumbs a:hover { color: var(--kg-primary); text-decoration: underline; }
.kg-breadcrumbs .breadcrumb_last { color: var(--kg-text); }
