/*
Theme Name: Havaneser von Wolke 7
Description: Schlankes Block-Theme mit Himmel, Wolken und Herz – für die Havaneser-Zucht „von Wolke 7“.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: wolke7
*/
:root {
	--cloud-far: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 300' width='1200' height='300'%3E%3Cdefs%3E%3Cg id='c'%3E%3Ccircle cx='55' cy='70' r='32'/%3E%3Ccircle cx='100' cy='52' r='42'/%3E%3Ccircle cx='148' cy='70' r='30'/%3E%3Crect x='55' y='60' width='93' height='42' rx='21'/%3E%3Ccircle cx='80' cy='82' r='20'/%3E%3Ccircle cx='125' cy='84' r='18'/%3E%3C/g%3E%3C/defs%3E%3Cg fill='%23fff'%3E%3Cuse href='%23c' transform='translate(20 40) scale(0.75)' opacity='0.9'/%3E%3Cuse href='%23c' transform='translate(360 150) scale(0.5)' opacity='0.75'/%3E%3Cuse href='%23c' transform='translate(610 20) scale(1.0)' opacity='0.95'/%3E%3Cuse href='%23c' transform='translate(930 110) scale(0.65)' opacity='0.85'/%3E%3C/g%3E%3C/svg%3E");
	--cloud-near: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 340' width='1600' height='340'%3E%3Cdefs%3E%3Cg id='c'%3E%3Ccircle cx='55' cy='70' r='32'/%3E%3Ccircle cx='100' cy='52' r='42'/%3E%3Ccircle cx='148' cy='70' r='30'/%3E%3Crect x='55' y='60' width='93' height='42' rx='21'/%3E%3Ccircle cx='80' cy='82' r='20'/%3E%3Ccircle cx='125' cy='84' r='18'/%3E%3C/g%3E%3C/defs%3E%3Cg fill='%23fff'%3E%3Cuse href='%23c' transform='translate(60 170) scale(1.2)' opacity='1'/%3E%3Cuse href='%23c' transform='translate(560 60) scale(0.85)' opacity='0.9'/%3E%3Cuse href='%23c' transform='translate(980 190) scale(1.4)' opacity='1'/%3E%3Cuse href='%23c' transform='translate(1330 80) scale(0.75)' opacity='0.9'/%3E%3C/g%3E%3C/svg%3E");
	--bank: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 220' preserveAspectRatio='none'%3E%3Cg fill='%23ffffff' opacity='.55'%3E%3Ccircle cx='40' cy='150' r='90'/%3E%3Ccircle cx='190' cy='120' r='100'/%3E%3Ccircle cx='360' cy='150' r='85'/%3E%3Ccircle cx='520' cy='110' r='110'/%3E%3Ccircle cx='700' cy='140' r='95'/%3E%3Ccircle cx='860' cy='115' r='105'/%3E%3Ccircle cx='1030' cy='145' r='90'/%3E%3Ccircle cx='1180' cy='120' r='100'/%3E%3C/g%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='0' cy='200' r='80'/%3E%3Ccircle cx='130' cy='180' r='75'/%3E%3Ccircle cx='270' cy='205' r='85'/%3E%3Ccircle cx='420' cy='175' r='70'/%3E%3Ccircle cx='560' cy='200' r='80'/%3E%3Ccircle cx='700' cy='180' r='75'/%3E%3Ccircle cx='850' cy='205' r='85'/%3E%3Ccircle cx='1000' cy='180' r='72'/%3E%3Ccircle cx='1120' cy='200' r='80'/%3E%3Ccircle cx='1200' cy='190' r='70'/%3E%3Crect x='0' y='200' width='1200' height='20'/%3E%3C/g%3E%3C/svg%3E");
	--edge-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 440 70' preserveAspectRatio='none'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='0' cy='73.6' r='40'/%3E%3Ccircle cx='58' cy='69.6' r='30'/%3E%3Ccircle cx='118' cy='75.2' r='44'/%3E%3Ccircle cx='188' cy='68.8' r='28'/%3E%3Ccircle cx='248' cy='73.6' r='40'/%3E%3Ccircle cx='318' cy='71.2' r='34'/%3E%3Ccircle cx='378' cy='69.6' r='30'/%3E%3Ccircle cx='440' cy='73.6' r='40'/%3E%3Crect x='0' y='58' width='440' height='12'/%3E%3C/g%3E%3C/svg%3E");
	--edge-top-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 440 70' preserveAspectRatio='none'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='0' cy='-3.5999999999999996' r='40'/%3E%3Ccircle cx='58' cy='0.40000000000000036' r='30'/%3E%3Ccircle cx='118' cy='-5.2' r='44'/%3E%3Ccircle cx='188' cy='1.2000000000000002' r='28'/%3E%3Ccircle cx='248' cy='-3.5999999999999996' r='40'/%3E%3Ccircle cx='318' cy='-1.1999999999999993' r='34'/%3E%3Ccircle cx='378' cy='0.40000000000000036' r='30'/%3E%3Ccircle cx='440' cy='-3.5999999999999996' r='40'/%3E%3Crect x='0' y='0' width='440' height='12'/%3E%3C/g%3E%3C/svg%3E");
	--edge-tint: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 440 70' preserveAspectRatio='none'%3E%3Cg fill='%23e8f2fc'%3E%3Ccircle cx='0' cy='73.6' r='40'/%3E%3Ccircle cx='58' cy='69.6' r='30'/%3E%3Ccircle cx='118' cy='75.2' r='44'/%3E%3Ccircle cx='188' cy='68.8' r='28'/%3E%3Ccircle cx='248' cy='73.6' r='40'/%3E%3Ccircle cx='318' cy='71.2' r='34'/%3E%3Ccircle cx='378' cy='69.6' r='30'/%3E%3Ccircle cx='440' cy='73.6' r='40'/%3E%3Crect x='0' y='58' width='440' height='12'/%3E%3C/g%3E%3C/svg%3E");
	--edge-top-tint: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 440 70' preserveAspectRatio='none'%3E%3Cg fill='%23e8f2fc'%3E%3Ccircle cx='0' cy='-3.5999999999999996' r='40'/%3E%3Ccircle cx='58' cy='0.40000000000000036' r='30'/%3E%3Ccircle cx='118' cy='-5.2' r='44'/%3E%3Ccircle cx='188' cy='1.2000000000000002' r='28'/%3E%3Ccircle cx='248' cy='-3.5999999999999996' r='40'/%3E%3Ccircle cx='318' cy='-1.1999999999999993' r='34'/%3E%3Ccircle cx='378' cy='0.40000000000000036' r='30'/%3E%3Ccircle cx='440' cy='-3.5999999999999996' r='40'/%3E%3Crect x='0' y='0' width='440' height='12'/%3E%3C/g%3E%3C/svg%3E");
	--heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23d9607f' d='M12 21s-7.5-4.6-9.6-9.2C.9 8.4 2.9 4.5 6.6 4.5c2.2 0 3.6 1.2 5.4 3.3 1.8-2.1 3.2-3.3 5.4-3.3 3.7 0 5.7 3.9 4.2 7.3C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E");
	--heart-blue: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%237fb0e0' d='M12 21s-7.5-4.6-9.6-9.2C.9 8.4 2.9 4.5 6.6 4.5c2.2 0 3.6 1.2 5.4 3.3 1.8-2.1 3.2-3.3 5.4-3.3 3.7 0 5.7 3.9 4.2 7.3C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E");
	--balloon-pink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 90'%3E%3Cpath d='M20 40c0 14-6 18-2 30s-4 16 0 20' stroke='%239cb6d3' stroke-width='1.2' fill='none'/%3E%3Cpath fill='%23e98aa3' d='M20 40s-15-9-19-18C-1 15 3 6 10 6c4 0 7 2.4 10 6.4C23 8.4 26 6 30 6c7 0 11 9 9 16-4 9-19 18-19 18z'/%3E%3Cellipse cx='11' cy='14' rx='3' ry='4.5' fill='%23fff' opacity='.45'/%3E%3C/svg%3E");
	--balloon-blue: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 90'%3E%3Cpath d='M20 40c0 14-6 18-2 30s-4 16 0 20' stroke='%239cb6d3' stroke-width='1.2' fill='none'/%3E%3Cpath fill='%238dbbe8' d='M20 40s-15-9-19-18C-1 15 3 6 10 6c4 0 7 2.4 10 6.4C23 8.4 26 6 30 6c7 0 11 9 9 16-4 9-19 18-19 18z'/%3E%3Cellipse cx='11' cy='14' rx='3' ry='4.5' fill='%23fff' opacity='.45'/%3E%3C/svg%3E");
	--balloon-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 90'%3E%3Cpath d='M20 40c0 14-6 18-2 30s-4 16 0 20' stroke='%239cb6d3' stroke-width='1.2' fill='none'/%3E%3Cpath fill='%23ffffff' d='M20 40s-15-9-19-18C-1 15 3 6 10 6c4 0 7 2.4 10 6.4C23 8.4 26 6 30 6c7 0 11 9 9 16-4 9-19 18-19 18z'/%3E%3Cellipse cx='11' cy='14' rx='3' ry='4.5' fill='%23fff' opacity='.45'/%3E%3C/svg%3E");
	--ic-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233a6ea8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7v9a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E");
	--ic-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233a6ea8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E");
	--ic-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233a6ea8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
	--radius: 28px;
	--shadow: 0 24px 50px -28px rgb(29 58 95 / 0.4);
	--shadow-sm: 0 10px 24px -14px rgb(29 58 95 / 0.45);
}

/* ==========================================================================
   Havaneser von Wolke 7 – „Über den Wolken“
   Himmel oben, Inhalte auf weißen Wolken, alles rund wie das Logo.
   ========================================================================== */

/* ---------------------------------------------------------- Grundlagen & Himmel */
html { scroll-behavior: smooth; scroll-padding-top: 2rem; }
body {
	-webkit-font-smoothing: antialiased; overflow-x: clip;
	background:
		linear-gradient(180deg, #98c7f0 0, #b9daf6 380px, #dcedfb 760px, #f5f9fe 1100px) no-repeat,
		var(--wp--preset--color--base);
}
.wp-site-blocks { position: relative; isolation: isolate; padding-top: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
/* ziehende Wolken oben auf jeder Seite */
.wp-site-blocks::before, .wp-site-blocks::after {
	content: ""; position: absolute; left: 0; right: 0; top: 0; z-index: -1; pointer-events: none; background-repeat: repeat-x;
}
.wp-site-blocks::before { height: 520px; background-image: var(--cloud-far); background-size: 1200px 300px; background-position: 0 40px; opacity: 0.8; animation: drift-a 160s linear infinite; }
.wp-site-blocks::after { height: 760px; background-image: var(--cloud-near); background-size: 1600px 340px; background-position: 0 330px; opacity: 0.5; animation: drift-b 110s linear infinite; }
@keyframes drift-a { to { background-position-x: 1200px; } }
@keyframes drift-b { to { background-position-x: -1600px; } }
@keyframes float { 0%, 100% { transform: translateY(0) rotate(-1.5deg); } 50% { transform: translateY(-16px) rotate(1.5deg); } }
@keyframes rise {
	0% { transform: translate(0, 0) rotate(-6deg); opacity: 0; }
	10% { opacity: 1; }
	50% { transform: translate(18px, -45vh) rotate(6deg); }
	90% { opacity: 1; }
	100% { transform: translate(-10px, -95vh) rotate(-4deg); opacity: 0; }
}
@keyframes sway { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }

main.site-main { margin-top: 0; }
::selection { background: var(--wp--preset--color--blossom); color: var(--wp--preset--color--dark); }
:where(a) { text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
:focus-visible { outline: 3px solid var(--wp--preset--color--blossom-deep); outline-offset: 3px; border-radius: 8px; }

.script, .script-quote, .signature, .page-kicker, .dog-name, .footer-script, .orb__name, .stamp {
	font-family: var(--wp--preset--font-family--script); font-weight: 400; letter-spacing: 0;
}
.lead { font-size: var(--wp--preset--font-size--large); line-height: 1.65; color: var(--wp--preset--color--dark); }
.kicker {
	margin-bottom: 0.2rem !important; font-family: var(--wp--preset--font-family--rounded);
	font-size: 0.82rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wp--preset--color--primary);
}
.kicker::before, .kicker::after { content: "·"; margin: 0 0.55rem; color: var(--wp--preset--color--blossom-deep); }
.signature { font-size: 1.6rem; color: var(--wp--preset--color--primary); margin-top: 0 !important; }

/* ---------------------------------------------------------- Kopf: Logo in der Mitte, Menü links & rechts */
header.wp-block-template-part {
	position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50;
	transition: background 0.3s ease, box-shadow 0.3s ease;
}
header.wp-block-template-part.is-scrolled {
	background: rgb(255 255 255 / 0.9); backdrop-filter: blur(14px) saturate(1.3); -webkit-backdrop-filter: blur(14px) saturate(1.3);
	box-shadow: 0 12px 30px -22px rgb(29 58 95 / 0.55);
}
header.is-scrolled .wolke-header { padding-block: 0.4rem; align-items: center !important; }
header.is-scrolled .wolke-header .nav-left, header.is-scrolled .wolke-header .nav-right { margin-top: 0; }
.header-logo img { transition: width 0.3s ease, height 0.3s ease, transform 0.5s cubic-bezier(.2,.8,.2,1) !important; }
header.is-scrolled .header-logo img { width: 58px !important; height: 58px !important; box-shadow: 0 0 0 3px #fff, 0 6px 14px -8px rgb(29 58 95 / 0.5); }
.home header.is-scrolled .header-logo { visibility: visible; }
.wolke-header { max-width: 1140px; margin-inline: auto; padding: 1rem clamp(1rem, 3vw, 2rem) 0; gap: clamp(0.75rem, 2.5vw, 2.25rem); }
.wolke-header .nav-left, .wolke-header .nav-right { flex: 1 1 0; margin-top: 2.3rem; }
.wolke-header .wp-block-navigation { font-family: var(--wp--preset--font-family--rounded); font-weight: 600; font-size: 1.02rem; gap: 0.35rem 1.6rem; }
.wolke-header .wp-block-navigation .wp-block-navigation-item__content {
	position: relative; padding: 0.35rem 0.1rem; color: var(--wp--preset--color--dark); text-decoration: none;
}
.wolke-header .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 50%; bottom: -0.35rem; width: 0.8rem; height: 0.8rem; margin-left: -0.4rem;
	background: var(--heart) center / contain no-repeat; opacity: 0; transform: translateY(6px) scale(0.6); transition: 0.25s ease;
}
.wolke-header .wp-block-navigation-item__content:hover::after,
.wolke-header .current-menu-item > .wp-block-navigation-item__content::after,
.wolke-header .current-menu-ancestor > .wp-block-navigation-item__content::after { opacity: 1; transform: translateY(0) scale(1); }
.wolke-header .wp-block-navigation__submenu-container {
	border: 0 !important; border-radius: 24px; padding: 0.6rem !important; min-width: 12rem !important; margin-top: 0.6rem;
	background: #fff !important; box-shadow: var(--shadow);
}
.wolke-header .wp-block-navigation__submenu-container::before {
	content: ""; position: absolute; left: 0; right: 0; top: -1rem; height: 1rem; /* Brücke über die Lücke, damit das Menü beim Hinüberfahren offen bleibt */
}
.wolke-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.35rem 0.8rem !important; border-radius: 12px; }
.wolke-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--tint); }
.wolke-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }

.header-logo { flex: 0 0 auto; }
.header-logo img { border-radius: 50%; box-shadow: 0 0 0 5px #fff, 0 16px 30px -14px rgb(29 58 95 / 0.55); transition: transform 0.5s cubic-bezier(.2,.8,.2,1); }
.header-logo a:hover img { transform: rotate(-8deg) scale(1.06); }
.home .header-logo { visibility: hidden; }

.nav-mobile { display: none !important; }
.wp-block-navigation__responsive-container-open {
	width: 3rem; height: 3rem; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--wp--preset--color--dark); box-shadow: var(--shadow-sm);
}
.wp-block-navigation__responsive-container.is-menu-open { background: linear-gradient(180deg, #a9d0f3, #f5f9fe) !important; padding: 1.5rem !important; }
.wp-block-navigation__responsive-container.is-menu-open::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0.8; background: var(--cloud-far) 0 55% / 1200px 300px repeat-x;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.35rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; background: transparent !important; }
@media (max-width: 900px) {
	.wolke-header { justify-content: space-between !important; align-items: center !important; padding-top: 0.75rem; }
	.wolke-header .nav-left, .wolke-header .nav-right { display: none !important; }
	.nav-mobile { display: flex !important; }
	.header-logo img { width: 72px !important; height: 72px !important; }
	header.is-scrolled .header-logo img { width: 50px !important; height: 50px !important; }
}

/* ---------------------------------------------------------- Startseite: Held */
.hero-wolke { position: relative; padding-top: clamp(0.5rem, 2vw, 1.5rem); padding-bottom: 0; margin-top: 0 !important; text-align: center; }
.hero-deko { position: absolute; inset: 0 0 -10vh; overflow: hidden; pointer-events: none; z-index: 0; }
.balloon { position: absolute; bottom: -120px; width: 34px; height: 76px; background: var(--balloon-pink) center / contain no-repeat; animation: rise 22s linear infinite; }
.balloon.b1 { left: 8%; animation-delay: -2s; }
.balloon.b2 { left: 18%; width: 24px; height: 54px; background-image: var(--balloon-blue); animation-duration: 28s; animation-delay: -14s; }
.balloon.b3 { left: 29%; width: 20px; height: 45px; background-image: var(--balloon-white); animation-duration: 25s; animation-delay: -8s; }
.balloon.b4 { right: 9%; animation-duration: 26s; animation-delay: -18s; }
.balloon.b5 { right: 20%; width: 26px; height: 58px; background-image: var(--balloon-blue); animation-duration: 24s; animation-delay: -4s; }
.balloon.b6 { right: 31%; width: 18px; height: 40px; animation-duration: 30s; animation-delay: -22s; }
.balloon.b7 { left: 45%; width: 16px; height: 36px; background-image: var(--balloon-white); animation-duration: 34s; animation-delay: -11s; }
.hero-wolke > *:not(.hero-deko):not(.hero-bank) { position: relative; z-index: 3; }
.hero-logo { margin-bottom: 0.5rem !important; }
.hero-logo img {
	width: min(430px, 78vw) !important; aspect-ratio: 1; border-radius: 50% !important;
	box-shadow: 0 0 0 12px rgb(255 255 255 / 0.6), 0 0 0 26px rgb(255 255 255 / 0.25), 0 50px 80px -40px rgb(29 58 95 / 0.6);
	animation: float 9s ease-in-out infinite;
}
.hero-title { margin: 0.2rem auto 0.8rem !important; font-size: clamp(2rem, 4.6vw, 3.3rem) !important; line-height: 1.15; }
.hero-title .script { display: block; font-size: 1.45em; line-height: 1.1; color: var(--wp--preset--color--primary); }
.hero-wolke .lead { max-width: 40rem; margin-inline: auto; }
.hero-bank {
	position: relative; z-index: 2 !important; height: clamp(120px, 16vw, 220px); width: 100vw; max-width: none !important; margin: 1rem calc(50% - 50vw) 0 !important; pointer-events: none;
	background: var(--bank) center bottom / 100% 100% no-repeat;
}

/* ---------------------------------------------------------- Startseite: Abschnitte */
.home-section { background: #fff; padding-block: clamp(3rem, 7vw, 5.5rem); margin-top: 0 !important; text-align: center; }
.home-section h2 { font-size: clamp(1.8rem, 3.6vw, 2.5rem); margin-top: 0.2rem; }
.home-post { padding-top: clamp(1rem, 3vw, 2rem); }
.post-card {
	position: relative; max-width: 640px; margin-inline: auto !important; padding: 5.5rem clamp(1.25rem, 4vw, 3rem) 2.5rem !important;
	border-radius: 40px; background: linear-gradient(180deg, var(--wp--preset--color--tint), #fff 60%);
	border: 2px dashed var(--wp--preset--color--sky-deep); margin-top: 6rem !important;
}
.post-img { position: absolute !important; top: -5.5rem; left: 50%; transform: translateX(-50%); margin: 0 !important; }
.post-img img { width: 170px !important; height: 170px; object-fit: cover; border-radius: 50% !important; box-shadow: 0 0 0 7px #fff, var(--shadow); }
.stamp {
	display: inline-block; margin: 0 auto 0.2rem !important; padding: 0.1rem 1.1rem; border-radius: 999px;
	font-size: 1.6rem; color: var(--wp--preset--color--blossom-deep); background: var(--wp--preset--color--blossom); transform: rotate(-3deg);
}
.post-card h2 { margin-top: 0.4rem !important; }

/* runde Porträts */
.orbs { gap: clamp(1.25rem, 4vw, 3rem) !important; margin-block: 2rem 2.25rem !important; }
.orb { position: relative; width: clamp(9.5rem, 20vw, 13rem); gap: 0.3rem !important; }
.orb .orb__img { margin: 0 !important; }
.orb .orb__img img {
	width: 100% !important; aspect-ratio: 1; object-fit: cover; border-radius: 50% !important;
	box-shadow: 0 0 0 6px #fff, 0 0 0 8px var(--wp--preset--color--sky), var(--shadow);
	transition: transform 0.45s cubic-bezier(.2,.8,.2,1), box-shadow 0.3s ease;
}
.orb:hover .orb__img img { transform: translateY(-8px) rotate(-3deg); box-shadow: 0 0 0 6px #fff, 0 0 0 8px var(--wp--preset--color--blossom-deep), var(--shadow); }
.orb__label { margin: 0.9rem 0 0 !important; line-height: 1.1; }
.orb__label a { color: var(--wp--preset--color--dark); text-decoration: none; }
.orb__label a::after { content: ""; position: absolute; inset: 0; border-radius: 50% 50% 24px 24px; }
.orb__name { font-size: 2rem; }
.orb__sub { margin: 0 !important; font-size: 0.88rem; color: var(--wp--preset--color--muted); }
.orb__badge {
	position: absolute; top: 0.2rem; right: 0.2rem; z-index: 2; display: grid; place-items: center;
	width: 2.9rem; height: 2.9rem; border-radius: 50%; background: var(--wp--preset--color--primary); color: #fff;
	font-family: var(--wp--preset--font-family--rounded); font-weight: 800; font-size: 1.3rem; box-shadow: 0 0 0 4px #fff;
}

/* Wurf-Alphabet als Girlande */
.section-tint {
	position: relative; margin-top: 70px !important; background: var(--wp--preset--color--tint);
	padding-top: clamp(2.5rem, 5vw, 4rem); padding-bottom: clamp(4rem, 8vw, 6rem);
}
.section-tint::before, .section-tint::after { content: ""; position: absolute; left: 0; right: 0; height: 70px; background-repeat: repeat-x; background-size: 440px 70px; }
.section-tint::before { top: -69px; background-image: var(--edge-tint); }
.section-tint::after { bottom: 0; background-image: var(--edge-white); }
.garland { position: relative; gap: 0.6rem 1.1rem !important; margin-top: 2.5rem !important; }
.garland::before {
	content: ""; position: absolute; left: 4%; right: 4%; top: 2.2rem; height: 60px; z-index: 0;
	border-top: 2px dashed var(--wp--preset--color--primary-light); border-radius: 50%;
}
.orb--small { width: 6.5rem; animation: sway 6s ease-in-out infinite; transform-origin: 50% -20px; }
.orb--small:nth-child(2n) { animation-delay: -1.5s; margin-top: 1.2rem; }
.orb--small:nth-child(3n) { animation-delay: -3s; }
.orb--small .orb__img img { box-shadow: 0 0 0 4px #fff, var(--shadow-sm); }
.orb--small .orb__name { font-size: 1.35rem; }
.orb--small .orb__badge { width: 2.1rem; height: 2.1rem; font-size: 1rem; top: -0.4rem; right: -0.4rem; }

/* Motto */
.home-motto { padding-top: clamp(2rem, 4vw, 3rem); }
.motto-img { margin: 0 auto !important; }
.motto-img img { width: 150px !important; height: 150px; object-fit: cover; border-radius: 50% !important; box-shadow: 0 0 0 6px var(--wp--preset--color--tint), var(--shadow); }
.script-quote { max-width: 46rem; margin: 1.5rem auto 0.3rem !important; font-size: clamp(2rem, 4.4vw, 3.1rem); line-height: 1.25; color: var(--wp--preset--color--dark); }
.script-quote em { font-style: normal; color: var(--wp--preset--color--primary); }
.home-motto p.has-text-align-center:not(.script-quote):not(.signature) { max-width: 36rem; margin-inline: auto; }

/* ---------------------------------------------------------- Unterseiten: Titel & Wolkenblatt */
.page-head { padding-top: clamp(1.5rem, 4vw, 2.75rem); padding-bottom: clamp(3.5rem, 7vw, 5rem); text-align: center; }
.page-kicker { margin-block: 0 !important; font-size: 1.9rem; color: var(--wp--preset--color--primary); }
.page-head h1 { margin-top: 0 !important; font-size: clamp(2.3rem, 5vw, 3.6rem); text-shadow: 0 2px 0 rgb(255 255 255 / 0.6); }
.cloud-sheet {
	position: relative; background: #fff; margin-top: 0 !important;
	padding-top: clamp(1.5rem, 4vw, 2.5rem); padding-bottom: clamp(4rem, 8vw, 6rem);
}
.cloud-sheet::before {
	content: ""; position: absolute; left: 0; right: 0; top: -69px; height: 70px;
	background: var(--edge-white) center top / 440px 70px repeat-x;
}

.page-body > h2, .page-body > .wp-block-heading { text-align: center; margin-top: clamp(2.5rem, 6vw, 4.5rem); }
.page-body > h2:first-child { margin-top: 0; }
.page-body h2.dog-name, .page-body > h2.has-text-align-center {
	font-family: var(--wp--preset--font-family--script); font-weight: 400; font-size: clamp(2.6rem, 5vw, 3.6rem); color: var(--wp--preset--color--primary);
}
.page-body > h2.has-text-align-center::before {
	content: ""; display: block; width: 3.2rem; height: 1.6rem; margin: 0 auto 0.2rem;
	background: var(--heart) left center / 1.1rem no-repeat, var(--heart-blue) center / 1.4rem no-repeat, var(--heart) right center / 1.1rem no-repeat;
}
.page-body .wp-block-list li::marker { color: var(--wp--preset--color--blossom-deep); content: "♥  "; font-size: 0.8em; }
.page-body .wp-block-list:not(.steckbrief__facts) { padding-left: 1.6rem; }
.page-body .lead { text-align: center; }
.page-body > .wp-block-image { text-align: center; }
.page-body > .wp-block-image img { max-height: 78vh; width: auto; border-radius: 28px; box-shadow: var(--shadow); }
.page-body .wp-block-columns { gap: clamp(1.25rem, 4vw, 3rem); }

/* Hunde-Vorstellung: rundes Porträt + Text in einer Sprechblase */
.dog-intro .wp-block-column:has(.wp-block-image) { flex: 0 0 min(340px, 100%) !important; }
.dog-intro .wp-block-image img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50% !important; box-shadow: 0 0 0 10px var(--wp--preset--color--tint), var(--shadow); }
.dog-intro .wp-block-column:not(:has(.wp-block-image)) {
	position: relative; padding: clamp(1.25rem, 3vw, 2rem); border-radius: 32px; background: var(--wp--preset--color--tint);
}
@media (min-width: 782px) {
	.dog-intro .wp-block-column:not(:has(.wp-block-image))::before {
		content: ""; position: absolute; left: -16px; top: 50%; margin-top: -16px; border: 16px solid transparent; border-left: 0; border-right-color: var(--wp--preset--color--tint);
	}
}

/* Steckbrief als Wolken-Etikett */
.steckbrief {
	display: flex; flex-direction: column; align-items: center; gap: 0.4rem !important; max-width: 640px; margin: 1.75rem auto 0 !important;
	padding: 1rem 1.5rem 1.2rem; border-radius: 999px / 70%; border: 2px dashed var(--wp--preset--color--sky-deep); background: #fff;
}
.steckbrief__name { margin: 0 !important; font-family: var(--wp--preset--font-family--script); font-size: 1.7rem; color: var(--wp--preset--color--dark); }
ul.steckbrief__facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.3rem 1.1rem; margin: 0 !important; padding: 0 !important; list-style: none; font-size: 0.95rem; }
.page-body ul.steckbrief__facts li::marker { content: none; }
ul.steckbrief__facts strong { color: var(--wp--preset--color--primary); font-weight: 600; }
@media (max-width: 600px) { .steckbrief { border-radius: 30px; } }

/* Galerien als Polaroids */
.wp-block-gallery.has-nested-images { margin-top: 1.75rem; }
.wp-block-gallery.has-nested-images figure.wp-block-image {
	padding: 8px 8px 28px; background: #fff; border-radius: 6px; box-shadow: 0 14px 28px -16px rgb(29 58 95 / 0.55), 0 0 0 1px rgb(29 58 95 / 0.05);
	transform: rotate(-1.8deg); transition: transform 0.35s cubic-bezier(.2,.8,.2,1), box-shadow 0.35s ease;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(2n) { transform: rotate(1.6deg); }
.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(3n) { transform: rotate(-0.6deg); }
.wp-block-gallery.has-nested-images figure.wp-block-image:hover { transform: rotate(0) scale(1.04); z-index: 2; box-shadow: 0 24px 40px -20px rgb(29 58 95 / 0.6); }
.wp-block-gallery.has-nested-images figure.wp-block-image img { border-radius: 2px !important; }

/* Welpen-Übersicht */
.litters { gap: clamp(1.5rem, 4vw, 3rem) 2rem !important; }
.orb--litter { width: clamp(10rem, 22vw, 14rem); }

/* Buttons: weich & rund */
.wp-block-button__link { font-family: var(--wp--preset--font-family--rounded); box-shadow: 0 12px 22px -12px rgb(58 110 168 / 0.9); transition: background 0.25s ease, transform 0.25s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.is-style-outline > .wp-block-button__link { background: #fff; color: var(--wp--preset--color--primary); border: 2px solid var(--wp--preset--color--sky-deep); box-shadow: none; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: var(--wp--preset--color--primary); background: var(--wp--preset--color--tint); }

/* ---------------------------------------------------------- Fuß: helle Wolke */
footer.wp-block-template-part { margin-top: 0; }
.wolke-footer {
	position: relative; margin-top: 0 !important; text-align: center; color: var(--wp--preset--color--dark);
	padding-top: calc(70px + clamp(2rem, 5vw, 3.5rem)) !important; padding-bottom: 1.5rem !important;
	background: var(--edge-top-white) center top / 440px 70px repeat-x, linear-gradient(180deg, #dcedfb, #b9daf6);
}
.footer-logo { margin-bottom: 0 !important; }
.footer-logo img { border-radius: 50%; box-shadow: 0 0 0 5px #fff, var(--shadow-sm); }
.footer-script { margin-block: 0.4rem 1rem !important; font-size: 2.1rem; color: var(--wp--preset--color--primary); }
.footer-contact { gap: 0.6rem 1rem !important; }
.footer-contact .fc {
	margin: 0 !important; padding: 0.55rem 1.1rem 0.55rem 2.6rem; border-radius: 999px; background-color: #fff; box-shadow: var(--shadow-sm);
	background-repeat: no-repeat; background-position: 0.9rem center; background-size: 1.1rem;
}
.fc-home { background-image: var(--ic-home); }
.fc-phone { background-image: var(--ic-phone); }
.fc-mail { background-image: var(--ic-mail); }
.footer-contact a { color: var(--wp--preset--color--dark); text-decoration: none; }
.footer-contact a:hover { color: var(--wp--preset--color--primary); }
.footer-links { margin-top: 1.4rem !important; }
.footer-links a { color: var(--wp--preset--color--dark); }
.footer-links span { margin: 0 0.5rem; color: var(--wp--preset--color--blossom-deep); font-size: 0.85em; }
.footer-bottom { margin-top: 1.25rem !important; font-size: 0.82rem; color: var(--wp--preset--color--muted); }

/* ---------------------------------------------------------- Bewegung reduzieren */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.balloon { display: none; }
}

/* ---------------------------------------------------------- Gästebuch (Gwolle) */
/* ---------------------------------------------------------- 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--blossom-deep); 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(58 110 168 / 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--blossom-deep); }
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(58 110 168 / 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(58 110 168 / 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--blossom-deep); }
.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(58 110 168 / 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--blossom-deep); 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(58 110 168 / 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--blossom-deep); }
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(58 110 168 / 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--rounded); 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--rounded);
	background: var(--wp--preset--color--blossom); color: var(--wp--preset--color--blossom-deep);
}
.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: #1d3a5f; }
.gwolle-gb .gb-tone-3 .gb-avatar { background: #fbe4ec; color: #a2405c; }
.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--rounded); 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; }
