/* ==========================================================================
   POLISH (05.10.2026), Agent A: Template-CSS
   Grundlage: _secondbrain/docs/POLISH-AUDIT.md, Maßnahmen 1, 2, 3, 4, 7, 8, 9.
   Geladen direkt nach main.css, vor Plugin-CSS und dark.css. Zusammenführung in main.css erst nach Abnahme.
   Nur helle Regeln. Farben laufen über Tokens (--color-*) oder die --pl-*-Variablen unten,
   damit der Dunkelmodus (dark.src.css, Block POLISH) sie überschreiben kann.
   Klassenvertrag: .l-ground--white|sand|dark, .c-cards--index|media|boxed, .c-cta-band--note,
   .c-features__num, .c-dl, .c-page-hero--plain (.c-error gestaltet Agent B im Template).
   ========================================================================== */
:root {
  /* Gründe: Weiß ist Standard, Sand der eine warme Grund, Grün-Schwarz der eine Kontrastgrund */
  --pl-ground-white: var(--color-bg);
  --pl-ground-sand: var(--color-sand);
  --pl-ground-dark: var(--color-primary);
  /* Fließtext in Karten und Listen: kräftiger als muted (#50564f), hell etwa #454a44, dunkel automatisch heller */
  --pl-text-body: color-mix(in srgb, var(--color-text-muted) 86%, var(--color-text));
  --pl-text-meta: var(--color-text-muted);
  /* Linien */
  --pl-line: var(--color-border);
  --pl-line-strong: var(--color-primary);
  --pl-line-sand: var(--color-sand-deep);
  /* Label in Gold (Dauer, Kategorie): Text #7E5A0A (AA), Linie #E3B85C */
  --pl-label: var(--bn-gold-ink, #7E5A0A);
  --pl-label-line: var(--bn-gold-line, #E3B85C);
  /* Abstände */
  --pl-pad-half: calc(var(--section-pad) * .5);
}

/* ---------------------------------------------------------------- 1 | Gründe und Seitenrhythmus */
.l-ground--white { background: var(--pl-ground-white); }
.l-ground--sand { background: var(--pl-ground-sand); }
.l-ground--dark { background: var(--pl-ground-dark); color: var(--color-on-dark); }
.l-ground--dark h1, .l-ground--dark h2, .l-ground--dark h3, .l-ground--dark h4 { color: var(--color-on-dark); }
.l-ground--sand .c-section-head__intro { color: var(--pl-text-body); }
.l-ground--sand .c-features__item, .l-ground--sand .c-faq__item, .l-ground--sand .c-related__item { border-color: var(--pl-line-sand); }

/* Zwei helle Abschnitte gleichen Grunds teilen sich einen halben Abstand (statt null) */
.l-section:not(.is-dark) + .l-section:not(.is-dark) { padding-top: var(--pl-pad-half); }
/* Abschnitte mit eigenem Grund und der Abschnitt danach behalten den vollen Abstand */
.l-section.l-section.l-section:is(.l-ground--sand, .l-ground--dark, .bn-ground-sand, .c-vg-sec--tint, .c-testimonials, .c-quote, :has(.bn-sand)),
.l-section:is(.l-ground--sand, .l-ground--dark, .bn-ground-sand, .c-vg-sec--tint, .c-testimonials, .c-quote, :has(.bn-sand)) + .l-section.l-section.l-section { padding-top: var(--section-pad); }
/* gleicher Grund hintereinander (Sand + Sand): wieder halber Abstand */
.l-section.l-ground--sand + .l-section.l-section.l-section.l-ground--sand { padding-top: var(--pl-pad-half); }

/* Salbei-Verläufe entfallen: Sand ist der warme Grund, Grün-Schwarz bleibt flach */
.c-vg .c-vg-sec.c-vg-sec--tint { background: var(--pl-ground-sand); }
.c-story-teaser.c-story-teaser { background: var(--pl-ground-sand); }
.c-page-hero.is-dark, .c-text-media.is-dark, .c-stats, .c-cta-band { background: var(--pl-ground-dark); }

/* ---------------------------------------------------------------- 2 | Eyebrows ohne Klammern, zurückgenommen */
.c-eyebrow { gap: 12px; margin-bottom: 18px; font-size: 11.5px; font-weight: var(--fw-medium); letter-spacing: .14em; line-height: 1.4; color: var(--pl-text-meta); }
.c-eyebrow::before, .c-eyebrow::after { content: none; }
/* nur im Unterseiten-Hero: kurze Sandlinie als Einzug */
.c-page-hero .c-eyebrow::before { content: ""; flex: none; width: 20px; height: 1px; background: var(--pl-line-sand); }
.c-page-hero.is-dark .c-eyebrow::before, .c-page-hero.l-ground--dark .c-eyebrow::before { background: var(--color-border-on-dark); }
/* Footer: keine Klammern */
.c-footer__title::before, .c-footer__title::after, .c-footer__copy::after { content: none; }

/* ---------------------------------------------------------------- 3 | Seitenende: CTA-Band ruhiger */
.c-cta-band { padding-block: clamp(72px, 8vw, 120px); }
.c-cta-band::before, .c-cta-band::after { content: none; display: none; }
.c-cta-band__text { color: var(--color-on-dark-muted); }

/* Variante "note": auf Sand, linksbündig, Satz links, ein Button rechts */
.c-cta-band.c-cta-band--note { padding-block: clamp(48px, 5vw, 72px); text-align: left; background: var(--pl-ground-sand); color: var(--color-text); }
.c-cta-band--note .c-cta-band__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-3) var(--space-6); max-width: calc(var(--container-max) + 2 * var(--gutter)); }
.c-cta-band--note .c-cta-band__copy { max-width: 46rem; }
.c-cta-band--note .c-cta-band__headline { font-size: clamp(24px, 1.2rem + 1vw, 34px); line-height: 1.22; color: var(--color-text); }
.c-cta-band--note .c-cta-band__text { margin: 12px 0 0; max-width: none; font-size: var(--fs-md); color: var(--pl-text-body); }
.c-cta-band--note .c-actions { margin: 0; }
.c-cta-band--note.is-dark, .c-cta-band--note.l-ground--dark { background: var(--pl-ground-dark); color: var(--color-on-dark); }
.c-cta-band--note.is-dark .c-cta-band__headline { color: var(--color-on-dark); }
.c-cta-band--note.is-dark .c-cta-band__text { color: var(--color-on-dark-muted); }
.c-cta-band--note.l-ground--white { background: var(--pl-ground-white); border-top: 1px solid var(--pl-line); }
@media (max-width: 767px) {
  .c-cta-band--note .c-cta-band__inner { grid-template-columns: 1fr; }
}

/* Footer: Textlink statt Button, Spalten als details (Markup Agent B) */
.c-footer__cta { margin: 0; }
.c-footer .c-footer__textlink { display: inline-flex; align-items: center; gap: 10px; color: var(--color-on-dark); font-size: 15px; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: var(--color-border-on-dark); }
.c-footer .c-footer__textlink::after { content: "\2192"; text-decoration: none; transition: transform .25s var(--ease); }
.c-footer .c-footer__textlink:hover { color: #fff; text-decoration-color: currentColor; }
.c-footer .c-footer__textlink:hover::after { transform: translateX(4px); }
.c-footer__det > summary { display: block; list-style: none; }
.c-footer__det > summary::-webkit-details-marker { display: none; }
.c-footer__det > summary .c-footer__title { margin: 0; }
@media (min-width: 768px) { .c-footer__det > summary { cursor: default; pointer-events: none; } .c-footer__det > summary .c-footer__title { margin-bottom: var(--space-3); } }
@media (max-width: 767px) {
  .c-footer__col:has(.c-footer__det) { border-top: 1px solid var(--color-border-on-dark); }
  .c-footer__det > summary { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; cursor: pointer; }
  .c-footer__det > summary::after { content: ""; width: 7px; height: 7px; margin-right: 4px; border: solid currentColor; border-width: 0 1.25px 1.25px 0; transform: rotate(45deg); transition: transform .25s var(--ease); color: var(--color-on-dark-muted); }
  .c-footer__det[open] > summary::after { transform: rotate(-135deg); }
  .c-footer__det .c-footer__links { padding-bottom: 20px; }
  .c-footer__grid:has(.c-footer__det) { gap: 0; }
  .c-footer__grid:has(.c-footer__det) .c-footer__brand { margin-bottom: var(--space-5); }
}

/* ---------------------------------------------------------------- 4 | Karten: boxed, index, media */
/* boxed (bisheriges Verhalten, Standard): ruhiger, ohne Schatten */
.c-card { border-radius: var(--radius-lg); }
.c-card__body { padding: 28px 28px 26px; }
.c-card--link:hover { box-shadow: none; border-color: var(--color-line-green); }
.c-card--link:hover .c-card__title { color: var(--color-secondary); }
.c-card__title { transition: color .2s; }
.c-card__more { padding-top: 20px; font-size: 14px; color: var(--color-secondary); }

/* index: typografische Liste ohne Box, ganze Zeile verlinkt */
.c-cards--index .c-cards__grid { display: block; border-top: 1px solid var(--pl-line-strong); }
.c-cards--index .c-card { display: grid; grid-template-columns: 5.5rem minmax(0, 5fr) minmax(0, 6fr) 1.5rem; gap: 8px var(--space-3); align-items: baseline; padding: 28px 4px; border: 0; border-bottom: 1px solid var(--pl-line); border-radius: 0; background: none; box-shadow: none; overflow: visible; transition: padding .3s var(--ease); }
.c-cards--index .c-card__body { display: contents; }
.c-cards--index .c-card__num, .c-cards--index .c-card__tag { margin: 0; padding: 0; background: none; font-size: 13px; font-weight: var(--fw-regular); font-variant-numeric: tabular-nums; letter-spacing: .04em; color: var(--pl-label); }
.c-cards--index .c-card__tag::before { content: none; }
.c-cards--index .c-card__title { margin: 0; font-size: 24px; font-weight: var(--fw-light); line-height: 1.25; letter-spacing: -0.015em; }
.c-cards--index .c-card__text { margin: 0; }
.c-cards--index .c-card__text p { margin-bottom: .4em; }
.c-cards--index .c-card__go { justify-self: end; color: var(--color-secondary); transition: transform .25s var(--ease); }
.c-cards--index .c-card__more, .c-cards--index .c-card__media { display: none; }
.c-cards--index .c-card--link:hover { padding-left: 12px; border-color: var(--pl-line); }
.c-cards--index .c-card--link:hover .c-card__go { transform: translateX(6px); }
.l-ground--sand.c-cards--index .c-card { border-bottom-color: var(--pl-line-sand); }
@media (max-width: 767px) {
  .c-cards--index .c-card { grid-template-columns: 2.75rem minmax(0, 1fr) 1.25rem; gap: 6px 12px; padding: 22px 0; }
  .c-cards--index .c-card__title { font-size: 20px; }
  .c-cards--index .c-card__text { grid-column: 2; grid-row: 2; }
  .c-cards--index .c-card__go { grid-column: 3; grid-row: 1; }
  .c-cards--index .c-card--link:hover { padding-left: 0; }
}

/* media: Bild bleibt, Rahmen weg, Text direkt darunter (wie .c-post) */
.c-cards--media .c-cards__grid { gap: var(--space-5) var(--space-4); }
.c-cards--media .c-card { border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; }
.c-cards--media .c-card__media { border-radius: var(--radius-lg); overflow: hidden; }
.c-cards--media .c-card__media img { aspect-ratio: 3 / 2; }
.c-cards--media .c-card__body { padding: 18px 0 0; }
.c-cards--media .c-card__title { font-size: 21px; }
.c-cards--media .c-card--link:hover { box-shadow: none; }
.c-cards--media .c-card__more { display: none; }
@supports selector(:has(a)) { .c-cards--media .c-card--link:hover .c-card__media img { transform: scale(1.03); } }

/* Angebot: sieben Pakete als feste zweispaltige Zeilen statt Masonry-Kacheln (bestehendes Markup: Karten mit .bn-keep) */
.c-cards:has(.bn-keep) .c-cards__grid { display: block; border-top: 1px solid var(--pl-line-strong); }
.c-cards:has(.bn-keep) .c-card { display: block; border: 0; border-bottom: 1px solid var(--pl-line-sand); border-radius: 0; background: none; box-shadow: none; overflow: visible; -webkit-backdrop-filter: none; backdrop-filter: none; }
.c-cards:has(.bn-keep) .c-card__body { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); grid-template-rows: auto 1fr; gap: 10px var(--space-6); padding: 36px 0 40px; }
.c-cards:has(.bn-keep) .c-card__tag { grid-column: 1; grid-row: 2; align-self: start; margin: 0; }
.c-cards:has(.bn-keep) .c-card__title { grid-column: 1; grid-row: 1; margin: 0; font-size: clamp(22px, 1.2rem + .6vw, 28px); font-weight: var(--fw-light); line-height: 1.2; }
.c-cards:has(.bn-keep) .c-card__text { grid-column: 2; grid-row: 1 / span 2; }
.c-cards:has(.bn-keep) .c-card__text > p { margin: 0 0 .7em; }
.c-cards:has(.bn-keep) .c-card__text .bn-keep { margin-top: 18px; padding: 2px 0 2px 16px; }
@media (max-width: 767px) {
  .c-cards:has(.bn-keep) .c-card__body { grid-template-columns: 1fr; grid-template-rows: none; gap: 10px; padding: 28px 0 32px; }
  .c-cards:has(.bn-keep) .c-card__tag, .c-cards:has(.bn-keep) .c-card__title, .c-cards:has(.bn-keep) .c-card__text { grid-column: 1; grid-row: auto; }
  .c-cards:has(.bn-keep) .c-card__title { order: -1; }
}

/* ---------------------------------------------------------------- 7 | Unterseiten-Hero ohne Deko-Ring */
.c-page-hero { background: var(--pl-ground-white); }
.c-page-hero::after { content: none; display: none; }
.c-page-hero.c-page-hero.has-leaf-edge::before { content: none; display: none; }
.c-page-hero.l-ground--sand { background: var(--pl-ground-sand); }
.c-page-hero.is-dark, .c-page-hero.l-ground--dark { background: var(--pl-ground-dark); }
/* ohne Bild (plain oder ohne Medium): ab 1025 px zweispaltig, H1 links, Lead rechts unten bündig */
.c-page-hero--plain .c-page-hero__headline, .c-page-hero:not(.c-page-hero--media) .c-page-hero__headline { font-size: clamp(2.25rem, 1.2rem + 3.4vw, 4.5rem); line-height: 1.05; }
@media (min-width: 1025px) {
  .c-page-hero:is(.c-page-hero--plain, :not(.c-page-hero--media)) .c-page-hero__content { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-areas: "eyebrow ." "head text" ". actions"; column-gap: var(--space-6); align-items: end; max-width: none; }
  .c-page-hero:is(.c-page-hero--plain, :not(.c-page-hero--media)) .c-eyebrow { grid-area: eyebrow; }
  .c-page-hero:is(.c-page-hero--plain, :not(.c-page-hero--media)) .c-page-hero__headline { grid-area: head; max-width: 14ch; }
  .c-page-hero:is(.c-page-hero--plain, :not(.c-page-hero--media)) .c-page-hero__text { grid-area: text; margin: 0; padding-bottom: .35em; font-size: var(--fs-md); }
  .c-page-hero:is(.c-page-hero--plain, :not(.c-page-hero--media)) .c-actions { grid-area: actions; }
}

/* ---------------------------------------------------------------- 8 | Pills, Badges, Häkchen reduzieren */
/* Karten-Tag als reiner Text mit kurzer Goldlinie */
.c-card__tag { display: inline-flex; align-items: center; gap: 8px; padding: 0; border-radius: 0; background: none; font-size: 13px; font-weight: var(--fw-regular); letter-spacing: .04em; line-height: 1.4; color: var(--pl-label); }
.c-card__tag::before { content: ""; flex: none; width: 18px; height: 2px; background: var(--pl-label-line); }
/* Feature-Liste: Häkchen im Kreis weg, Hairline bleibt; Nummern nur in der Variante mit .c-features__num */
.c-features__icon { display: none; }
.c-features .c-features__list .c-features__item::before { content: none; }
.c-features__item { gap: 18px; padding: 22px 0 24px; }
.c-features__num { flex: none; min-width: 2.2em; padding-top: 1px; font-size: 14px; font-weight: var(--fw-regular); font-variant-numeric: tabular-nums; letter-spacing: .02em; line-height: 1.5; color: var(--pl-label); }
/* Prozess-Schritte: Nummer als Text statt grüner Kreis */
.c-steps__num { width: auto; height: auto; justify-content: flex-start; border: 0; border-radius: 0; background: none; font-size: 14px; font-weight: var(--fw-regular); letter-spacing: .04em; color: var(--pl-label); }
@media (max-width: 767px) { .c-steps__item { grid-template-columns: 2.25rem 1fr; align-items: baseline; } }
/* FAQ: Plus ohne Kreis */
.c-faq__question::after { border-color: transparent; }
.c-faq__item[open] > .c-faq__question::after { background-color: transparent; border-color: transparent; }

/* ---------------------------------------------------------------- 9 | Typografie in Karten und Listen */
.c-card__text, .c-features__text, .c-steps__text, .c-related__text, .c-post__excerpt, .c-glossary__def, .c-faq__answer { font-size: 16px; font-weight: var(--fw-regular); line-height: 1.6; color: var(--pl-text-body); }
.c-card__text strong, .c-features__text strong, .c-steps__text strong { font-weight: var(--fw-semibold); color: var(--color-text); }
.c-card__title { font-size: 21px; font-weight: var(--fw-regular); letter-spacing: -0.012em; line-height: 1.3; }
.c-steps__title { font-weight: var(--fw-regular); }
.c-post__meta { font-size: 13px; }
.c-section-head__intro { color: var(--pl-text-body); }
.is-dark .c-card__text, .is-dark .c-features__text, .is-dark .c-steps__text, .is-dark .c-related__text, .is-dark .c-post__excerpt { color: var(--color-on-dark-muted); }
.is-dark .c-section-head__intro { color: var(--color-on-dark-muted); }

/* Definitionsliste für feste Strukturen (Angebot-Pakete, Abteilungs-Hebel) */
.c-dl { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 10px 20px; margin: 0; }
.c-dl dt { padding-top: 3px; font-size: 12px; font-weight: var(--fw-medium); letter-spacing: .08em; line-height: 1.5; text-transform: uppercase; color: var(--pl-text-meta); }
.c-dl dd { margin: 0; font-size: 16px; font-weight: var(--fw-regular); color: var(--pl-text-body); }
.c-dl { margin-bottom: 1.5em; }
.c-dl + p, .c-dl + * { margin-top: 0; }
.c-dl dd + dt { border-top: 1px solid var(--pl-line); padding-top: 13px; }
.c-dl dd + dt + dd { border-top: 1px solid var(--pl-line); padding-top: 10px; }
.l-ground--sand .c-dl dd + dt, .l-ground--sand .c-dl dd + dt + dd, .c-cards:has(.bn-keep) .c-dl dd + dt, .c-cards:has(.bn-keep) .c-dl dd + dt + dd { border-top-color: var(--pl-line-sand); }
@media (max-width: 767px) {
  .c-dl { grid-template-columns: 1fr; gap: 2px; }
  .c-dl dd { margin-bottom: 10px; }
  .c-dl dd + dt + dd { border-top: 0; padding-top: 0; }
}
/* Ende POLISH A */
