
/* Dialog */
.consenta-dialog-wrapper{position:fixed;inset:0;z-index:2147483647;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.5);font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}
.consenta-dialog-wrapper.consenta-visible{display:flex}
.consenta-box{background:#ffffff;color:#1d2327;border-radius:12px;max-width:720px;width:94%;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3);position:relative;padding:0;display:flex;flex-direction:column}
.consenta-header{padding:20px 24px 0;display:flex;align-items:center;gap:12px}
.consenta-dialog-logo{max-height:48px;max-width:192px;width:auto;height:auto;object-fit:contain}
.consenta-title{font-size:20px;font-weight:700;flex:1;color:#1d2327}
/* Logo-Position Modifier — extra rechts-Padding hält Logo bzw. zentrierten
   Inhalt von der absolut positionierten .consenta-close-Schaltfläche frei. */
.consenta-header.consenta-header--logo-right{flex-direction:row-reverse;padding-right:50px}
.consenta-header.consenta-header--logo-top-center{flex-direction:column;align-items:center;text-align:center;gap:8px;padding-right:50px;padding-left:50px}
.consenta-header.consenta-header--logo-top-center .consenta-title{flex:0 1 auto;width:100%}
.consenta-close{position:absolute;top:12px;right:16px;font-size:22px;cursor:pointer;color:#1d2327;opacity:.65;background:none;border:none;line-height:1;padding:4px 8px}
.consenta-close:hover{opacity:1}
.consenta-close:focus-visible{outline:2px solid #324e36;outline-offset:2px;border-radius:4px}
.consenta-body{padding:16px 24px;overflow-y:auto;flex:1;min-height:0}
.consenta-text{font-size:13px;line-height:1.55;margin-bottom:16px;color:#1d2327}
.consenta-text p{margin:0 0 12px;color:inherit}
.consenta-text p:last-child{margin-bottom:0}
/* Einklappbarer Beschreibungstext: max-height begrenzt die Vorschau, ein
   Fade-Overlay deutet weiteren Inhalt an. Im --expanded-Zustand fällt die
   Begrenzung weg und der Verlauf verschwindet. JS togglet die Klassen. */
.consenta-text--collapsible{position:relative;max-height:9.6em;overflow:hidden;transition:max-height .25s ease}
.consenta-text--collapsible.is-expanded{max-height:none}
.consenta-text--collapsible::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3em;background:linear-gradient(to bottom,transparent,#ffffff 90%);pointer-events:none;transition:opacity .2s}
.consenta-text--collapsible.is-expanded::after{opacity:0}
/* Mehr-anzeigen-Trigger: zentriert unter dem Fade, mit fit-content statt
   block-volle-Breite, damit der Klickbereich sich auf das Label beschränkt
   (nicht die gesamte Zeile, was wie ein leerer Button aussieht). */
.consenta-text-toggle{display:block;background:none;border:0;color:#324e36;font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:4px 12px;margin:-8px auto 16px;text-decoration:underline;width:-moz-fit-content;width:fit-content}
.consenta-text-toggle:hover{opacity:.85}
.consenta-text-toggle:focus-visible{outline:2px solid #324e36;outline-offset:2px;border-radius:3px}
.consenta-text-toggle[hidden]{display:none}
.consenta-banner-text p{margin:0 0 8px;color:inherit}
.consenta-banner-text p:last-child{margin-bottom:0}

/* Groups */
.consenta-groups{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.consenta-group{border:1px solid rgba(128,128,128,.2);border-radius:8px;overflow:hidden}
.consenta-group-header{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;font-weight:600;font-size:14px;color:#1d2327}
.consenta-group-toggle{width:36px;height:20px;border-radius:10px;background:#b0b0b0;position:relative;cursor:pointer;border:none;flex-shrink:0;transition:background .2s}
.consenta-group-toggle:focus-visible{outline:2px solid #324e36;outline-offset:2px}
.consenta-group-toggle.on{background:#324e36}
.consenta-group-toggle::after{content:'';position:absolute;width:14px;height:14px;background:#fff;border-radius:50%;top:3px;left:3px;transition:left .18s;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.consenta-group-toggle.on::after{left:19px}
.consenta-group-toggle.essential{background:#324e36;pointer-events:none}
.consenta-group-name{flex:1;color:#1d2327}
.consenta-group-count{font-size:12px;font-weight:400;color:#1d2327;opacity:.6}
.consenta-group-arrow{font-size:12px;transition:transform .2s;color:#1d2327;opacity:.6}
.consenta-group-details{display:none;padding:10px 14px;border-top:1px solid rgba(128,128,128,.15);font-size:13px;color:#1d2327}
.consenta-group.open .consenta-group-details{display:block}
.consenta-group.open .consenta-group-arrow{transform:rotate(180deg)}

/* Entity rows in group details */
.consenta-entity-row{padding:8px 0;border-bottom:1px solid rgba(128,128,128,.08);display:flex !important;flex-direction:row !important;align-items:flex-start;gap:10px}
.consenta-entity-row:last-child{border-bottom:none}
.consenta-entity-info{flex:1 1 0%;min-width:0}
.consenta-entity-header{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.consenta-entity-name{font-weight:500;color:#1d2327}
.consenta-entity-type{font-size:12px;color:#1d2327;opacity:.7;margin-left:4px}
.consenta-entity-type::before{content:'('}
.consenta-entity-type::after{content:')'}
.consenta-entity-lifespan{font-size:12px;color:#1d2327;opacity:.7}
.consenta-entity-lifespan::before{content:' · '}
.consenta-entity-desc{font-size:12px;color:#1d2327;opacity:.75;margin-top:2px;line-height:1.4}

/* Per-service toggles */
.consenta-service-toggle{width:28px;height:16px;border-radius:8px;background:#b0b0b0;position:relative;cursor:pointer;border:none;flex-shrink:0;flex-grow:0;transition:background .2s;padding:0;margin-top:1px}
.consenta-service-toggle:focus-visible{outline:2px solid #324e36;outline-offset:2px}
.consenta-service-toggle.on{background:#324e36}
.consenta-service-toggle::after{content:'';position:absolute;width:12px;height:12px;background:#fff;border-radius:50%;top:2px;left:2px;transition:left .18s;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.consenta-service-toggle.on::after{left:14px}
.consenta-service-toggle.essential{background:#324e36;pointer-events:none;opacity:.7}
/* Disabled-Service-State: vorher opacity:.45 — riss den effektiven Kontrast
   bei Standard-Dialog-Farben auf ~3.5:1 und damit unter WCAG 2.1 AA (4.5:1).
   Jetzt: line-through am Service-Namen als semantischer aus-Indikator
   (auch farbenblind-sicher, weil nicht nur ueber Color/Opacity differenziert
   wird) plus moderate Opacity-Reduktion auf 0.7 auf Body-Text — bleibt mit
   #1d2327-auf-#ffffff bei effektiv ~7:1 Kontrast und damit ueber AA/AAA. */
.consenta-entity-row.consenta-service-off .consenta-entity-name{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-skip-ink:none}
.consenta-entity-row.consenta-service-off .consenta-entity-name,.consenta-entity-row.consenta-service-off .consenta-entity-type,.consenta-entity-row.consenta-service-off .consenta-entity-lifespan,.consenta-entity-row.consenta-service-off .consenta-entity-desc{opacity:.7}

/* Skip link */
.consenta-skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;background:#111827;color:#fff;font-size:13px;font-weight:600;z-index:999999;text-decoration:none}
.consenta-skip-link:focus-visible{position:absolute;top:8px;left:8px;width:auto;height:auto;padding:8px 16px;margin:0;overflow:visible;clip:auto;white-space:normal;border-radius:6px;outline:2px solid #fff;outline-offset:2px}

/* Buttons */
.consenta-buttons{padding:16px 24px;display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid rgba(128,128,128,.12)}
.consenta-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .15s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.consenta-btn:focus-visible{outline:2px solid #324e36;outline-offset:2px}
.consenta-btn-primary,.consenta-btn-secondary{background:#324e36;color:#ffffff;flex:1}
.consenta-btn-primary:hover,.consenta-btn-secondary:hover{filter:brightness(1.1)}
.consenta-privacy-link{display:block;text-align:center;padding:0 10px 10px;font-size:12px;color:#1d2327;opacity:.65;text-decoration:underline;text-underline-offset:2px}
.consenta-privacy-link:hover{opacity:1}
.consenta-privacy-link:focus-visible{outline:2px solid #324e36;outline-offset:2px;border-radius:4px}

/* Footer links container — shares the same horizontal padding as .consenta-body
   and .consenta-buttons so the history panel + links don't go edge-to-edge on
   mobile while the buttons above sit inset.
   gap:0 + each item providing its own padding-bottom gives us symmetric vertical
   spacing: the visual gap between two adjacent items equals the second item's
   padding-top plus the first item's padding-bottom. With the current rules
   (all top-paddings = 0, all bottom-paddings = 10px except powered = 0) the
   gaps above / below each link are identical. */
.consenta-footer-links{padding:8px 24px !important;gap:0 !important}

/* Footer link row — all legal links + last-consent in one line with '·' separators
   flex-wrap lets the row break to multiple lines on narrow viewports, which is a
   graceful mobile fallback to the original two-line layout. Separators that land
   at the start or end of a wrapped row are automatically hidden via
   :first-child / :last-child so the '·' never appears orphaned. */
/* Per-Service-Consent-Anzeige.
   Listet Dienste, die der Besucher ueber Load-Service-Placeholders
   einzeln freigegeben hat. Wird via JS befuellt; leerer State ist hidden.
   Reset-Button leert localStorage und reloaded die Seite. */
.consenta-service-consents{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:6px;padding:8px 14px;margin:0 8px 6px;font-size:12px;line-height:1.5;color:#1d2327;opacity:.75;background:rgba(0,0,0,.03);border-radius:8px}
.consenta-service-consents[hidden]{display:none}
.consenta-service-consents .consenta-service-consents-label{font-weight:600}
.consenta-service-consents .consenta-service-consents-list{font-style:italic}
.consenta-service-consents .consenta-service-consents-reset{margin-left:6px;padding:2px 8px;font-size:11px;color:#1d2327 !important;background:none;border:1px solid currentColor;border-radius:6px;opacity:.7;cursor:pointer;font-family:inherit;line-height:1.4;transition:opacity .15s,background .15s}
.consenta-service-consents .consenta-service-consents-reset:hover{opacity:1;background:rgba(0,0,0,.05)}
.consenta-service-consents .consenta-service-consents-reset:focus-visible{outline:2px solid #324e36;outline-offset:2px}
.consenta-footer-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 8px;row-gap:2px;padding:4px 10px 10px;font-size:12px;color:#1d2327;line-height:1.5}
.consenta-footer-row > *{margin:0}
/* Color uses !important to defeat the theme's generic `a{color:…}` rule,
   which otherwise paints the legal links in the theme's accent color while the
   <button>-based last-consent entry keeps the dialog text color — a visible
   mismatch reported by users. */
.consenta-footer-row .consenta-last-consent-btn,
.consenta-footer-row .consenta-privacy-link,
.consenta-footer-row .consenta-imprint-link,
.consenta-footer-row .consenta-cookies-link{display:inline;padding:0;font-size:12px;color:#1d2327 !important;opacity:.65;text-decoration:underline;text-underline-offset:2px;background:none;border:0;cursor:pointer;font-family:inherit;line-height:1.5}
.consenta-footer-row .consenta-last-consent-btn:hover,
.consenta-footer-row .consenta-privacy-link:hover,
.consenta-footer-row .consenta-imprint-link:hover,
.consenta-footer-row .consenta-cookies-link:hover{opacity:1}
.consenta-footer-row .consenta-last-consent-btn:focus-visible,
.consenta-footer-row .consenta-privacy-link:focus-visible,
.consenta-footer-row .consenta-imprint-link:focus-visible,
.consenta-footer-row .consenta-cookies-link:focus-visible{outline:2px solid #324e36;outline-offset:2px;border-radius:4px}
.consenta-footer-row .consenta-last-consent-btn{text-decoration:underline;text-underline-offset:2px}
.consenta-footer-sep{opacity:.45;color:#1d2327;user-select:none;pointer-events:none}
.consenta-footer-row > .consenta-footer-sep:first-child,
.consenta-footer-row > .consenta-footer-sep:last-child{display:none}

/* Last-consent disclosure button — visually identical to .consenta-privacy-link
   so hover/focus feel consistent across the footer links.
   Vertical padding is set to 0 top, 10px bottom so the gap down to the next
   footer-link equals the gap between that link and the powered-by line below
   it (both 10px). */
.consenta-last-consent-btn{display:inline-block;background:none;border:0;padding:0 10px 10px;font-size:12px;color:#1d2327;opacity:.65;cursor:pointer;font-family:inherit;text-decoration:underline;text-underline-offset:2px;line-height:1.4}
.consenta-last-consent-btn:hover{opacity:1}
.consenta-last-consent-btn:focus-visible{outline:2px solid #324e36;outline-offset:2px;border-radius:4px}

/* Consent history panel (expanded below the last-consent button) */
.consenta-history-panel{width:100%;margin:8px 0 10px;padding:10px 12px;border:1px solid rgba(128,128,128,.2);border-radius:8px;font-size:11px;line-height:1.5;text-align:left;max-height:220px;overflow:auto;background:rgba(128,128,128,.04);color:#1d2327;box-sizing:border-box}

/* Banner */
.consenta-banner-wrapper{position:fixed;left:0;right:0;z-index:2147483646;display:none;font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}
.consenta-banner-wrapper.consenta-visible{display:block}
.consenta-banner-wrapper.consenta-bottom{bottom:0}
.consenta-banner-wrapper.consenta-top{top:0}
.consenta-banner{background:#ffffff;color:#1d2327;padding:16px 24px;display:flex;align-items:center;gap:16px;box-shadow:0 -2px 20px rgba(0,0,0,.1);flex-wrap:wrap}
.consenta-banner-text{flex:1;font-size:14px;line-height:1.5;min-width:200px;color:#1d2327}
.consenta-banner-buttons{display:flex;gap:8px;flex-shrink:0}
.consenta-banner .consenta-btn-primary,.consenta-banner .consenta-btn-secondary{background:#0053c8;color:#ffffff}

/* Toggle Widget */
.consenta-toggle-widget{position:fixed;z-index:2147483645;cursor:pointer;display:none;transition:opacity .2s}
.consenta-toggle-widget.consenta-visible{display:flex}
.consenta-toggle-widget.consenta-bottom-left{bottom:16px;left:16px}
.consenta-toggle-widget.consenta-bottom-right{bottom:16px;right:16px}
.consenta-toggle-widget.consenta-bottom-center{bottom:16px;left:50%;transform:translateX(-50%)}
.consenta-toggle-widget.consenta-middle-left{top:50%;left:16px;transform:translateY(-50%)}
.consenta-toggle-widget.consenta-middle-right{top:50%;right:16px;transform:translateY(-50%)}
.consenta-toggle-icon{width:44px;height:44px;border-radius:50%;background:#324e36;color:#ffffff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.consenta-toggle-icon:hover{filter:brightness(1.1)}
.consenta-toggle-icon:focus-visible{outline:2px solid #324e36;outline-offset:2px}
.consenta-toggle-icon svg{width:22px;height:22px}
.consenta-toggle-text-btn{background:#324e36;color:#ffffff;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;box-shadow:0 2px 10px rgba(0,0,0,.2);border:none;cursor:pointer}
.consenta-toggle-text-btn:hover{filter:brightness(1.1)}
.consenta-toggle-text-btn:focus-visible{outline:2px solid #324e36;outline-offset:2px}

/* Blocked placeholder — always readable regardless of page background */
/* Blocked placeholder — consistent dark appearance across all themes */
.consenta-blocked-placeholder{padding:32px 24px;text-align:center;background:#1e1e24 !important;border:1px solid #333 !important;border-radius:12px;font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:13px;color:#e8e8e8 !important;--consenta-ac:#324e36}
.consenta-blocked-placeholder .cb-title{font-weight:700;font-size:15px;color:#f0f0f0 !important;margin:0}
.consenta-blocked-placeholder .cb-desc{font-size:13px;color:#ccc !important;max-width:340px;margin:0 auto;line-height:1.5}
.consenta-blocked-placeholder .cb-note{font-size:11px;color:#999 !important;margin:0}
/* Force <strong> to be readable on the dark placeholder background */
.consenta-blocked-placeholder strong,.consenta-blocked-placeholder .cb-desc strong,.consenta-blocked-placeholder .cb-title strong{color:#f0f0f0 !important;font-weight:700}
.consenta-blocked-placeholder .consenta-unblock-btn{margin-top:4px;padding:10px 24px !important;border-radius:8px !important;color:#fff !important;border:none !important;font-size:13px !important;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s;line-height:1.4;display:inline-block;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.consenta-blocked-placeholder .consenta-unblock-btn:hover{opacity:.85}
.consenta-unblock-btn:focus-visible{outline:2px solid #324e36;outline-offset:2px;border-radius:8px}

@media(max-width:580px){
.consenta-box{width:100%;max-width:none;border-radius:12px 12px 0 0;max-height:85vh;position:fixed;bottom:0;left:0;right:0}
.consenta-buttons{flex-direction:column}
.consenta-banner{flex-direction:column;text-align:center}
}

/* RTL (Right-to-Left) Support */
[dir="rtl"] .consenta-close{right:auto;left:16px}
[dir="rtl"] .consenta-header{direction:rtl}
[dir="rtl"] .consenta-text{text-align:right;direction:rtl}
[dir="rtl"] .consenta-group-header{direction:rtl;flex-direction:row-reverse}
[dir="rtl"] .consenta-group-toggle::after{left:auto;right:3px}
[dir="rtl"] .consenta-group-toggle.on::after{right:auto;left:3px}
[dir="rtl"] .consenta-service-toggle::after{left:auto;right:2px}
[dir="rtl"] .consenta-service-toggle.on::after{right:auto;left:2px}
[dir="rtl"] .consenta-entity-desc{direction:rtl;text-align:right}
[dir="rtl"] .consenta-group-name{text-align:right}
[dir="rtl"] .consenta-group-details{text-align:right;direction:rtl}
[dir="rtl"] .consenta-entity-type{margin-left:0;margin-right:4px}
[dir="rtl"] .consenta-buttons{direction:rtl}
[dir="rtl"] .consenta-privacy-link{direction:rtl}
[dir="rtl"] .consenta-banner{direction:rtl;flex-direction:row-reverse}
[dir="rtl"] .consenta-banner-text{text-align:right;direction:rtl}
[dir="rtl"] .consenta-banner-buttons{flex-direction:row-reverse}
[dir="rtl"] .consenta-toggle-widget.consenta-bottom-left{left:auto;right:16px}
[dir="rtl"] .consenta-toggle-widget.consenta-bottom-right{right:auto;left:16px}
[dir="rtl"] .consenta-toggle-widget.consenta-middle-left{left:auto;right:16px}
[dir="rtl"] .consenta-toggle-widget.consenta-middle-right{right:auto;left:16px}
@media(max-width:580px){
[dir="rtl"] .consenta-banner{flex-direction:column;text-align:right}
}
[dir="rtl"] .consenta-privacy-link,[dir="rtl"] .consenta-powered-link{unicode-bidi:isolate;direction:ltr}
[dir="rtl"] .consenta-entity-type{unicode-bidi:isolate}
[dir="rtl"] .consenta-entity-lifespan{unicode-bidi:isolate;direction:ltr}
[lang="ur"] .consenta-box,[lang="ur"] .consenta-dialog-wrapper{font-family:'Noto Nastaliq Urdu','Jameel Noori Nastaleeq',system-ui,sans-serif}

/* Conditional-Content Fallback-Zone
   Frame + Default-Zentrierung für die Fallback-Box. Gilt sowohl wenn der User
   nichts in die Zone legt (PHP injiziert Default-Buttons) als auch wenn er
   eigene Blocks platziert (core/group mit className consenta-conditional-fallback).
   Die has-text-align-*-Regeln spiegeln wp-block-library's Core-Alignment wider —
   wir shippen sie inline, weil nicht jedes Theme die block-library CSS lädt und
   dadurch die Alignment-Wahl des Users sonst verloren geht. */
.wp-block-consenta-conditional .consenta-conditional-fallback{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:24px;text-align:center}
.wp-block-consenta-conditional .consenta-conditional-fallback>*:last-child{margin-bottom:0}
.wp-block-consenta-conditional .consenta-conditional-fallback .has-text-align-left{text-align:left}
.wp-block-consenta-conditional .consenta-conditional-fallback .has-text-align-center{text-align:center}
.wp-block-consenta-conditional .consenta-conditional-fallback .has-text-align-right{text-align:right}

/* Accept-Button Alignment
   Gutenberg setzt via supports.align die Klassen .alignleft/.aligncenter/
   .alignright auf den Wrapper. Die Core-Regeln kommen aus wp-block-library —
   die lädt nicht jedes Theme auf dem Frontend, daher shippen wir sie inline.
   display:table + margin:auto funktioniert robust auch in Flex-Parents, wo
   float ignoriert würde. !important gewinnt gegen Theme-Regeln, die
   .aligncenter oft als reines text-align:center umdefinieren (greift nicht
   für das Button-Element selbst). */
.wp-block-consenta-accept-button.aligncenter,.consenta-cc-btn.aligncenter{display:table!important;margin-left:auto!important;margin-right:auto!important;float:none!important}
.wp-block-consenta-accept-button.alignleft,.consenta-cc-btn.alignleft{display:table!important;margin-left:0!important;margin-right:auto!important;float:none!important}
.wp-block-consenta-accept-button.alignright,.consenta-cc-btn.alignright{display:table!important;margin-left:auto!important;margin-right:0!important;float:none!important}

/* ── Block-Defaults — werden von Block-Editor-Settings überschrieben ──
   Vorher hatten alle inneren <div>/<table>/<th>-Elemente hartkodierte
   `style=`-Attribute, die die Color/Typography/Spacing-Settings vom
   Block-Wrapper komplett überlagerten. Jetzt sind diese Defaults
   Specificity 0,1,0,0 (Klassen) — User-Inline-Styles am Block-Wrapper
   gewinnen aufgrund höherer Specificity. */

/* Block 1 — Cookie-Deklaration (Tabelle/Liste)
   Wichtig: <h4>- und <summary>-Defaults vereinheitlichen + erzwingen, dass
   font-size und color VOM BLOCK-WRAPPER GEERBT werden. Themes setzen oft
   ein eigenes `h4 { font-size:24px; color:#... }` mit Specificity 0,1,1 —
   unsere Klassen-Kombi hat Specificity 0,2,0 und gewinnt damit. Ohne diese
   Vererbungs-Brücke greifen die Block-Editor-Settings (Schriftgröße,
   Farbe) auf Marketing/Notwendig-Header NICHT, auf den summary-Header der
   Unknown-Sektion aber schon — exakt das Symptom, das wir gesehen haben. */
.wp-block-consenta-cookie-declaration .consenta-decl-purpose,
.wp-block-consenta-cookie-declaration .consenta-decl-purpose-summary{color:inherit;font-family:inherit;font-size:1.17em;font-weight:bold;line-height:1.2}
.wp-block-consenta-cookie-declaration .consenta-decl-purpose{margin:32px 0 16px}
.wp-block-consenta-cookie-declaration .consenta-decl-purpose-details{margin:32px 0 16px}
.wp-block-consenta-cookie-declaration .consenta-decl-purpose-summary{cursor:pointer;list-style:disclosure-closed;margin:0;padding:0}
.wp-block-consenta-cookie-declaration .consenta-decl-list{margin-top:0}
/* Horizontaler Scroll-Wrapper als Safety-Net auf breiten Containern, in denen
   eine sehr lange URL-Zeile durchstößt. Auf Mobile übernimmt unten ein
   Stack-Layout (Card pro Row) — der Wrapper-Scroll kommt da nicht zum
   Einsatz, weil die Tabelle gar nicht mehr als Tabelle gerendert wird. */
.wp-block-consenta-cookie-declaration .consenta-decl-table-wrap,
.consenta-cookie-declaration .consenta-decl-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.wp-block-consenta-cookie-declaration .consenta-decl-table{width:100%;border-collapse:collapse;margin:0 0 16px;color:inherit;font-size:inherit;font-family:inherit}
.wp-block-consenta-cookie-declaration .consenta-decl-table thead tr{text-align:left;border-bottom:2px solid currentColor;opacity:.85}
.wp-block-consenta-cookie-declaration .consenta-decl-table tbody tr{border-bottom:1px solid rgba(0,0,0,.08)}
/* Header bricht NIEMALS innerhalb eines Wortes — sonst zerlegt der
   `overflow-wrap:anywhere` der Body-Zellen auch Begriffe wie „Anbieter“
   in „An | bie | ter“ auf engen Spalten. Body-Zellen behalten die
   aggressive Wortbruch-Regel, damit Resource-URLs nicht horizontal
   aus der Tabelle wachsen. */
.wp-block-consenta-cookie-declaration .consenta-decl-table th{padding:8px 12px;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;white-space:nowrap}
.wp-block-consenta-cookie-declaration .consenta-decl-table td{padding:8px 12px;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;overflow-wrap:anywhere;word-break:break-word}
.wp-block-consenta-cookie-declaration .consenta-decl-table .consenta-decl-cell-name{font-weight:500}
/* Mobile-Stack: unter 640px werden Tabellenzeilen zu Karten umgebaut.
   Jede <td> bekommt ihr Spalten-Label per ::before aus dem data-label-
   Attribut (siehe Shortcode::render_cookie_declaration). Vorteile gegenüber
   horizontaler Scroll-Tabelle:
   - 5 Spalten in 320px Breite waren auch mit overflow-wrap unleserlich
   - Stacked Cards lesen sich auf Touch wie eine native Liste
   - Header bleibt sichtbar (per data-label statt thead)  */
@media (max-width:640px){
    .wp-block-consenta-cookie-declaration .consenta-decl-table-wrap,
    .consenta-cookie-declaration .consenta-decl-table-wrap{overflow-x:visible}
    .wp-block-consenta-cookie-declaration .consenta-decl-table thead,
    .consenta-cookie-declaration .consenta-decl-table thead{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
    .wp-block-consenta-cookie-declaration .consenta-decl-table,
    .wp-block-consenta-cookie-declaration .consenta-decl-table tbody,
    .wp-block-consenta-cookie-declaration .consenta-decl-table tr,
    .wp-block-consenta-cookie-declaration .consenta-decl-table td,
    .consenta-cookie-declaration .consenta-decl-table,
    .consenta-cookie-declaration .consenta-decl-table tbody,
    .consenta-cookie-declaration .consenta-decl-table tr,
    .consenta-cookie-declaration .consenta-decl-table td{display:block;width:100%}
    .wp-block-consenta-cookie-declaration .consenta-decl-table tr,
    .consenta-cookie-declaration .consenta-decl-table tr{margin:0 0 12px;padding:8px 12px;border:1px solid rgba(0,0,0,.1);border-radius:6px}
    .wp-block-consenta-cookie-declaration .consenta-decl-table td,
    .consenta-cookie-declaration .consenta-decl-table td{padding:4px 0;border:none}
    .wp-block-consenta-cookie-declaration .consenta-decl-table td::before,
    .consenta-cookie-declaration .consenta-decl-table td::before{content:attr(data-label) ': ';font-weight:600;display:inline-block;min-width:80px;color:inherit;opacity:.75}
    .wp-block-consenta-cookie-declaration .consenta-decl-table td:empty,
    .consenta-cookie-declaration .consenta-decl-table td:empty{display:none}
}
/* List-Variante (style=list) — gleiche Behandlung wie Tabellen-Cells. */
.wp-block-consenta-cookie-declaration .consenta-decl-list,
.wp-block-consenta-cookie-declaration .consenta-decl-list li,
.wp-block-consenta-cookie-declaration .consenta-decl-list strong,
.wp-block-consenta-cookie-declaration .consenta-decl-list small,
.wp-block-consenta-cookie-declaration .consenta-decl-list .consenta-decl-type{font-size:inherit;font-family:inherit;color:inherit}
.wp-block-consenta-cookie-declaration .consenta-decl-list small{opacity:.75}
/* Wenn der Shortcode außerhalb eines Blocks benutzt wird, applizieren wir die
   selben Defaults via Container-Klasse — Block-Wrapper-Specificity gewinnt
   trotzdem, weil Inline-Styles am Wrapper über jedem Klassen-Selektor liegen. */
.consenta-cookie-declaration .consenta-decl-table{width:100%;border-collapse:collapse;margin:0 0 16px}
.consenta-cookie-declaration .consenta-decl-table th{padding:8px 12px;white-space:nowrap}
.consenta-cookie-declaration .consenta-decl-table td{padding:8px 12px;overflow-wrap:anywhere;word-break:break-word}
.consenta-cookie-declaration .consenta-decl-table thead tr{text-align:left;border-bottom:2px solid currentColor;opacity:.85}
.consenta-cookie-declaration .consenta-decl-table tbody tr{border-bottom:1px solid rgba(0,0,0,.08)}

/* Block 2 — Consent-Status (Card-Look)
   Schriftgrößen relativ (em) statt absolut (px), damit das Block-Editor-
   Schriftgröße-Setting den ganzen Block proportional skaliert. Vorher
   hardcoded 15/14/13/12 px → User-Setting wirkungslos. */
.wp-block-consenta-consent-status{font-family:inherit}
.wp-block-consenta-consent-status.consenta-status-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:20px}
.wp-block-consenta-consent-status .consenta-status-title{font-size:1.05em;font-weight:600;margin-bottom:12px;color:inherit;font-family:inherit;line-height:inherit}
.wp-block-consenta-consent-status .consenta-status-purposes{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.wp-block-consenta-consent-status .consenta-status-purpose{display:flex;align-items:center;gap:10px;font-size:inherit;color:inherit;font-family:inherit;line-height:inherit}
/* Icon-Größe absolut (px) — soll NICHT skalieren, bleibt als visuelles
   Marker-Element fest. */
.wp-block-consenta-consent-status .consenta-status-icon{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;background:#f3f4f6;color:#9ca3af}
.wp-block-consenta-consent-status .consenta-status-label{color:inherit;font-size:inherit;font-family:inherit}
.wp-block-consenta-consent-status .consenta-status-date{font-size:.85em;color:inherit;opacity:.7;margin-bottom:12px;font-family:inherit}
.wp-block-consenta-consent-status .consenta-status-change-btn{background:#111827;color:#fff;border:0;padding:.5em 1.25em;border-radius:6px;font-size:.9em;font-weight:500;font-family:inherit;cursor:pointer;transition:opacity .15s}
.wp-block-consenta-consent-status .consenta-status-change-btn:hover{opacity:.85}

/* Block 3 — Conditional-Content Fallback-CTA (Default-Buttons)
   Schriftgrößen + Padding relativ (em), damit Block-Editor-Schriftgröße den
   gesamten Fallback proportional skaliert. */
.wp-block-consenta-conditional .consenta-cc-fallback-text{font-size:inherit;font-family:inherit;color:inherit;opacity:.85;margin-bottom:14px}
.wp-block-consenta-conditional .consenta-cc-cta{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}
.wp-block-consenta-conditional .consenta-cc-cta-primary{background:#0053c8;color:#fff;border:0;padding:.6em 1.2em;border-radius:6px;font-size:.9em;font-weight:600;font-family:inherit;cursor:pointer}
.wp-block-consenta-conditional .consenta-cc-cta-secondary{background:transparent;color:inherit;opacity:.85;border:1px solid currentColor;padding:.6em 1.2em;border-radius:6px;font-size:.9em;font-weight:500;font-family:inherit;cursor:pointer}
.wp-block-consenta-conditional .consenta-cc-cta-primary:hover,.wp-block-consenta-conditional .consenta-cc-cta-secondary:hover{opacity:.9}
/* Default-Card der Legacy-Fallback-Box (kein InnerBlocks-Layout). */
.wp-block-consenta-conditional .consenta-cc-fallback-default{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:24px;text-align:center}
