/* Weilandt IT-Dienstleistungen — Design-System V2: Beitragsseiten und Beitragskarten.
   Die Theme-Vorlagen (Single, Blog-Karten) werden NICHT bearbeitet, nur per CSS umgestaltet.
   Vorgabe: Artikelbilder laufen buendig bis in die runden Ecken, kein Abstand links/rechts (im Mockup war einer). */

/* ---------- Einzelner Beitrag: Titelbild ---------- */

/* Gruppe um das Titelbild: kein Innenpolster (Theme: 64px oben/unten, 24px seitlich) */
body.wv2.single-post .wp-block-group:has(> figure.wp-block-post-featured-image) {
  padding: 0 !important; margin-top: 0 !important;
  background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
}
/* Rahmen mit runden Ecken traegt das Bild selbst, Bild fuellt ihn komplett */
body.wv2.single-post figure.wp-block-post-featured-image {
  margin: 0 !important; width: 100%; max-width: none !important; padding: 0 !important;
  border-radius: 26px; overflow: hidden;
  border: 1px solid var(--wv2-border-glass);
  box-shadow: 0 50px 90px -30px rgba(0, 0, 0, 0.65);
}
body.wv2.single-post figure.wp-block-post-featured-image :is(a, div, img) { display: block; width: 100% !important; margin: 0; padding: 0; }
body.wv2.single-post figure.wp-block-post-featured-image img { height: auto !important; border-radius: 0 !important; }

/* ---------- Einzelner Beitrag: Titel, Meta, Inhalt ---------- */

body.wv2.single-post .wp-block-group:has(> .wp-block-group > h1.wp-block-post-title),
body.wv2.single-post .wp-block-group:has(> h1.wp-block-post-title) {
  background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
  padding-left: 0 !important; padding-right: 0 !important;
}
body.wv2.single-post h1.wp-block-post-title {
  color: #fff !important; font-size: clamp(1.5rem, 4.6vw, 3.4rem); line-height: 1.08; hyphens: manual; letter-spacing: -0.02em;
  max-width: 28ch; margin: 1.6rem 0 1rem;
}
body.wv2.single-post .wp-block-post-date, body.wv2.single-post .wp-block-post-author-name,
body.wv2.single-post .wp-block-post-terms { color: var(--wv2-text-dim) !important; }

/* Lesespalte wie im Mockup (schmal), buendig zur Bildkante */
body.wv2.single-post .entry-content > * {
  max-width: 820px !important; margin-left: 0 !important; margin-right: auto !important;
}
body.wv2.single-post .entry-content h2 { margin-top: 2.6rem; font-size: clamp(1.6rem, 2.6vw, 2.1rem); }
body.wv2.single-post .entry-content p { font-size: 1.12rem; line-height: 1.75; }

/* ---------- Beitragskarten (Einordnungen, Themenseiten): Bild bis in die runden Ecken ---------- */

/* Kartenrahmen (Theme: goldene Kante, Radius, Innenpolster 40/24/24) ohne Innenpolster, Inhalt wird auf die Ecken geclippt */
body.wv2 .wp-block-group.has-border-color:has(.wp-block-post-featured-image) {
  padding: 0 !important; overflow: hidden;
}
body.wv2 .wp-block-group.has-border-color:has(.wp-block-post-featured-image) figure.wp-block-post-featured-image {
  margin: 0 !important; width: 100%; border-radius: 0 !important;
}
body.wv2 .wp-block-group.has-border-color:has(.wp-block-post-featured-image) figure.wp-block-post-featured-image :is(a, div) { display: block; width: 100%; }
body.wv2 .wp-block-group.has-border-color:has(.wp-block-post-featured-image) figure.wp-block-post-featured-image img {
  display: block; width: 100% !important; height: auto !important; border-radius: 0 !important;
}
/* Text unter dem Bild bekommt das Polster, das vorher die Karte hatte */
body.wv2 .wp-block-group.has-border-color:has(.wp-block-post-featured-image) li.wp-block-post > *:not(figure) {
  padding-left: 24px; padding-right: 24px;
}
body.wv2 .wp-block-group.has-border-color:has(.wp-block-post-featured-image) li.wp-block-post > *:not(figure):first-of-type { padding-top: 1.4rem; }
body.wv2 .wp-block-group.has-border-color:has(.wp-block-post-featured-image) li.wp-block-post > *:last-child { padding-bottom: 24px; }

/* Karten ohne Listen-Ebene (kleine Karten): Elemente liegen direkt im Kartenrahmen */
body.wv2 .wp-block-group.has-border-color:has(.wp-block-post-featured-image) > *:not(figure):not(.wp-block-query) {
  padding-left: 24px; padding-right: 24px;
}
body.wv2 .wp-block-group.has-border-color:has(.wp-block-post-featured-image) > *:last-child:not(.wp-block-query) { padding-bottom: 24px; }

/* Buttons im Beitragsinhalt (z. B. Erstgespraech-Baustein): normale Groesse statt Theme-Riesenschrift */
body.wv2 :is(.entry-content, .wp-block-post-content) :is(.wp-block-button__link, .wp-element-button):not([class*="wv2-"]) {
  font-size: 1rem !important; padding: 0.95rem 1.9rem !important; width: auto !important; min-width: 0; max-width: 100%;
}

/* ---------- Beitraege: "Kurz beantwortet"-Box (Mockup) ---------- */
body.wv2 .wp-block-group.wv2-quick-answer {
  background: rgba(10, 74, 84, 0.22); border-left: 4px solid var(--wv2-accent);
  border-radius: 4px 20px 20px 4px; padding: 2rem !important; margin: 0 0 3rem;
  -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
}
body.wv2 .wv2-quick-answer > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
body.wv2 .wv2-quick-answer .wv2-qa-label {
  display: block; margin: 0 0 0.7rem; font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--wv2-accent-light); font-weight: 700;
}
body.wv2 .wv2-quick-answer .wv2-qa-text { margin: 0; color: #fff; font-weight: 500; font-size: 1.1rem; line-height: 1.65; }

/* ---------- Beitraege: Abschluss-CTA (Mockup "closer") ---------- */
body.wv2 .wp-block-group.wv2-post-cta {
  position: relative; overflow: hidden; text-align: center; margin-top: 4rem !important;
  padding: 3.4rem 2rem !important; border: 1px solid var(--wv2-border-glass); border-radius: 26px;
  background: radial-gradient(70% 90% at 50% 0%, rgba(241, 171, 24, 0.13), transparent 65%), rgba(10, 74, 84, 0.2);
  -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
}
body.wv2 .wv2-post-cta > * { max-width: 52ch !important; margin-left: auto !important; margin-right: auto !important; }
body.wv2 .wv2-post-cta .wv2-post-cta-eyebrow {
  margin-bottom: 1rem; font-size: 0.84rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wv2-accent-light);
}
body.wv2 .wv2-post-cta h2.wv2-post-cta-title {
  margin: 0 auto 1.4rem; max-width: 22ch !important; color: #fff !important; text-align: center;
  font-size: clamp(1.7rem, 3.6vw, 2.7rem); line-height: 1.08; letter-spacing: -0.02em; hyphens: manual;
}
body.wv2 .wv2-post-cta h2.wv2-post-cta-title strong { color: var(--wv2-accent-light); font-weight: inherit; }
body.wv2 .wv2-post-cta p { color: var(--wv2-text-dim); font-size: 1.05rem; margin-bottom: 1.6rem; }
body.wv2 .wv2-post-cta .wp-block-buttons { margin: 0 !important; justify-content: center; }
@media (max-width: 720px) {
  body.wv2 .wp-block-group.wv2-quick-answer { padding: 1.4rem !important; }
  body.wv2 .wp-block-group.wv2-post-cta { padding: 2.2rem 1.2rem !important; margin-top: 3rem !important; }
}
