/* =========================================================================
   DiBiSKreativ — Vorlagen-CSS (Kopf, Fuß, Sektionen, Inhaltsseiten)
   1:1 aus dem Mockup. Utilities global (Kopf/Fuß liegen außerhalb .dbk-canvas).
   Farben/Detail als Inline-Styles im Markup; Fonts aus redesign.css.
   ========================================================================= */
*{ box-sizing:border-box; }
body.dbk-home, body.dbk-sub{ margin:0; }

.wrap{ max-width:1200px; margin:0 auto; padding:0 40px; }
.cols2{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.g3{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.mkt3{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
/* Galerie: justiert (Magazin-Stil) — jede Reihe volle Breite, Bilder im Original-Verhältnis */
.dbk-justified{ display:flex; flex-wrap:wrap; gap:12px; }
.dbk-justified .dbk-jitem{ height:240px; overflow:hidden; border-radius:12px; display:block; }
.dbk-justified .dbk-jitem img{ transition:transform .45s ease; }
.dbk-justified .dbk-jitem:hover img{ transform:scale(1.05); }
/* letzte Reihe füllt die Breite mit (kein Leerraum) */
a.nav{ color:inherit; text-decoration:none; }
a.nav:hover{ opacity:.8; }

.btn{ display:inline-flex; align-items:center; justify-content:center;
  font-family:Mulish,sans-serif; font-weight:700; font-size:15px; padding:14px 26px;
  border-radius:6px; text-decoration:none; transition:.18s; cursor:pointer; border:1.5px solid transparent; }
.btn-gold{ background:rgb(200,145,47); color:rgb(33,27,20); border-color:rgb(200,145,47); }
.btn-gold:hover, .btn-gold:focus{ background:rgb(228,183,90); border-color:rgb(228,183,90); color:rgb(33,27,20); }
.btn-outline-l{ background:transparent; color:rgb(247,243,234); border-color:rgb(200,145,47); }
.btn-outline-l:hover, .btn-outline-l:focus{ background:rgba(200,145,47,.16); color:rgb(247,243,234); }
.btn-ink{ background:rgb(33,27,20); color:rgb(247,243,234); border-color:rgb(33,27,20); }
.btn-ink:hover{ background:rgb(200,145,47); color:rgb(33,27,20); border-color:rgb(200,145,47); }

/* ---- Kopf ---- */
.dbk-siteheader{ left:0; right:0; top:0; z-index:20; }
.dbk-siteheader.is-transparent{ position:absolute; background:transparent; }
.dbk-siteheader.is-solid{ position:relative; background:rgb(33,27,20); }
.dbk-siteheader a.nav{ color:rgb(235,223,199); }
.dbk-brand{ background:radial-gradient(60% 70% at 50% 46%,rgba(247,243,234,.2)0%,rgba(247,243,234,.07)46%,rgba(247,243,234,0)74%); }
.stickybar{ display:none; }

/* ---- Formkarte (Kadence Advanced Form #893) ---- */
.dbk-formcard .wp-block-kadence-advanced-form, .dbk-formcard form{ display:flex; flex-direction:column; gap:16px; }
.dbk-formcard input[type=text], .dbk-formcard input[type=email], .dbk-formcard textarea{
  width:100%; background:#fff; border:1.5px solid rgb(228,214,187); border-radius:8px;
  padding:12px 14px; font-size:15px; font-family:Mulish,sans-serif; color:rgb(33,27,20); }
.dbk-formcard input:focus, .dbk-formcard textarea:focus{
  border-color:rgb(200,145,47); outline:none; box-shadow:0 0 0 3px rgba(200,145,47,.16); }
.dbk-formcard textarea{ min-height:96px; }
.dbk-formcard label{ font-family:Mulish,sans-serif; font-weight:600; font-size:13px; color:rgb(107,78,46); }
.dbk-formcard .kb-forms-submit, .dbk-formcard button[type=submit]{
  width:100%; background:rgb(33,27,20); color:rgb(247,243,234); border:1.5px solid rgb(33,27,20);
  border-radius:6px; padding:14px 26px; font-family:Mulish,sans-serif; font-weight:700; font-size:15px; cursor:pointer; transition:.18s; }
.dbk-formcard .kb-forms-submit:hover, .dbk-formcard button[type=submit]:hover{
  background:rgb(200,145,47); color:rgb(33,27,20); border-color:rgb(200,145,47); }

/* ---- Inhaltsseiten (Impressum/Datenschutz) ---- */
.dbk-prose{ font-family:Mulish,sans-serif; font-size:16.5px; line-height:1.7; color:rgb(58,42,28); }
.dbk-prose h2{ font-family:Marcellus,serif; font-weight:400; font-size:28px; margin:1.6em 0 .5em; color:rgb(33,27,20); }
.dbk-prose h3{ font-family:Marcellus,serif; font-weight:400; font-size:22px; margin:1.4em 0 .4em; color:rgb(33,27,20); }
.dbk-prose p{ margin:0 0 1.1em; }
.dbk-prose a{ color:rgb(124,45,42); text-decoration:underline; }
.dbk-prose ul, .dbk-prose ol{ margin:0 0 1.1em 1.2em; }

/* ============================ RESPONSIVE ============================ */
@media (max-width:860px){
  .wrap{ padding:0 22px; }
  .cols2{ grid-template-columns:1fr; gap:30px; }
  .g3{ grid-template-columns:1fr; }
  .mkt3{ grid-template-columns:1fr; }
  .dbk-justified .dbk-jitem{ height:170px; }
  .desknav{ display:none !important; }
  .stickybar{ display:flex !important; }
  .dbk-hero .dbk-hero-inner{ padding-top:120px !important; padding-bottom:80px !important; }
  body.dbk-home{ padding-bottom:70px; }
  body.dbk-sub{ padding-bottom:70px; }
}

/* =========================================================================
   Cookie-Einwilligung (Complianz) — kompakter Voll-Breite-Balken unten.
   Zustandsabhängig, damit Complianz' JS funktioniert:
   • Haupt-Ansicht (.cmplz-show, ohne .cmplz-categories-visible) = horizontaler Balken
   • „Einstellungen" (.cmplz-categories-visible) = vertikal & scrollbar (Accordion funktioniert)
   • nach Accept/Deny (kein .cmplz-show) = versteckt
   ========================================================================= */
@keyframes dbk-bar-up{ from{ transform:translateY(100%); } to{ transform:translateY(0); } }

/* verstecken, sobald Complianz .cmplz-show entfernt (Accept/Deny) */
#cmplz-cookiebanner-container .cmplz-cookiebanner:not(.cmplz-show){ display:none !important; }

/* Grund-Streifen (beide Ansichten) */
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show{
  position:fixed !important; top:auto !important; left:0 !important; right:0 !important; bottom:0 !important;
  margin:0 auto !important; transform:none !important;
  background:#fffdf9 !important; color:rgb(58,42,28) !important;
  border:0 !important; border-top:2px solid rgb(200,145,47) !important; border-radius:0 !important;
  box-shadow:0 -8px 30px rgba(33,27,20,.20) !important;
  font-family:Mulish,sans-serif !important;
  animation:dbk-bar-up .32s cubic-bezier(.22,.61,.36,1) both !important;
}

/* HAUPT-ANSICHT: kompakter horizontaler Balken */
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show:not(.cmplz-categories-visible){
  width:100% !important; max-width:none !important; padding:11px 28px !important;
  display:flex !important; flex-flow:row wrap !important; align-items:center !important; justify-content:center !important; gap:6px 22px !important;
}
#cmplz-cookiebanner-container .cmplz-show:not(.cmplz-categories-visible) .cmplz-header,
#cmplz-cookiebanner-container .cmplz-show:not(.cmplz-categories-visible) .cmplz-divider,
#cmplz-cookiebanner-container .cmplz-show:not(.cmplz-categories-visible) .cmplz-links.cmplz-information{ display:none !important; }
#cmplz-cookiebanner-container .cmplz-show:not(.cmplz-categories-visible) .cmplz-body{ flex:1 1 340px !important; min-width:240px; margin:0 !important; }
#cmplz-cookiebanner-container .cmplz-show:not(.cmplz-categories-visible) .cmplz-message{
  font-size:12.5px !important; line-height:1.4 !important; color:rgb(74,62,48) !important; text-align:left !important; margin:0 !important;
  display:-webkit-box !important; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
#cmplz-cookiebanner-container .cmplz-show:not(.cmplz-categories-visible) .cmplz-buttons{ flex-flow:row nowrap !important; flex:0 0 auto !important; }

/* EINSTELLUNGEN-ANSICHT: vertikal, zentriert, scrollbar (Accordion frei) */
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show.cmplz-categories-visible{
  width:100% !important; max-width:660px !important; padding:22px 28px 24px !important;
  border-radius:14px 14px 0 0 !important; max-height:82vh !important; overflow-y:auto !important;
}
#cmplz-cookiebanner-container .cmplz-show.cmplz-categories-visible .cmplz-message{ font-size:13px !important; line-height:1.5 !important; color:rgb(74,62,48) !important; display:block !important; overflow:visible !important; }
#cmplz-cookiebanner-container .cmplz-show.cmplz-categories-visible .cmplz-title{ font-family:Marcellus,serif !important; font-weight:400 !important; font-size:19px !important; color:rgb(33,27,20) !important; }

/* Buttons (beide Ansichten) */
#cmplz-cookiebanner-container .cmplz-buttons{ display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin:0 !important; }
#cmplz-cookiebanner-container .cmplz-btn{
  border-radius:6px !important; font-family:Mulish,sans-serif !important; font-weight:700 !important;
  font-size:13px !important; padding:9px 16px !important; border:1.5px solid transparent !important; box-shadow:none !important; white-space:nowrap !important; }
#cmplz-cookiebanner-container .cmplz-btn.cmplz-accept{ background:rgb(200,145,47) !important; color:rgb(33,27,20) !important; border-color:rgb(200,145,47) !important; }
#cmplz-cookiebanner-container .cmplz-btn.cmplz-accept:hover{ background:rgb(228,183,90) !important; }
#cmplz-cookiebanner-container .cmplz-btn.cmplz-deny,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-save-preferences{ background:transparent !important; color:rgb(58,42,28) !important; border-color:rgb(107,78,46) !important; }
#cmplz-cookiebanner-container .cmplz-btn.cmplz-deny:hover,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-view-preferences:hover,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-save-preferences:hover{ background:rgb(33,27,20) !important; color:rgb(247,243,234) !important; border-color:rgb(33,27,20) !important; }

/* Doku-Links, Toggle warm, doppelten DS-Link inkl. Bullet raus */
#cmplz-cookiebanner-container .cmplz-documents.cmplz-links{ display:flex !important; flex-flow:row wrap !important; gap:14px !important; justify-content:center !important; margin:0 !important; padding:0 !important; list-style:none !important; }
#cmplz-cookiebanner-container .cmplz-documents li{ list-style:none !important; margin:0 !important; }
#cmplz-cookiebanner-container .cmplz-documents a, #cmplz-cookiebanner-container a{ color:rgb(124,45,42) !important; font-size:11.5px !important; }
#cmplz-cookiebanner-container .cmplz-label::before,
#cmplz-cookiebanner-container input:checked + .cmplz-label::before{ background:rgb(200,145,47) !important; }
#cmplz-cookiebanner-container .cmplz-link.cookie-statement{ display:none !important; }
#cmplz-cookiebanner-container li:has(> a.cookie-statement){ display:none !important; }

@media (max-width:680px){
  #cmplz-cookiebanner-container .cmplz-show:not(.cmplz-categories-visible){ padding:11px 16px !important; gap:8px !important; }
  #cmplz-cookiebanner-container .cmplz-show:not(.cmplz-categories-visible) .cmplz-buttons{ flex:1 1 100% !important; }
  #cmplz-cookiebanner-container .cmplz-show:not(.cmplz-categories-visible) .cmplz-btn{ flex:1 1 auto !important; }
  #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show.cmplz-categories-visible{ max-width:100% !important; }
}


/* ===== Mobile-Menü (Overlay) ===== */
.dbk-navtoggle{ background:none; border:0; cursor:pointer; line-height:1; padding:4px 6px; }
body.dbk-noscroll{ overflow:hidden; }
.dbk-mobilemenu{ position:fixed; inset:0; z-index:50; background:rgba(23,16,9,.985);
  display:flex; align-items:center; justify-content:center; animation:dbk-menu-fade .2s ease; }
.dbk-mobilemenu[hidden]{ display:none; }
@keyframes dbk-menu-fade{ from{ opacity:0; } to{ opacity:1; } }
.dbk-mobilemenu-close{ position:absolute; top:18px; right:22px; background:none; border:0;
  color:rgb(228,183,90); font-size:40px; line-height:1; cursor:pointer; padding:6px; }
.dbk-mobilemenu-inner{ display:flex; flex-direction:column; gap:26px; text-align:center; padding:24px; }
.dbk-mobilemenu-inner a:not(.btn){ font-family:Marcellus,serif; font-weight:400; font-size:28px;
  color:rgb(235,223,199); text-decoration:none; letter-spacing:.01em; }
.dbk-mobilemenu-inner a:not(.btn):hover{ color:rgb(228,183,90); }
.dbk-mobilemenu-inner a.btn{ margin-top:14px; align-self:center; }
