/*
 * Memorani – Akzente der Blöcke. Wird auf der Website und im Editor-Canvas geladen
 * (theme.json: editorStyles); enthält deshalb keine globalen Regeln für body/html.
 */

/* Überschriften: weiche Serife, kleiner Terrakotta-Punkt über jeder H2 */
.blk-heading { font-weight: 560; letter-spacing: -.01em; }
h2.blk-heading { font-size: clamp(1.7rem, 3.6vw, 2.4rem); line-height: 1.15; margin-top: 3.5rem; }
h2.blk-heading::before { content: ""; display: block; width: .6rem; height: .6rem; margin-bottom: 1rem; border-radius: 50%; background: var(--t-signal); box-shadow: 1rem 0 0 var(--t-gold); }
h3.blk-heading { font-size: 1.3rem; font-weight: 600; }
.blk-richtext strong { font-weight: 650; color: var(--t-heading); }
.blk-richtext li::marker { color: var(--t-gold); }

/* Hero */
.blk-hero { padding: clamp(2.5rem, 7vw, 5.5rem) 0 clamp(2rem, 4vw, 3rem); margin-bottom: 2.5rem; }
.blk-hero__kicker { display: inline-block; font: 600 .85rem/1.4 var(--t-font); letter-spacing: .06em; color: var(--t-signal-strong); background: var(--t-blush); padding: .35rem .9rem; border-radius: 999px; margin-bottom: 1.25rem; }
h1.blk-hero__title { font: 520 clamp(2.5rem, 6.5vw, 4.4rem)/1.04 var(--t-display); letter-spacing: -.025em; margin: 0 0 1.5rem; max-width: 15ch; }
.blk-hero__lead { font-size: clamp(1.1rem, 2vw, 1.3rem); line-height: 1.6; max-width: 46ch; color: var(--t-muted); }
.blk-hero__image { border-radius: var(--t-radius); box-shadow: 0 30px 60px -30px rgb(42 27 40 / 45%); rotate: 1.5deg; }

/* Buttons: rund und freundlich */
.btn { border-radius: var(--t-button-radius); padding: .8rem 1.5rem; font-weight: 600; letter-spacing: .01em; transition: background-color .2s, color .2s; }
.btn--primary:hover { background: var(--t-signal-strong); border-color: var(--t-signal-strong); color: var(--t-signal-ink); }
.btn--secondary:hover { background: var(--t-signal-glow); }

/* Spalten mit Zwischenüberschrift: weiche Karten */
.blk-columns__col:has(> h3.blk-heading:first-child) { padding: 1.6rem 1.5rem 1.4rem; background: var(--t-bg-raised); border: 1px solid var(--t-border); border-radius: var(--t-radius); box-shadow: 0 12px 30px -24px rgb(42 27 40 / 40%); }
.blk-columns__col > .blk-heading:first-child { margin-top: 0; }
.blk-columns__col > h2.blk-heading:first-child { margin-top: .25rem; }
.blk-columns__col p:last-child { margin-bottom: 0; }
.blk-columns__col a { font-weight: 600; }

/* Flächen */
.blk-section--bg-light { background: var(--t-surface); border: 1px solid var(--t-border); }
.blk-section--bg-dark h2.blk-heading::before, .blk-section--bg-accent h2.blk-heading::before { background: currentColor; opacity: .5; }
.blk-section--bg-accent .btn--primary { background: var(--t-bg); border-color: var(--t-bg); color: var(--t-signal); }
.blk-callout { border-radius: var(--t-radius); }
.blk-image img { border-radius: var(--t-radius); }
.blk-image figcaption { font-style: italic; }
.blk-quote blockquote { border-left: 3px solid var(--t-signal); font-family: var(--t-display); font-style: normal; font-size: 1.3rem; line-height: 1.45; }
.blk-summary { background: var(--t-bg-raised); border: 1px solid var(--t-border); border-radius: var(--t-radius); }

/* Tabellen */
.blk-table td { font-variant-numeric: tabular-nums; }
.blk-table thead th { border-bottom-color: var(--t-gold); font-weight: 650; }

/* FAQ */
.blk-faq { border-top-color: var(--t-border-strong); }
.blk-faq__item { border-bottom-color: var(--t-border); }
.blk-faq__item summary { list-style: none; position: relative; padding-right: 2rem; font: 560 1.12rem/1.4 var(--t-display); }
.blk-faq__item summary::-webkit-details-marker { display: none; }
.blk-faq__item summary::after { content: "+"; position: absolute; right: .25rem; top: .8rem; font: 400 1.4rem/1 var(--t-display); color: var(--t-signal); }
.blk-faq__item[open] summary::after { content: "−"; }

/* Kontaktformular */
.blk-contact__field input, .blk-contact__field textarea { background: var(--t-bg-raised); border-color: var(--t-border-strong); border-radius: 10px; }

/* Beitragskarten */
.blk-postlist--cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
@media (max-width: 960px) { .blk-postlist--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .blk-postlist--cards { grid-template-columns: 1fr; } }
.blk-postlist__title { font: 560 1.2rem/1.3 var(--t-display); text-decoration: none; }

/* Seitentitel */
h1.page__title { font: 520 clamp(2.2rem, 5vw, 3.3rem)/1.08 var(--t-display); letter-spacing: -.02em; margin: 0 0 1.25rem; }

/* Lange Wörter in großen Überschriften trennen statt überlaufen */
h1.page__title, h1.blk-hero__title, .blk-heading { hyphens: auto; overflow-wrap: break-word; }
