/* Einwilligungsbanner - Farben und Schriften aus dem Theme */
.snb-consent {
   position: fixed;
   left: 0; right: 0; bottom: 0;
   z-index: 99998;
   background: #fff;
   border-top: 3px solid var(--theme-color1, #781f2f);
   box-shadow: 0 -10px 40px rgba(28, 26, 29, .16);
   font-family: var(--text-font, "Plus Jakarta Sans"), system-ui, sans-serif;
   color: var(--text-color, #707070);
   animation: snb-consent-up .35s cubic-bezier(.2, .8, .3, 1);
}
.snb-consent[hidden] { display: none; }
@keyframes snb-consent-up { from { transform: translateY(100%) } to { transform: none } }
@media (prefers-reduced-motion: reduce) { .snb-consent { animation: none } }

.snb-consent-inner {
   max-width: 1100px;
   margin: 0 auto;
   padding: 22px 28px;
   display: flex;
   align-items: center;
   gap: 32px;
}
.snb-consent-text strong {
   display: block;
   font-family: var(--title-font, "Cormorant"), Georgia, serif;
   font-size: 21px;
   font-weight: 500;
   color: var(--headings-color, #1C1A1D);
   margin-bottom: 5px;
}
.snb-consent-text p { margin: 0; font-size: 14px; line-height: 1.7; }
.snb-consent-text a { color: var(--theme-color1, #781f2f); text-decoration: underline; }

.snb-consent-actions { display: flex; gap: 10px; flex: none; }
.snb-consent-btn {
   border: 1px solid var(--theme-color1, #781f2f);
   padding: 13px 26px;
   border-radius: 2px;
   font: inherit;
   font-size: 12.5px;
   letter-spacing: .09em;
   text-transform: uppercase;
   cursor: pointer;
   white-space: nowrap;
   transition: opacity .2s;
}
.snb-consent-btn:hover { opacity: .85; }
.snb-consent-accept { background: var(--theme-color1, #781f2f); color: #fff; }
.snb-consent-decline { background: #fff; color: var(--theme-color1, #781f2f); }
.snb-consent-btn:focus-visible { outline: 2px solid var(--theme-color6, #FFAA18); outline-offset: 2px; }

@media (max-width: 820px) {
   .snb-consent-inner { flex-direction: column; align-items: stretch; gap: 18px; padding: 20px; }
   .snb-consent-actions { flex-direction: column-reverse; }
   .snb-consent-btn { width: 100%; }
}
