/*
Theme Name: Havaneser aus dem Alten Land
Description: Schlankes Block-Theme ohne Page Builder. Apfelblüte, Elbe, Reetdach – mit animiertem Apfelgarten.
Version: 2.0.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: havaneser
*/

html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; }
p, li { overflow-wrap: break-word; }
@media (max-width: 600px) { p, li { hyphens: auto; } }
.wp-site-blocks > * { margin-block-start: 0; }
li::marker { color: var(--wp--preset--color--apple); }
::selection { background: var(--wp--preset--color--blossom-deep); }

.eyebrow {
	font-size: 0.8rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--wp--preset--color--apple); margin-bottom: 0.4rem;
}
.lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--muted); line-height: 1.6; }

/* ---------------------------------------------------------- Kopfbereich (schwebende Leiste) */
header.wp-block-template-part {
	position: sticky; top: 0; z-index: 50;
	height: 0; display: flow-root; overflow: visible;
}
.admin-bar header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 0px); }
.site-header {
	max-width: 72rem; margin: 0.8rem auto 0;
	padding: 0.5rem 0.6rem 0.5rem 1.1rem;
	background: rgb(255 250 242 / 0.98);
	border: 1px solid rgb(74 107 31 / 0.12);
	border-radius: 999px;
	box-shadow: var(--wp--custom--shadow-soft);
}
.site-header .brand { gap: 0.6rem; }
.site-header .brand-mark { display: inline-flex; line-height: 0; }
.site-header .wp-block-site-title { margin: 0; font-family: var(--wp--preset--font-family--serif); font-weight: 700; font-size: 1.2rem; letter-spacing: -0.01em; }
.site-header .wp-block-site-title a { color: var(--wp--preset--color--dark); text-decoration: none; }
.site-header .wp-block-navigation { font-size: 0.95rem; font-weight: 500; }
.site-header .wp-block-navigation a { text-decoration: none; }
.site-header .wp-block-navigation-item__content { padding: 0.4em 0.85em; border-radius: 999px; transition: background 0.15s ease; }
.site-header .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--tint); color: var(--wp--preset--color--primary); }
.site-header .nav-cta > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--primary); color: #fff; padding: 0.5em 1.15em; margin-left: 0.2rem;
}
.site-header .nav-cta > .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--apple); color: #fff; }
@media (min-width: 600px) {
	.wp-block-navigation__submenu-container {
		border-radius: 18px;
		border: 1px solid rgb(74 107 31 / 0.14) !important;
		box-shadow: var(--wp--custom--shadow-lift);
		padding: 0.4rem;
	}
}
@media (max-width: 599px) {
	.site-header { margin-inline: 0; border-radius: 22px; }
}
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem var(--wp--preset--spacing--50); background: var(--wp--preset--color--base); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	--navigation-layout-align: flex-start;
	align-items: flex-start;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container.items-justified-right,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container.items-justified-right .wp-block-navigation-item { align-items: flex-start; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.2rem; font-family: var(--wp--preset--font-family--serif); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding-left: 1rem; }
.wp-block-navigation__responsive-container.is-menu-open .nav-cta > .wp-block-navigation-item__content { display: inline-block; margin: 0.5rem 0 0; }

/* ---------------------------------------------------------- Startseite: animierter Apfelgarten */
.hero-orchard {
	position: relative; overflow: hidden; isolation: isolate;
	padding-top: clamp(6.5rem, 12vw, 9rem);
	padding-bottom: clamp(9rem, 20vw, 16rem);
	background: linear-gradient(180deg, #cde6f2 0%, #e6f1ee 36%, #fff0d8 70%, #fff6e6 100%);
}
.hero-orchard > .wp-block-columns { position: relative; z-index: 2; }
.hero-orchard h1 { font-size: clamp(2.5rem, 6.2vw, 4.9rem); line-height: 1.04; letter-spacing: -0.025em; margin: 0; }
.hero-orchard h1 em { font-style: italic; color: var(--wp--preset--color--primary); }
.hero-orchard .lead { max-width: 30rem; color: #46523c; }
.hero-photo { position: relative; margin: 0; }
.hero-photo img {
	display: block; width: 100%; aspect-ratio: 1 / 1.08; object-fit: cover; object-position: 46% 50%;
	border: 8px solid #fff; border-radius: 999px 999px 30px 30px;
	box-shadow: var(--wp--custom--shadow-lift);
	transform: rotate(1.6deg);
}

.orchard-sky { position: absolute; inset: 0 0 34% 0; z-index: 0; pointer-events: none; }
.orchard-sky svg { display: block; width: 100%; height: 100%; }
.orchard-front { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; height: clamp(230px, 34vw, 470px); pointer-events: none; }
.orchard-front svg { display: block; width: 100%; height: 100%; }

.tree { transform-box: fill-box; transform-origin: 50% 100%; animation: sway var(--dur, 8s) ease-in-out var(--delay, 0s) infinite; }
.crown { transform-box: fill-box; transform-origin: 50% 100%; animation: rustle 5.5s ease-in-out infinite; }
.apple { transform-box: fill-box; transform-origin: 50% 0; animation: swing var(--sw, 4s) ease-in-out var(--sd, 0s) infinite; }
.cloud { animation: drift var(--cd, 150s) linear var(--cdl, 0s) infinite; }
.sun { transform-box: fill-box; transform-origin: 50% 50%; animation: sun 9s ease-in-out infinite; }
.twig { transform-box: fill-box; transform-origin: 50% 0; animation: twig var(--tw, 5s) ease-in-out var(--td, 0s) infinite; }
@keyframes sway { 0%, 100% { transform: rotate(-1.1deg); } 50% { transform: rotate(1.4deg); } }
@keyframes rustle { 0%, 100% { transform: translateX(0) scale(1); } 50% { transform: translateX(1.4px) scale(1.012); } }
@keyframes swing { 0%, 100% { transform: rotate(-8deg); } 50% { transform: rotate(8deg); } }
@keyframes drift { from { transform: translateX(-340px); } to { transform: translateX(1900px); } }
@keyframes sun { 0%, 100% { transform: scale(0.96); opacity: 0.92; } 50% { transform: scale(1.05); opacity: 1; } }
@keyframes twig { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }

.petals { position: absolute; inset: 0; z-index: 3; pointer-events: none; overflow: hidden; }
.petals i {
	position: absolute; top: -24px; left: var(--x);
	width: var(--s); height: calc(var(--s) * 0.72);
	background: var(--c); border-radius: 100% 0 100% 0; opacity: 0;
	animation: fall var(--dur) linear var(--delay) infinite;
}
@keyframes fall {
	0%   { transform: translate3d(0, 0, 0) rotate(var(--r)); opacity: 0; }
	8%   { opacity: 0.95; }
	50%  { transform: translate3d(calc(var(--dx) * 0.4), 52vh, 0) rotate(calc(var(--r) + 220deg)); }
	100% { transform: translate3d(var(--dx), 108vh, 0) rotate(calc(var(--r) + 440deg)); opacity: 0; }
}

/* sanfter Parallax-Effekt beim Scrollen (nur wo unterstützt) */
@supports (animation-timeline: scroll()) {
	.orchard-front { animation: par-front linear both; animation-timeline: scroll(root); animation-range: 0 90vh; }
	.orchard-sky { animation: par-sky linear both; animation-timeline: scroll(root); animation-range: 0 90vh; }
	@keyframes par-front { to { transform: translateY(36px); } }
	@keyframes par-sky { to { transform: translateY(-40px); } }
}
@media (prefers-reduced-motion: reduce) {
	.tree, .crown, .apple, .cloud, .sun, .twig, .branch-svg { animation: none !important; }
	.petals { display: none; }
	html { scroll-behavior: auto; }
}

/* ---------------------------------------------------------- Abschnitte */
.section { padding-block: var(--wp--preset--spacing--70); }
.section-tight { padding-bottom: var(--wp--preset--spacing--70); }
.band-blossom { background: var(--wp--preset--color--blossom); }
.band-dark { background: var(--wp--preset--color--dark); color: var(--wp--preset--color--base); }
.band-dark h2, .band-dark h3, .band-dark p { color: var(--wp--preset--color--base); }
.band-dark .eyebrow { color: var(--wp--preset--color--blossom-deep); }
.band-dark .wp-block-button__link { background: var(--wp--preset--color--base); color: var(--wp--preset--color--dark); }
.band-dark .wp-block-button__link:hover { background: var(--wp--preset--color--blossom-deep); color: var(--wp--preset--color--dark); }
.photo-tilt img { border: 8px solid #fff; border-radius: 22px; box-shadow: var(--wp--custom--shadow-lift); transform: rotate(-1.8deg); }

/* ---------------------------------------------------------- Seitentitel-Band (Unterseiten) */
.page-hero {
	position: relative; overflow: hidden;
	background: linear-gradient(180deg, var(--wp--preset--color--blossom) 0%, #fff1ee 68%, var(--wp--preset--color--base) 100%);
	padding: clamp(7rem, 13vw, 10rem) 0 clamp(1.5rem, 4vw, 3rem);
	margin-bottom: var(--wp--preset--spacing--50);
}
.page-hero .wp-block-post-title, .page-hero h1 { position: relative; z-index: 1; margin: 0; text-wrap: balance; }
.branch-svg {
	position: absolute; top: 3.4rem; right: -24px; z-index: 0; width: min(46vw, 480px); height: auto; pointer-events: none;
	transform-origin: 100% 0; animation: branch 10s ease-in-out infinite;
}
@keyframes branch { 0%, 100% { transform: rotate(-1.2deg); } 50% { transform: rotate(1.4deg); } }
@media (max-width: 700px) { .branch-svg { opacity: 0.55; width: 62vw; } }
main.site-main { min-height: 50vh; padding-bottom: var(--wp--preset--spacing--70); }
main.site-main-plain { padding-bottom: 0; }
main.site-main > .wp-block-post-content > *:first-child { margin-top: 0; }

/* ---------------------------------------------------------- Karten & Galerien */
.is-style-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid rgb(74 107 31 / 0.12);
	border-radius: var(--wp--custom--radius-lg);
	padding: clamp(1.25rem, 3.4vw, 2.25rem);
	box-shadow: var(--wp--custom--shadow-soft);
}
.is-style-card > :first-child { margin-top: 0; }
.is-style-card > h3::before {
	content: ""; display: inline-block; width: 0.8em; height: 0.8em; margin-right: 0.45em; vertical-align: -0.05em;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 10c-3.2-2.6-9.6-1.6-9.6 5.8 0 6.4 4.2 12.2 7.4 12.2 1 0 1.6-.6 2.2-.6s1.2.6 2.2.6c3.2 0 7.4-5.8 7.4-12.2C25.6 8.4 19.2 7.4 16 10z' fill='%23b5302a'/%3E%3Cpath d='M16 10c0-3.2 1.6-5.4 4.4-6.4.6 2.6-1.2 5.4-4.4 6.4z' fill='%235f8f2f'/%3E%3C/svg%3E") center / contain no-repeat;
}
.link-card {
	position: relative; overflow: hidden;
	background: var(--wp--preset--color--surface);
	border: 1px solid rgb(74 107 31 / 0.12);
	border-radius: var(--wp--custom--radius-lg);
	box-shadow: var(--wp--custom--shadow-soft);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.link-card:hover { transform: translateY(-4px); box-shadow: var(--wp--custom--shadow-lift); }
.link-card > * { margin: 0; }
.link-card .wp-block-image { overflow: hidden; }
.link-card .wp-block-image img { border-radius: 0; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; transition: transform 0.6s ease; }
.link-card:hover .wp-block-image img { transform: scale(1.05); }
.link-card h3 { padding: 1rem 1.25rem 1.2rem; font-size: 1.35rem; display: flex; justify-content: space-between; align-items: center; }
.link-card h3 a { color: var(--wp--preset--color--dark); text-decoration: none; }
.link-card h3 a::after { content: ""; position: absolute; inset: 0; }
.link-card h3::after { content: "→"; color: var(--wp--preset--color--apple); transition: transform 0.2s ease; }
.link-card:hover h3::after { transform: translateX(4px); }
.wp-block-gallery .wp-block-image img { border-radius: 14px; }

/* ---------------------------------------------------------- Fußbereich */
footer.wp-block-template-part { margin-top: 0; }
.site-footer {
	position: relative; margin-top: 3rem;
	background: var(--wp--preset--color--dark); color: var(--wp--preset--color--base);
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
}
.site-footer::before {
	content: ""; position: absolute; left: 0; right: 0; top: -39px; height: 40px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V18C120 0 240 0 360 14S600 40 720 30S960 4 1080 8S1320 30 1440 16V40Z' fill='%231f2d17'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
}
.site-footer h2, .site-footer h3, .site-footer p, .site-footer li { color: var(--wp--preset--color--base); }
.site-footer .footer-brand { display: flex; align-items: center; gap: 0.6rem; font-family: var(--wp--preset--font-family--serif); font-size: 1.35rem; font-weight: 700; margin: 0 0 var(--wp--preset--spacing--40); }
.site-footer h3 { font-family: var(--wp--preset--font-family--sans); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--wp--preset--color--blossom-deep); }
.site-footer a { color: var(--wp--preset--color--base); text-decoration: none; }
.site-footer a:hover { text-decoration: underline; color: #fff; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li + li { margin-top: 0.4rem; }
.site-footer h3 + ul, .site-footer h3 + .wp-block-list { margin-top: 0.9rem; }
.site-footer .footer-bottom { border-top: 1px solid rgb(255 255 255 / 0.14); margin-top: var(--wp--preset--spacing--50); padding-top: var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--small); opacity: 0.8; }

/* ---------------------------------------------------------- Formulare (Contact Form 7) */
.wpcf7 form p { margin: 0 0 1.1rem; }
.wpcf7 label { display: block; font-weight: 600; font-size: 0.95rem; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 input[type="number"],
.wpcf7 select, .wpcf7 textarea {
	width: 100%; margin-top: 0.35rem; padding: 0.75em 1em; font: inherit;
	color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--surface);
	border: 1px solid rgb(74 107 31 / 0.3); border-radius: 14px;
}
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: 3px solid rgb(74 107 31 / 0.25); outline-offset: 1px; border-color: var(--wp--preset--color--primary); }
.wpcf7 fieldset { border: 0; padding: 0; margin: 0 0 1.1rem; }
.wpcf7 legend { font-weight: 600; font-size: 0.95rem; padding: 0; }
.wpcf7 .wpcf7-radio, .wpcf7 .wpcf7-checkbox { display: flex; flex-wrap: wrap; gap: 0.4rem 1.25rem; margin-top: 0.35rem; }
.wpcf7 .wpcf7-list-item { margin: 0; }
.wpcf7 .wpcf7-list-item label { font-weight: 400; display: inline-flex; gap: 0.4rem; align-items: center; }
.wpcf7 input[type="submit"] {
	font: inherit; font-weight: 600; cursor: pointer; color: #fff;
	background: var(--wp--preset--color--primary); border: 0; border-radius: 999px; padding: 0.85em 2em;
	transition: background 0.15s ease, transform 0.15s ease;
}
.wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--apple); transform: translateY(-1px); }
.wpcf7-not-valid-tip { color: var(--wp--preset--color--apple); font-size: 0.875rem; }


/* Szene-Ebenen dürfen die Textbreite des constrained-Layouts ignorieren */
.hero-orchard > .orchard-sky, .hero-orchard > .orchard-front, .hero-orchard > .petals { max-width: none; margin: 0; }
.hero-orchard > .orchard-sky { left: 0; right: 0; }

/* Startseite: Bänder ohne Zwischenraum, Wellenrand unter dem Apfelgarten */
main.site-main-plain .wp-block-post-content > * { margin-block-start: 0; }
.hero-orchard::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 44px; z-index: 2; pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 44' preserveAspectRatio='none'%3E%3Cpath d='M0 44V22C160 2 300 4 480 20S840 44 1040 30S1320 4 1440 18V44Z' fill='%23fffaf2'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
}
/* Startseite endet mit dunklem Band: Footer schließt nahtlos an */
main.site-main-plain + footer .site-footer { margin-top: 0; }
main.site-main-plain + footer .site-footer::before { display: none; }

/* Wurf-Seiten: Namen größer, Bilder in Spaltenreihen begrenzen */
.is-style-card > h3 { font-size: clamp(1.5rem, 3vw, 1.9rem); }
.wp-block-post-content .wp-block-columns .wp-block-image img { width: 100%; max-height: 32rem; object-fit: cover; }
@media (max-width: 599px) {
	.site-header { padding: 0.45rem 0.5rem 0.45rem 0.8rem; }
	.site-header .wp-block-site-title { font-size: 1rem; white-space: nowrap; }
	.site-header .logo-apple { width: 26px; height: 26px; }
	.hero-photo img { aspect-ratio: 1 / 0.95; }
}

/* Logo der Zucht: runde Plakette am Anfang der Leiste, ragt über den Rand */
.site-header { --b: 92px; --bi: 74px; }
.site-header .brand-logo {
	flex: none; width: var(--b); height: var(--b);
	margin: calc((2.6rem - var(--b)) / 2) 0.3rem calc((2.6rem - var(--b)) / 2) -0.2rem;
	display: grid; place-items: center;
	background: #fff; border-radius: 50%;
	border: 3px solid #fff;
	box-shadow: var(--wp--custom--shadow-soft);
	transition: transform 0.3s ease;
}
.site-header .brand-logo:hover { transform: rotate(-6deg) scale(1.05); }
.site-header .brand-logo a { display: grid; place-items: center; line-height: 0; }
.site-header .brand-logo img { width: calc(var(--b) - 6px); height: calc(var(--b) - 6px); border-radius: 50%; object-fit: cover; }
.site-header .wp-block-site-title { white-space: nowrap; }
.site-header .wp-block-navigation__container { flex-wrap: nowrap; }
@media (min-width: 600px) and (max-width: 1140px) {
	.site-header { --b: 80px; --bi: 62px; }
	.site-header .wp-block-navigation { font-size: 0.9rem; }
	.site-header .wp-block-navigation-item__content { padding: 0.4em 0.6em; }
	.site-header .nav-cta > .wp-block-navigation-item__content { padding: 0.5em 1em; }
	.site-header .wp-block-site-title { font-size: 1.1rem; }
}
@media (max-width: 599px) {
	.site-header { --b: 64px; --bi: 50px; }
}

/* ---------------------------------------------------------- Gästebuch (Gwolle) */
.gwolle-gb { font-size: var(--wp--preset--font-size--medium); }
.gwolle-gb .clearBoth { display: none; }

/* Button „Neuen Eintrag schreiben“ */
body .gwolle-gb .gwolle-gb-write-button { margin: 0 0 1.75rem; text-align: center; overflow: visible; }
body .gwolle-gb .gwolle-gb-write-button input[type="button"].button,
body .gwolle-gb .gwolle_gb_submit input[type="submit"].button {
	font: inherit; font-weight: 600; cursor: pointer; float: none;
	background: var(--wp--preset--color--primary); color: #fff;
	border: 0; border-radius: 999px; padding: 0.85em 2em; box-shadow: none;
	transition: background 0.15s ease, transform 0.15s ease;
}
body .gwolle-gb .gwolle-gb-write-button input[type="button"].button:hover,
body .gwolle-gb .gwolle_gb_submit input[type="submit"].button:hover { background: var(--wp--preset--color--apple); transform: translateY(-1px); }
body .gwolle-gb .gwolle_gb_submit input.gwolle_gb_preview {
	font: inherit; font-weight: 600; cursor: pointer; margin-left: 0.5rem;
	background: transparent; color: var(--wp--preset--color--dark);
	border: 2px solid var(--wp--preset--color--dark); border-radius: 999px; padding: 0.75em 1.6em;
}
body .gwolle-gb .gwolle_gb_submit input.gwolle_gb_preview:hover { background: var(--wp--preset--color--dark); color: #fff; }

/* Formular als Karte */
body .gwolle-gb form.gwolle-gb-write {
	position: relative; overflow: visible; max-width: 40rem; margin: 0 auto 2.5rem;
	padding: clamp(1.25rem, 4vw, 2.25rem);
	background: var(--wp--preset--color--surface);
	border: 1px solid rgb(74 107 31 / 0.12); border-radius: var(--wp--custom--radius-lg);
	box-shadow: var(--wp--custom--shadow-lift);
}
body .gwolle-gb form.gwolle-gb-write.gwolle-gb-hide { display: none; }
.gwolle-gb form.gwolle-gb-write h3 { margin: 0 2.5rem 1.25rem 0; font-size: 1.5rem; }
html body div.gwolle-gb form.gwolle-gb-write button.gb-notice-dismiss {
	top: 1rem; right: 1rem; width: 36px; height: 36px; line-height: 36px; border-radius: 50%;
	background: var(--wp--preset--color--tint); color: var(--wp--preset--color--dark); font-size: 1rem;
}
html body div.gwolle-gb form.gwolle-gb-write button.gb-notice-dismiss:hover { background: var(--wp--preset--color--blossom-deep); }
body .gwolle-gb div.label, body .gwolle-gb div.input,
body .gwolle-gb .gwolle-gb-float div.label, body .gwolle-gb .gwolle-gb-float div.input { width: 100%; float: none; }
body .gwolle-gb form.gwolle-gb-write div.label { margin: 0 0 0.3rem; }
body .gwolle-gb form.gwolle-gb-write div.label label { font-weight: 600; font-size: 0.95rem; }
body .gwolle-gb form.gwolle-gb-write .required { color: var(--wp--preset--color--apple); }
body .gwolle-gb form.gwolle-gb-write div.input { margin-bottom: 1.1rem; }
body .gwolle-gb div.input input[type="text"], body .gwolle-gb div.input input[type="email"], body .gwolle-gb div.input input[type="url"],
body .gwolle-gb div.input textarea, body .gwolle-gb div.input select {
	width: 100%; box-sizing: border-box; padding: 0.75em 1em; font: inherit;
	color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--base);
	border: 1px solid rgb(74 107 31 / 0.3); border-radius: 14px;
}
body .gwolle-gb div.input textarea { min-height: 9rem; resize: vertical; }
body .gwolle-gb div.input input:focus, body .gwolle-gb div.input textarea:focus { outline: 3px solid rgb(74 107 31 / 0.25); outline-offset: 1px; border-color: var(--wp--preset--color--primary); }
body .gwolle-gb form.gwolle-gb-write input.error, body .gwolle-gb form.gwolle-gb-write textarea.error, body .gwolle-gb form.gwolle-gb-write div.input.error { border-color: var(--wp--preset--color--apple); }
.gwolle-gb .gwolle_gb_submit .label { display: none; }
.gwolle-gb .gwolle_gb_submit .input { margin: 0.5rem 0 0; }
.gwolle-gb .gwolle-gb-notice { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid rgb(74 107 31 / 0.15); font-size: 0.85rem; color: var(--wp--preset--color--muted); line-height: 1.55; }
.gwolle-gb .gwolle-gb-messages { border: 0; border-left: 4px solid var(--wp--preset--color--primary-light); border-radius: 12px; background: var(--wp--preset--color--tint); box-shadow: none; padding: 0.4rem 1rem; margin: 0 0 1rem; }
.gwolle-gb .gwolle-gb-messages.error { border-left-color: var(--wp--preset--color--apple); background: #fdecea; }

/* Seitenzahlen als Pillen */
body .gwolle-gb .page-navigation { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem; padding: 0; margin: 0 0 1.5rem; text-align: center; }
body .gwolle-gb .page-navigation a, body .gwolle-gb .page-navigation span {
	float: none; margin: 0; min-width: 2.5rem; height: 2.5rem; padding: 0 0.8rem; box-sizing: border-box;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid rgb(74 107 31 / 0.2); border-radius: 999px !important;
	background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary); text-decoration: none; opacity: 1;
}
body .gwolle-gb .page-navigation a:hover { background: var(--wp--preset--color--tint); color: var(--wp--preset--color--primary); opacity: 1; border-color: var(--wp--preset--color--primary); }
body .gwolle-gb .page-navigation span.current { background: var(--wp--preset--color--primary); color: #fff; border-color: var(--wp--preset--color--primary); opacity: 1; }
body .gwolle-gb .page-navigation span.screen-reader-text { border: 0; }

/* Einträge als Karten in zwei Spalten */
body .gwolle-gb .gwolle-gb-read { column-count: 2; column-gap: 1.5rem; margin-top: 0.5rem; }
@media (max-width: 781px) { body .gwolle-gb .gwolle-gb-read { column-count: 1; } }
.gwolle-gb .gwolle-gb-total { column-span: all; margin: 0 0 1.25rem; text-align: center; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wp--preset--color--apple); }
body .gwolle-gb .gb-entry { break-inside: avoid; margin: 0 0 1.5rem; padding: 0; border: 0; clear: none; background: none; }
body .gwolle-gb .gb-entry article {
	position: relative; overflow: hidden;
	background: var(--wp--preset--color--surface);
	border: 1px solid rgb(74 107 31 / 0.12); border-radius: var(--wp--custom--radius-lg);
	padding: 1.4rem 1.5rem 1.5rem; box-shadow: var(--wp--custom--shadow-soft);
}
.gwolle-gb .gb-entry article::before {
	content: "„"; position: absolute; top: 0.2rem; right: 1.2rem;
	font: 700 5rem/1 var(--wp--preset--font-family--serif); color: var(--wp--preset--color--blossom); pointer-events: none;
}
body .gwolle-gb .gb-entry .gb-author-info { display: flex; align-items: center; gap: 0.9rem; margin-bottom: 1rem; padding: 0; }
.gwolle-gb .gb-avatar {
	flex: none; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
	font: 700 1.3rem/1 var(--wp--preset--font-family--serif);
	background: var(--wp--preset--color--blossom); color: var(--wp--preset--color--apple);
}
.gwolle-gb .gb-tone-1 .gb-avatar { background: var(--wp--preset--color--tint); color: var(--wp--preset--color--primary); }
.gwolle-gb .gb-tone-2 .gb-avatar { background: var(--wp--preset--color--sky); color: #2f5f79; }
.gwolle-gb .gb-tone-3 .gb-avatar { background: #f6ead0; color: #8a5a1c; }
.gwolle-gb .gb-meta { display: flex; flex-direction: column; min-width: 0; line-height: 1.35; padding-right: 2.5rem; }
body .gwolle-gb .gb-entry .gb-author-info .gb-author-name { padding: 0; font-family: var(--wp--preset--font-family--serif); font-weight: 700; font-size: 1.15rem; color: var(--wp--preset--color--dark); }
body .gwolle-gb .gb-entry .gb-author-info .gb-datetime { font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.gwolle-gb .gb-datetime .gb-dot { margin: 0 0.15rem; }
.gwolle-gb .gb-datetime span span { padding: 0; }
body .gwolle-gb .gb-entry .gb-entry-content { padding: 0; line-height: 1.7; }
.gwolle-gb .gb-entry-content a { color: var(--wp--preset--color--primary); }

/* Antwort der Züchter */
.gwolle-gb .gb-entry-admin_reply { margin: 1.1rem 0 0; padding: 0.9rem 1.1rem; border: 0; border-left: 4px solid var(--wp--preset--color--primary-light); border-radius: 0 14px 14px 0; background: var(--wp--preset--color--tint); font-size: 0.95rem; }
.gwolle-gb .gb-admin-reply-uid { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--primary); margin-bottom: 0.2rem; }
.gwolle-gb .gb-admin-reply-uid em { font-style: normal; }

/* Aktionen (Permalink/Moderation): nur für angemeldete Redakteure */
body:not(.logged-in) .gwolle-gb .gb-metabox-handle, body:not(.logged-in) .gwolle-gb .gb-metabox { display: none !important; }
body .gwolle-gb button.gb-metabox-handle { top: 0.6rem; right: 0.6rem; z-index: 2; padding: 0.2rem 0.6rem; border-radius: 999px; background: var(--wp--preset--color--tint); color: var(--wp--preset--color--primary); }
.gwolle-gb .gb-date { white-space: nowrap; }

/* Logo im Fußbereich */
.site-footer .footer-brand { gap: 1rem; }
.site-footer .footer-brand p { margin: 0; }
.site-footer .footer-logo img { border-radius: 50%; box-shadow: 0 0 0 3px #fff, var(--wp--custom--shadow-soft); }
