/* =========================================================================
   von prüll – Gutenberg Core-Block-Branding
   Wird im Front-End (nur Block-Inhalte) und im Editor-Canvas geladen.
   Bewusst literal (keine Tailwind-Variablen), damit es auch im Editor greift.
   ========================================================================= */

/* Editor-Canvas Grundton */
.editor-styles-wrapper { background-color: #f3ead9; }
.editor-styles-wrapper,
.block-editor-writing-flow { font-family: "Mulish", "Inter", -apple-system, sans-serif; color: #2b2620; }

/* ---- Überschriften ---- */
.wp-block-heading,
.editor-styles-wrapper .wp-block-heading {
	font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
	font-weight: 500;
	color: #2b2620;
	line-height: 1.08;
	letter-spacing: -0.01em;
	text-wrap: balance;
}
h1.wp-block-heading { font-size: clamp(2.2rem, 1.5rem + 2.6vw, 3.2rem); }
h2.wp-block-heading { font-size: 1.9rem; }
h3.wp-block-heading { font-size: 1.45rem; }
h4.wp-block-heading { font-size: 1.2rem; }

/* ---- Fließtext / Listen ---- */
.entry-content, .wp-block-post-content { color: #4d4339; font-size: 1.0625rem; line-height: 1.72; }
.entry-content p, .wp-block-post-content p { max-width: 64ch; }
.entry-content a, .wp-block-post-content a { color: #a4502f; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #ecd9c4; }
.entry-content a:hover, .wp-block-post-content a:hover { text-decoration-color: #a4502f; }
.entry-content strong, .wp-block-post-content strong { color: #2b2620; }
.wp-block-list { padding-left: 1.3rem; }
.wp-block-list li { position: relative; list-style: none; margin-top: .4rem; }
.wp-block-list li::before { content: ""; position: absolute; left: -1.3rem; top: .62em; width: 7px; height: 7px; background: #c06a47; transform: rotate(45deg); }

/* ---- Buttons ---- */
.wp-block-button__link,
.wp-block-button.is-style-fill .wp-block-button__link {
	background-color: #a4502f; color: #faf4ea;
	border-radius: 999px;
	font-family: "Mulish", sans-serif; font-weight: 600; font-size: .95rem;
	padding: .85rem 1.6rem;
	transition: background-color .2s ease;
}
.wp-block-button__link:hover { background-color: #8f4528; }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; color: #a4502f; border: 1px solid #a4502f;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: #a4502f; color: #faf4ea; }

/* ---- Zitat / Pullquote ---- */
.wp-block-quote {
	border-left: 2px solid #c06a47; padding-left: 1.3rem;
	font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.6rem; line-height: 1.3; color: #2b2620; font-style: normal;
}
.wp-block-quote cite, .wp-block-pullquote cite { font-family: "Mulish", sans-serif; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: #9a8264; font-style: normal; }
.wp-block-pullquote { border-top: 1px solid #e3d8c2; border-bottom: 1px solid #e3d8c2; }
.wp-block-pullquote blockquote { font-family: "Cormorant Garamond", Georgia, serif; color: #2b2620; }

/* ---- Spalten / Gruppen ---- */
.wp-block-columns { gap: 2rem; }
.wp-block-group.has-background { padding: clamp(1.75rem, 4vw, 3.5rem); border-radius: 16px; }

/* ---- Bilder ---- */
.wp-block-image img { border-radius: 8px; }
.wp-block-image.is-style-rounded img { border-radius: 16px; }

/* ---- Trenner ---- */
.wp-block-separator { border-color: #e3d8c2; opacity: 1; }

/* ---- core/details als FAQ-Akkordeon ---- */
.wp-block-details { border-bottom: 1px solid #e3d8c2; padding: 1.05rem 0; }
.wp-block-details summary { font-weight: 600; color: #2b2620; cursor: pointer; font-size: 1.1rem; list-style: none; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::marker { content: ""; }
.wp-block-details[open] summary { color: #a4502f; }
.wp-block-details > *:not(summary) { margin-top: .9rem; color: #4d4339; }

/* ---- Dunkle Bänder (Marken-Sektionen) ---- */
.has-forest-background-color .wp-block-heading,
.has-ink-background-color .wp-block-heading { color: #faf4ea; }
.has-forest-background-color, .has-ink-background-color { color: #faf4ea; }

/* ---- Marken-Eyebrow (Block-Stil) ---- */
.is-style-vp-eyebrow {
	font-family: "Mulish", sans-serif !important; font-size: .72rem !important; font-weight: 700;
	letter-spacing: .2em; text-transform: uppercase; color: #a4502f; line-height: 1;
}
.is-style-vp-script { font-family: "Pinyon Script", cursive !important; font-weight: 400; color: #5f6f47; letter-spacing: 0; text-transform: none; font-size: 1.6rem; }

/* ---- Block-Seiten-Container (Breite + linker Rand wie der Header = max-w-[88rem]) ---- */
.vp-entry { max-width: 88rem; margin-left: auto; margin-right: auto; padding-top: clamp(2.5rem, 4vw, 3.6rem); padding-bottom: clamp(2.75rem, 5vw, 4.5rem); padding-left: clamp(1.5rem, 2vw + 1rem, 3rem); padding-right: clamp(1.5rem, 2vw + 1rem, 3rem); }
.vp-entry > * { margin-top: clamp(2.5rem, 5vw, 4rem); margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.vp-entry > :first-child { margin-top: 0; }
.vp-entry > :last-child { margin-bottom: 0; }
/* Vollbreit-Band als letztes Element schließt bündig an den Footer an */
.vp-entry > .alignfull.is-style-vp-band:last-child { margin-bottom: calc(-1 * clamp(2.75rem, 5vw, 4.5rem)); }
/* Überschriften dürfen großzügig laufen; Fließtext auf angenehmer Lesebreite */
.vp-entry > .wp-block-heading { max-width: 60rem; }
.vp-entry > h1.wp-block-heading { max-width: 72rem; }
/* Seitentitel (H1) eng an die folgende Intro/den Text koppeln – statt 64px Sektionslücke.
   Behebt den großen Abstand z. B. zwischen „Workshops" und „Kommende Termine …". */
.vp-entry > h1.wp-block-heading { margin-bottom: 1.4rem; }
.vp-entry > h1.wp-block-heading + .wp-block-paragraph { margin-top: 0; }
.vp-entry > .wp-block-paragraph,
.vp-entry > .wp-block-list,
.vp-entry > .wp-block-quote { max-width: 50rem; }
/* EINHEITLICHE Fließtext-Typografie für ALLE Gutenberg-Inhalte (= .vp-prose-Referenz):
   17px, Zeilenhöhe 1.72, weiches Ink-Soft #4d4339 – statt geerbtem Voll-Ink/uneinheitlicher Größe. */
.vp-entry { color: #4d4339; }
.vp-entry p:not(.is-style-vp-eyebrow):not(.is-style-vp-script),
.vp-entry .wp-block-list { font-size: 1.0625rem; line-height: 1.72; color: #4d4339; }
.vp-entry .has-large-font-size { font-size: 1.125rem !important; line-height: 1.6; }
/* Dunkle Bänder behalten cremefarbenen Text */
.vp-entry .has-ink-background-color, .vp-entry .has-forest-background-color { color: #faf4ea; }
/* Aufeinanderfolgende Fließtext-Absätze/Listen: normaler Absatzabstand statt großem Sektionsabstand */
.vp-entry > .wp-block-paragraph,
.vp-entry > .wp-block-list { margin-top: 1.5rem; margin-bottom: 1.5rem; }
.vp-entry > .wp-block-heading + .wp-block-paragraph,
.vp-entry > .wp-block-heading + .wp-block-list { margin-top: 1.15rem; }
/* Kicker (Eyebrow) fest an die folgende Überschrift koppeln – überall gleicher,
   knapper Abstand (1.4rem), statt der großen Sektionslücke bei einzelnen Seiten. */
.vp-entry > .is-style-vp-eyebrow { margin-bottom: 0; }
.vp-entry > .is-style-vp-eyebrow + .wp-block-heading { margin-top: 1.7rem; }
/* Band-Hero (nicht letztes Element): angenehmer Abstand zum folgenden Fließtext statt voller Sektionslücke */
.vp-entry > .alignfull.is-style-vp-band:not(:last-child) { margin-bottom: clamp(1.75rem, 3vw, 2.5rem); }
/* Breite / volle Ausrichtung */
.vp-entry > .alignwide { max-width: none; }
.vp-entry > .alignfull { max-width: none; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.vp-entry > .alignfull.is-style-vp-band { padding-top: clamp(2.75rem, 4vw, 4rem); padding-bottom: clamp(2.75rem, 4vw, 4rem); padding-left: clamp(1.5rem, 2vw + 1rem, 3rem); padding-right: clamp(1.5rem, 2vw + 1rem, 3rem); }
/* Band-Inhalt: zentrierte Lesespalte */
.vp-entry .is-style-vp-band.is-layout-constrained > * { max-width: 52rem; margin-left: auto; margin-right: auto; }

/* ---- Bild-Platte ---- */
.is-style-vp-plate { background: #faf4ea; border: 1px solid #e3d8c2; border-radius: 16px; padding: .9rem; box-shadow: 0 1px 2px rgba(43,38,32,.05), 0 16px 40px -24px rgba(43,38,32,.20); }
.is-style-vp-plate img { border-radius: 10px; display: block; }

/* Karten-Optik für Gruppen mit Cream-Hintergrund */
.wp-block-group.has-cream-background-color { border: 1px solid #e3d8c2; border-radius: 16px; }

/* Zentrierte Bänder (Banner/CTA) */
.vp-text-center { text-align: center; }
.vp-text-center .wp-block-buttons { justify-content: center; }
.vp-text-center .wp-block-heading { text-wrap: balance; }

/* Raster-Gruppen (Werte, Services, Galerie, Kontaktkarten) */
.vp-entry .wp-block-group.is-layout-grid { gap: 1.5rem; }
