:root {
  /* Palette tokens (overridden by :root[data-kolk-palette="…"]). */
  --color-accent: #f4b41a;
  --color-accent-rgb: 244 180 26;
  --color-accent-hover: #EAA60D;
  --color-text: #0b1324;
  --color-text-muted: var(--color-text);
  --color-surface: #0f172a;
  --color-bg-alt: #E7E6E3;
  --color-surface-2: var(--color-bg-alt);
  --color-card: #fff;
  --color-bg: #F6F5F2;
  --color-on-contrast: #fff;
  --color-muted: #4a5568;
  --color-border: rgba(15,23,42,.08);
  --color-border-2: rgba(15,23,42,.10);
  --color-border-3: rgba(15,23,42,.14);
  --color-outline: rgba(15,23,42,.18);
  --color-outline-hover: rgba(15,23,42,.26);
  --kolk-gutter: clamp(18px, 4vw, 72px);
  --kolk-content-width: min(calc(100vw - (2 * var(--kolk-gutter))), 980px);
  --kolk-wide-width: min(calc(100vw - (2 * var(--kolk-gutter))), 1320px);
  --responsive--aligndefault-width: var(--kolk-content-width);
  --responsive--alignwide-width: var(--kolk-wide-width);
  --responsive--alignright-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
  --responsive--alignleft-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
  --space-2xs: 8px;
  --space-xs: 12px;
  --space-s: 16px;
  --space-m: 24px;
  --space-l: 32px;
  --space-xl: 48px;
  --radius-s: 8px;
  --radius-m: 12px;
  --shadow-soft: 0 6px 24px rgba(0,0,0,0.12);

  /* Tie into Twenty Twenty-One + block defaults. */
  --global--color-primary: var(--color-text);
  --global--color-secondary: var(--color-text);
  --global--color-primary-hover: var(--color-text);
  --global--color-background: var(--color-bg);
  --global--color-border: var(--color-border-3);
  --wp--style--color--link: var(--color-text);
  --button--color-background: var(--color-accent);
  --button--color-text: var(--color-text);
}

:root[data-kolk-palette="forest"]{
  --color-accent: #2f855a;
  --color-accent-rgb: 47 133 90;
  --color-accent-hover: #276749;
  --color-surface: #0b1f16;
  --color-bg-alt: #D7EBDD;
  --color-surface-2: var(--color-bg-alt);
  --color-bg: #EAF7EF;
}

:root[data-kolk-palette="ocean"]{
  --color-accent: #0ea5e9;
  --color-accent-rgb: 14 165 233;
  --color-accent-hover: #0284c7;
  --color-surface: #082f49;
  --color-bg-alt: #D6E9F7;
  --color-surface-2: var(--color-bg-alt);
  --color-bg: #E6F4FF;
}

:root[data-kolk-palette="berry"]{
  --color-accent: #db2777;
  --color-accent-rgb: 219 39 119;
  --color-accent-hover: #be185d;
  --color-surface: #2a0f1f;
  --color-bg-alt: #F0E3E8;
  --color-surface-2: var(--color-bg-alt);
  --color-bg: #FFF1F7;
}

body { font-size: clamp(16px, 1.6vw, 18px); line-height: 1.6; color: var(--color-text); }

h1 { font-size: clamp(32px, 4vw, 46px); line-height: 1.15; }
h2 { font-size: clamp(26px, 3vw, 34px); line-height: 1.2; margin-top: var(--space-l); }
h3 { font-size: clamp(20px, 2.4vw, 26px); margin-top: var(--space-m); }

p, ul, ol { margin-bottom: var(--space-m); color: var(--color-text); }
ul, ol { padding-left: var(--space-l); }

body { overflow-x: clip; }
.site { padding-left: var(--kolk-gutter); padding-right: var(--kolk-gutter); }

/* Hero blocks */
.wp-block-cover.kolk-hero{
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(15,23,42,.08);
}

@media (max-width: 782px){
  .wp-block-cover.kolk-hero{ border-radius: 14px; }
}

/* Homepage (page-id-11): override legacy per-page inline styles so palettes apply. */
body.page-id-11,
body.home.page-id-11{
  background: var(--color-bg) !important;
}

body.page-id-11 .wp-block-cover.kolk-hero{ min-height: 600px; }
body.page-id-11 .kolk-eyebrow{ letter-spacing: .08em; text-transform: uppercase; font-weight: 800; opacity: .92; font-size: 12px; }
body.page-id-11 .kolk-lead{ font-size: clamp(18px, 2.2vw, 22px); line-height: 1.6; max-width: 60ch; opacity: .92; }
body.page-id-11 .kolk-hero h1{ max-width: 24ch; text-wrap: balance; }

body.page-id-11 .kolk-section{ padding: 64px 0; }
body.page-id-11 .kolk-section--tight{ padding: 52px 0; }
body.page-id-11 .kolk-surface{ background: var(--color-surface-2) !important; }
body.home.page-id-11 #post-11 .entry-content .kolk-surface{ background: var(--color-surface-2) !important; }

body.page-id-11 .wp-block-columns{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
  align-items: stretch;
}
body.page-id-11 .wp-block-column{ width: auto !important; min-width: 0; }

body.page-id-11 .kolk-card{
  background: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
  height: 100%;
}

/* Ensure palette styles win over the HTML block's <style> on the homepage. */
body.home.page-id-11 .kolk-card{
  background: var(--color-card) !important;
  border-color: var(--color-border) !important;
}
body.page-id-11 .kolk-card h3{ margin-top: 0; }
body.page-id-11 .kolk-card p{ color: var(--color-text-muted); }
body.home.page-id-11 .kolk-card p{ color: var(--color-text-muted) !important; }

body.page-id-11 .kolk-links a{ font-weight: 800; text-decoration-thickness: 2px; }

/* Ensure the homepage hero primary button follows the active palette. */
body.home.page-id-11 #post-11 .entry-content .kolk-primary .wp-block-button__link{
  background: var(--color-accent) !important;
  color: var(--color-text) !important;
}
body.home.page-id-11 #post-11 .entry-content .kolk-primary .wp-block-button__link:hover{
  background: var(--color-accent-hover) !important;
}

body.page-id-11 .kolk-cta{
  background: radial-gradient(1200px 600px at 15% 0%, rgb(var(--color-accent-rgb) / .16) 0%, rgba(15,23,42,0) 55%), var(--color-surface);
  color: var(--color-on-contrast);
  border-radius: 18px;
  padding: 34px 24px;
  border: 1px solid rgba(255,255,255,.10);
}

body.home.page-id-11 .kolk-cta{
  background: radial-gradient(1200px 600px at 15% 0%, rgb(var(--color-accent-rgb) / .16) 0%, rgba(15,23,42,0) 55%), var(--color-surface) !important;
}
body.page-id-11 .kolk-cta .wp-block-heading,
body.page-id-11 .kolk-cta p{ color: var(--color-on-contrast); }
body.page-id-11 .kolk-cta a{ color: var(--color-on-contrast); }

body.page-id-11 .kolk-card__media{ margin: 0 0 14px 0; }
body.page-id-11 .kolk-card__media img{
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 14px;
}

body.page-id-11 .kolk-collage{ padding-top: 56px; padding-bottom: 56px; }
body.page-id-11 .kolk-collage-grid{ grid-template-columns: 1fr; }
body.page-id-11 .kolk-collage__img,
body.page-id-11 .kolk-collage-stack .wp-block-image{ margin: 0; }
body.page-id-11 .kolk-collage__img img,
body.page-id-11 .kolk-collage-stack img{
  width: 100%;
  height: 240px;
  object-fit: cover;
  border-radius: 18px;
}
body.page-id-11 .kolk-collage-stack{ display: grid; gap: 22px; }

@media (max-width: 782px){
  body.page-id-11 .wp-block-cover.kolk-hero{ min-height: 560px; }
  body.page-id-11 .kolk-card{ padding: 18px; }
  body.page-id-11 .wp-block-columns{ grid-template-columns: 1fr; gap: 14px; }
}

@media (min-width: 900px){
  body.page-id-11 .wp-block-columns{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
  }
  body.page-id-11 .kolk-collage-grid{ grid-template-columns: 1.7fr 1fr; gap: 22px; }
  body.page-id-11 .kolk-collage__img img{ height: 520px; }
  body.page-id-11 .kolk-collage-stack img{ height: 249px; }
}

/* Top-level wrappers full width (content width still controlled per-block by TT1 responsive variables). */
.site-header,
.site-main,
.widget-area,
.site-footer{
  max-width: none;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.site .wp-block-group.alignfull > .wp-block-group__inner-container,
.site .wp-block-cover.alignfull > .wp-block-cover__inner-container{
  padding-left: var(--kolk-gutter);
  padding-right: var(--kolk-gutter);
}

/* Header should follow the palette backgrounds (can still be overridden by header-customizer settings). */
.site-header{
  background: var(--color-bg);
  border-bottom: 1px solid var(--color-border);
}

/* Header branding: logo left of title, responsive sizing. */
.site-header .site-branding .kolk-branding-row{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.site-header .site-branding .kolk-branding-text{
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.site-header .site-logo{
  margin: 0;
  line-height: 0;
  flex: 0 0 auto;
}

.site-header .custom-logo-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.site-header .site-logo img{
  width: auto;
  height: auto;
  max-height: 54px;
  transform-origin: center;
}

.site-header .site-logo.kolk-logo--flip img{
  transform: scaleX(-1);
}

.site-header .kolk-branding-text .site-title,
.site-header .kolk-branding-text .site-description{
  margin: 0;
}

@media (max-width: 782px){
  .site-header .site-branding .kolk-branding-row{ gap: 10px; }
  .site-header .site-logo img{ max-height: 42px; }
}

/* Navigation (do not override TT1 mobile overlay positioning) */
@media (min-width: 482px){
  .primary-navigation .menu-wrapper > li > a { padding: var(--space-xs) var(--space-s); font-weight: 600; }
}
.menu-button, .menu-toggle { min-height: 44px; min-width: 44px; border-radius: var(--radius-s); }

/* Buttons */
.wp-block-buttons{
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
}

/* Make sibling buttons harmonize in size (also overrides Gutenberg width-* helpers). */
.wp-block-buttons:not(.is-vertical) > .wp-block-button{
  flex: 1 1 220px;
  min-width: 0;
  display: flex;
  width: auto !important;
  max-width: none;
}

.wp-block-buttons:not(.is-vertical) > .wp-block-button{
  --kolk-button-max: 360px;
}

@media (min-width: 783px){
  /* Desktop: keep equal-sized buttons, but don’t let single CTAs stretch across the whole row. */
  .wp-block-buttons:not(.is-vertical) > .wp-block-button{
    flex: 1 1 220px;
    max-width: var(--kolk-button-max);
  }

  .wp-block-buttons.alignwide:not(.is-vertical) > .wp-block-button{
    --kolk-button-max: 420px;
  }
}

.wp-block-buttons:not(.is-vertical) > .wp-block-button.wp-block-button__width-25,
.wp-block-buttons:not(.is-vertical) > .wp-block-button.wp-block-button__width-50,
.wp-block-buttons:not(.is-vertical) > .wp-block-button.wp-block-button__width-75{
  width: auto !important;
}

.wp-block-buttons > .wp-block-button .wp-block-button__link{
  width: 100%;
}

/* Button base (override Twenty Twenty-One + block library defaults). */
.site .button,
button,
input[type=submit],
input[type=reset],
.wp-block-search .wp-block-search__button,
.wp-block-button .wp-block-button__link,
.wp-block-file a.wp-block-file__button,
.wp-element-button{
  min-height: 44px;
  padding: 12px 18px;
  border-radius: var(--radius-s);
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid transparent;
  background: var(--color-accent);
  color: var(--color-text);
  cursor: pointer;
  transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.site .button:hover,
button:hover,
input[type=submit]:hover,
input[type=reset]:hover,
.wp-block-search .wp-block-search__button:hover,
.wp-block-button .wp-block-button__link:hover,
.wp-block-file a.wp-block-file__button:hover,
.wp-element-button:hover{
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
  background: var(--color-accent-hover);
  color: var(--color-text);
}

.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-element-button{
  border-color: var(--color-outline);
  background: transparent;
  color: var(--color-text);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-element-button:hover{
  background: rgb(var(--color-accent-rgb) / 0.14);
  border-color: var(--color-outline-hover);
  color: var(--color-text);
}

/* Cards & images */
.wp-block-image img, .wp-block-cover img { border-radius: var(--radius-m); }
.wp-block-group { gap: var(--space-s); }

/* Cover text padding */
.wp-block-cover__inner-container { padding: var(--space-m) max(16px, 3vw); }

/* Columns: stack on mobile */
.wp-block-columns { gap: var(--space-m); }
@media (max-width: 900px) {
  .wp-block-columns { flex-direction: column; }
}

/* Lists tighter on mobile */
@media (max-width: 782px) {
  :root { --kolk-gutter: 16px; }
  .site { padding-left: var(--kolk-gutter); padding-right: var(--kolk-gutter); }
  h1 { font-size: clamp(28px, 7vw, 34px); }
  h2 { font-size: clamp(22px, 6vw, 28px); }
  .wp-block-cover__inner-container { padding: var(--space-m); }
}

/* Accessibility: focus states */
a:focus-visible,
button:focus-visible,
input[type=submit]:focus-visible,
.wp-block-button__link:focus-visible,
.wp-element-button:focus-visible{
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgb(var(--color-accent-rgb) / 0.25);
}

/* Gallery tweaks */
.wp-block-gallery .wp-block-image img { object-fit: cover; }

/* Subtle link hover */
a { text-underline-offset: 0.18em; }

/* Content links may use the accent, but header/menu links should stay neutral. */
.site-main a:not(.wp-element-button):not(.wp-block-button__link):not(.wp-block-file__button):not(.button):not(.menu-toggle):not(.menu-button){
  text-decoration-color: rgb(var(--color-accent-rgb) / 0.55);
}
.site-main a:not(.wp-element-button):not(.wp-block-button__link):not(.wp-block-file__button):not(.button):not(.menu-toggle):not(.menu-button):is(:hover, :focus){
  color: var(--color-accent);
}
.site-header :is(a, a:visited, a:hover, a:focus){ color: var(--color-text); }
.site-header .menu-wrapper > li > a:hover{ text-decoration-color: rgb(var(--color-accent-rgb) / 0.9); }

/* Page: Impressum (lokal, page-id-22) */
body.page-id-22 { background: var(--color-bg); }

body.page-id-22 #post-22 .entry-header{
  display: none;
}

body.page-id-22 #post-22 .entry-content{
  --kolk-card-pad: clamp(18px, 4vw, 56px);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
  padding: var(--kolk-card-pad);
  margin-top: var(--space-m);
  text-align: left;
  max-width: var(--kolk-wide-width);
  margin-left: auto;
  margin-right: auto;
}

body.page-id-22 #post-22 .entry-content > .wp-block-cover.kolk-hero:first-child{
  margin: calc(var(--kolk-card-pad) * -1) calc(var(--kolk-card-pad) * -1) var(--space-l);
  width: calc(100% + (2 * var(--kolk-card-pad)));
  max-width: none;
}

body.page-id-22 #post-22 .entry-content .wp-block-heading{
  text-align: left;
  max-width: 72ch;
}

body.page-id-22 #post-22 .entry-content p{
  max-width: 72ch;
  color: var(--color-text-muted);
  text-align: left;
}

body.page-id-22 #post-22 .entry-content p strong{
  color: var(--color-text);
}

body.page-id-22 #post-22 .entry-content .wp-block-separator{
  margin: var(--space-l) 0;
  opacity: .16;
  max-width: 72ch;
}

body.page-id-22 #post-22 .entry-content .wp-block-separator.kolk-hero-divider{
  width: 92px;
  margin: 16px 0 14px 0;
  opacity: .7;
}

body.page-id-22 #post-22 .entry-content .kolk-eyebrow{
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 800;
  font-size: 12px;
  margin: 0;
}

/* Page: Über uns & Zuchtziel (lokal, page-id-12) */
body.page-id-12 { background: var(--color-bg); }

body.page-id-12 #post-12 .entry-header{ display: none; }

body.page-id-12 #post-12 .entry-content{ margin-top: 0; }

body.page-id-12 #post-12 .entry-content > .wp-block-group{
  --kolk-card-pad: clamp(18px, 4vw, 56px);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
  padding: var(--kolk-card-pad) !important;
  max-width: var(--kolk-wide-width);
  margin-left: auto;
  margin-right: auto;
}

body.page-id-12 #post-12 .entry-content > .wp-block-group > .wp-block-group__inner-container > :where(h2, h3, p, ul){
  max-width: 72ch;
}

body.page-id-12 #post-12 .entry-content > .wp-block-group > .wp-block-heading:first-child{
  margin-top: 0;
}

body.page-id-12 #post-12 .entry-content .wp-block-buttons{
  gap: 10px;
  margin-top: var(--space-m);
}

body.page-id-12 #post-12 .entry-content ul.wp-block-list{
  padding-left: 1.1em;
}

body.page-id-12 #post-12 .entry-content ul.wp-block-list li{
  margin-bottom: 10px;
  color: var(--color-text-muted);
}

/* Page: Zuchttiere (lokal, page-id-13) */
body.page-id-13 { background: var(--color-bg); }

body.page-id-13 #post-13 .entry-header{ display: none; }

body.page-id-13 #post-13 .entry-content{ margin-top: 0; }

body.page-id-13 #post-13 .entry-content > .wp-block-group{
  --kolk-card-pad: clamp(18px, 4vw, 56px);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
  padding: var(--kolk-card-pad) !important;
  max-width: var(--kolk-wide-width);
  margin-left: auto;
  margin-right: auto;
}

body.page-id-13 #post-13 .entry-content > .wp-block-group > .wp-block-group__inner-container > :where(h2, p){
  max-width: 72ch;
}

body.page-id-13 #post-13 .entry-content > .wp-block-group > .wp-block-group__inner-container > :where(h2){
  margin-top: 0;
}

/* Turn the existing Columns into consistent "cards" like on the homepage (no content changes). */
body.page-id-13 #post-13 .entry-content .wp-block-columns{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
  align-items: stretch;
  margin-top: var(--space-l);
}

body.page-id-13 #post-13 .entry-content .wp-block-column{
  width: auto !important;
  min-width: 0;
  background: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
  padding: 22px;
}

body.page-id-13 #post-13 .entry-content .wp-block-column > *{
  margin-top: 0;
}

body.page-id-13 #post-13 .entry-content .wp-block-column figure.wp-block-image{
  margin: 0 0 14px 0;
}

body.page-id-13 #post-13 .entry-content .wp-block-column figure.wp-block-image img{
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 14px;
}

body.page-id-13 #post-13 .entry-content .wp-block-column h3{
  margin: 0 0 10px 0;
}

body.page-id-13 #post-13 .entry-content .wp-block-column ul{
  margin: 0;
  padding-left: 1.1em;
}

body.page-id-13 #post-13 .entry-content .wp-block-column li{
  margin-bottom: 10px;
  color: var(--color-text-muted);
}

body.page-id-13 #post-13 .entry-content a{
  font-weight: 800;
  text-decoration-thickness: 2px;
}

@media (max-width: 782px){
  body.page-id-13 #post-13 .entry-content .wp-block-column{
    padding: 18px;
  }
  body.page-id-13 #post-13 .entry-content .wp-block-column figure.wp-block-image img{
    height: 160px;
  }
}

/* Page: Welpen (lokal, page-id-14) */
body.page-id-14 { background: var(--color-bg); }

body.page-id-14 #post-14 .entry-header{ display: none; }

body.page-id-14 #post-14 .entry-content{ margin-top: 0; }

body.page-id-14 #post-14 .entry-content > .wp-block-group{
  --kolk-card-pad: clamp(18px, 4vw, 56px);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
  padding: var(--kolk-card-pad) !important;
  max-width: var(--kolk-wide-width);
  margin-left: auto;
  margin-right: auto;
}

body.page-id-14 #post-14 .entry-content > .wp-block-group > .wp-block-group__inner-container > :where(h2, h3, p, ul, details){
  max-width: 72ch;
}

body.page-id-14 #post-14 .entry-content > .wp-block-group > .wp-block-group__inner-container > :where(h2):first-child{
  margin-top: 0;
}

/* Media + intro should look like a calm hero card area */
body.page-id-14 #post-14 .entry-content .wp-block-media-text.alignwide{
  max-width: none;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 1.4fr;
  gap: 22px;
  align-items: start;
  margin-top: var(--space-l);
  margin-bottom: var(--space-l);
}

body.page-id-14 #post-14 .entry-content .wp-block-media-text__media{
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(15,23,42,.08);
}

body.page-id-14 #post-14 .entry-content .wp-block-media-text__media img{
  width: 100%;
  height: clamp(220px, 22vw, 340px);
  object-fit: cover;
  border-radius: 0;
}

body.page-id-14 #post-14 .entry-content .wp-block-media-text__content{
  background: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body.page-id-14 #post-14 .entry-content .wp-block-media-text__content > :where(p){
  max-width: 60ch;
}

body.page-id-14 #post-14 .entry-content .wp-block-buttons{
  gap: 10px;
  margin-top: var(--space-m);
}

body.page-id-14 #post-14 .entry-content ul.wp-block-list{
  padding-left: 1.1em;
}

body.page-id-14 #post-14 .entry-content ul.wp-block-list li{
  margin-bottom: 10px;
  color: var(--color-text-muted);
}

/* FAQ details should feel like a component (quiet borders, clear affordance). */
body.page-id-14 #post-14 .entry-content details.wp-block-details{
  background: var(--color-card);
  border: 1px solid var(--color-border-2);
  border-radius: 14px;
  box-shadow: 0 1px 0 rgba(15,23,42,.04);
  padding: 14px 16px;
}

body.page-id-14 #post-14 .entry-content details.wp-block-details + details.wp-block-details{
  margin-top: 12px;
}

body.page-id-14 #post-14 .entry-content details.wp-block-details summary{
  font-weight: 800;
  cursor: pointer;
}

body.page-id-14 #post-14 .entry-content details.wp-block-details[open]{
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
}

@media (max-width: 782px){
  body.page-id-14 #post-14 .entry-content .wp-block-media-text.alignwide{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  body.page-id-14 #post-14 .entry-content .wp-block-media-text__media img{
    min-height: 220px;
  }
  body.page-id-14 #post-14 .entry-content .wp-block-media-text__content{
    padding: 18px;
  }
}

/* Page: Aktueller Wurf (lokal, page-id-15) */
body.page-id-15 { background: var(--color-bg); }

body.page-id-15 #post-15 .entry-header{ display: none; }

body.page-id-15 #post-15 .entry-content{ margin-top: 0; }

body.page-id-15 #post-15 .entry-content > .wp-block-group{
  --kolk-card-pad: clamp(18px, 4vw, 56px);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
  padding: var(--kolk-card-pad) !important;
  max-width: var(--kolk-wide-width);
  margin-left: auto;
  margin-right: auto;
}

body.page-id-15 #post-15 .entry-content > .wp-block-group > .wp-block-group__inner-container > :where(h2, h3, p, ul, .wp-block-buttons){
  max-width: 72ch;
}

body.page-id-15 #post-15 .entry-content > .wp-block-group > .wp-block-group__inner-container > :where(h2):first-child{
  margin-top: 0;
}

body.page-id-15 #post-15 .entry-content ul.wp-block-list{
  padding-left: 1.1em;
}

body.page-id-15 #post-15 .entry-content ul.wp-block-list li{
  margin-bottom: 10px;
  color: var(--color-text-muted);
}

body.page-id-15 #post-15 .entry-content .wp-block-buttons{
  gap: 10px;
  margin-top: var(--space-m);
}

/* Page: Hundewissen A–Z (lokal, page-id-20) */
body.page-id-20 { background: var(--color-bg); }

body.page-id-20 #post-20 .entry-header{ display: none; }

body.page-id-20 #post-20 .entry-content{ margin-top: 0; }

body.page-id-20 #post-20 .entry-content > .wp-block-cover.kolk-hero:first-child{
  margin-bottom: var(--space-l);
}

body.page-id-20 #post-20 .entry-content > .wp-block-group{
  --kolk-card-pad: clamp(18px, 4vw, 56px);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
  padding: var(--kolk-card-pad) !important;
  max-width: var(--kolk-wide-width);
  margin-left: auto;
  margin-right: auto;
}

body.page-id-20 #post-20 .entry-content > .wp-block-group > .wp-block-group__inner-container > :where(h2, h3, p, ul){
  max-width: 72ch;
}

/* A–Z anchors should read like sections, not random huge gaps. */
body.page-id-20 #post-20 .entry-content h2[id]{
  margin-top: calc(var(--space-xl) + 10px);
  padding-top: 10px;
  border-top: 1px solid var(--color-border-2);
}

body.page-id-20 #post-20 .entry-content h3{
  margin-top: var(--space-m);
}

body.page-id-20 #post-20 .entry-content p{
  color: var(--color-text-muted);
}

body.page-id-20 #post-20 .entry-content a{
  font-weight: 800;
  text-decoration-thickness: 2px;
}

/* Page: Kontakt (lokal, page-id-21) */
body.page-id-21 { background: var(--color-bg); }

body.page-id-21 #post-21 .entry-header{ display: none; }

body.page-id-21 #post-21 .entry-content{ margin-top: 0; }

body.page-id-21 #post-21 .entry-content > .wp-block-group{
  --kolk-card-pad: clamp(18px, 4vw, 56px);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
  padding: var(--kolk-card-pad) !important;
  max-width: var(--kolk-wide-width);
  margin-left: auto;
  margin-right: auto;
}

body.page-id-21 #post-21 .entry-content > .wp-block-group > .wp-block-group__inner-container > :where(h2, h3, p, ul, .wp-block-buttons, form){
  max-width: 72ch;
}

body.page-id-21 #post-21 .entry-content > .wp-block-group > .wp-block-group__inner-container > :where(h2):first-child{
  margin-top: 0;
}

/* Two-column layout should feel like "info" + "form card" */
body.page-id-21 #post-21 .entry-content .wp-block-columns{
  display: grid !important;
  grid-template-columns: 1fr 1.2fr;
  gap: 18px;
  align-items: start;
  margin-top: var(--space-l);
  margin-bottom: var(--space-l);
}

body.page-id-21 #post-21 .entry-content .wp-block-column{
  width: auto !important;
  min-width: 0;
  background: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
  padding: 22px;
}

body.page-id-21 #post-21 .entry-content .wp-block-column > :first-child{
  margin-top: 0;
}

body.page-id-21 #post-21 .entry-content ul.wp-block-list{
  padding-left: 1.1em;
}

body.page-id-21 #post-21 .entry-content ul.wp-block-list li{
  margin-bottom: 10px;
  color: var(--color-text-muted);
}

/* Contact form (shortcode) */
body.page-id-21 #post-21 .entry-content .kolk-contact-form{
  margin: 0;
}

body.page-id-21 #post-21 .entry-content .kolk-contact-form p{
  margin: 0 0 12px 0;
  max-width: none;
}

body.page-id-21 #post-21 .entry-content .kolk-contact-form label{
  font-weight: 700;
  color: var(--color-text);
}

body.page-id-21 #post-21 .entry-content .kolk-contact-form input,
body.page-id-21 #post-21 .entry-content .kolk-contact-form select,
body.page-id-21 #post-21 .entry-content .kolk-contact-form textarea{
  width: 100%;
  border: 1px solid var(--color-border-3);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 16px;
  background: var(--color-card);
}

body.page-id-21 #post-21 .entry-content .kolk-contact-form textarea{
  min-height: 140px;
}

body.page-id-21 #post-21 .entry-content .kolk-contact-form button[type=submit]{
  width: 100%;
  border-radius: var(--radius-s);
}

@media (max-width: 900px){
  body.page-id-21 #post-21 .entry-content .wp-block-columns{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  body.page-id-21 #post-21 .entry-content .wp-block-column{
    padding: 18px;
  }
}

/* Page: Datenschutz (lokal, page-id-23) */
body.page-id-23 { background: var(--color-bg); }

body.page-id-23 #post-23 .entry-header{ display: none; }

body.page-id-23 #post-23 .entry-content{
  margin-top: 0;
  --kolk-card-pad: clamp(18px, 4vw, 56px);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
  padding: var(--kolk-card-pad);
  max-width: var(--kolk-wide-width);
  margin-left: auto;
  margin-right: auto;
}

body.page-id-23 #post-23 .entry-content > .wp-block-cover.kolk-hero:first-child{
  margin: calc(var(--kolk-card-pad) * -1) calc(var(--kolk-card-pad) * -1) var(--space-l);
  width: calc(100% + (2 * var(--kolk-card-pad)));
  max-width: none;
}

body.page-id-23 #post-23 .entry-content > :where(h2, h3, p, ul){
  max-width: 78ch;
}

body.page-id-23 #post-23 .entry-content h2{
  margin-top: var(--space-l);
}

body.page-id-23 #post-23 .entry-content h2:first-child{
  margin-top: 0;
}

body.page-id-23 #post-23 .entry-content p{
  color: var(--color-text-muted);
}

body.page-id-23 #post-23 .entry-content a{
  font-weight: 800;
  text-decoration-thickness: 2px;
}

body.page-id-23 #post-23 .entry-content code{
  font-size: .95em;
}

/* (Mobile-specific header rules removed; hero is now a Cover block in content.) */
