.efcmp-banner,.efcmp-preferences{position:fixed;inset:0;z-index:2147483000;font-family:inherit;background:rgba(0,0,0,.46);display:flex;align-items:flex-end;justify-content:center;padding:18px;box-sizing:border-box}.efcmp-banner[hidden],.efcmp-preferences[hidden],.efcmp-reopen[hidden]{display:none!important}.efcmp-box{width:min(760px,100%);background:#fff;color:#161616;border:1px solid rgba(0,0,0,.12);border-radius:16px;padding:22px;box-shadow:0 18px 55px rgba(0,0,0,.18)}.efcmp-box h2,.efcmp-preferences-panel h2{margin:0 0 8px;font-size:22px}.efcmp-box p,.efcmp-preferences-panel>p{margin:0 0 18px;line-height:1.55}.efcmp-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.efcmp-actions button,.efcmp-reopen,.efcmp-close{border:1px solid #bbb;background:#fff;border-radius:9px;padding:10px 15px;cursor:pointer;font:inherit;font-weight:650}.efcmp-actions .primary{background:var(--efcmp-primary,#218838);border-color:var(--efcmp-primary,#218838);color:#fff}.efcmp-preferences{align-items:center}.efcmp-preferences-panel{position:relative;width:min(680px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;background:#fff;color:#161616;border-radius:16px;padding:24px;box-shadow:0 18px 55px rgba(0,0,0,.22)}.efcmp-close{position:absolute;right:14px;top:14px;border:0;font-size:25px;line-height:1;padding:7px 10px}.efcmp-category-list{display:grid;gap:10px;margin:20px 0}.efcmp-category{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:15px;border:1px solid #ddd;border-radius:11px}.efcmp-category span{display:grid;gap:4px}.efcmp-category small{font-weight:400;color:#656565}.efcmp-category input{width:20px;height:20px;accent-color:var(--efcmp-primary,#218838)}.efcmp-category.is-locked{background:#f5f5f5}.efcmp-reopen{position:fixed;left:16px;bottom:16px;z-index:2147482990;background:var(--efcmp-primary,#218838);border-color:var(--efcmp-primary,#218838);color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.18)}@media(max-width:600px){.efcmp-banner,.efcmp-preferences{padding:10px}.efcmp-box,.efcmp-preferences-panel{border-radius:14px;padding:18px}.efcmp-actions{display:grid;grid-template-columns:1fr}.efcmp-actions button{width:100%}.efcmp-reopen{left:10px;bottom:10px;font-size:13px;padding:9px 11px}}

/* v0.1.5 Alpha 1 — Banner Branding & Logo */
.efcmp-branding{display:flex;flex-direction:column;gap:7px;margin-bottom:var(--efcmp-branding-spacing,14px)}.efcmp-branding-left{align-items:flex-start;text-align:left}.efcmp-branding-center{align-items:center;text-align:center}.efcmp-branding-right{align-items:flex-end;text-align:right}.efcmp-branding-logo{display:block;width:min(var(--efcmp-logo-width,120px),100%);max-height:100px;object-fit:contain;object-position:center}.efcmp-branding-name{font-size:14px;font-weight:700;line-height:1.25;color:inherit}@media(max-width:600px){.efcmp-branding-logo{max-height:78px}}

/* v0.1.5 Alpha 2 — Policy Center Foundation */
.efcmp-policy-links{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin:0 0 16px;font-size:13px;line-height:1.4}.efcmp-policy-links a{color:inherit;text-decoration:underline;text-underline-offset:2px;opacity:.78}.efcmp-policy-links a:hover,.efcmp-policy-links a:focus{opacity:1}.efcmp-policy-links a+a::before{content:"·";display:inline-block;margin-right:14px;text-decoration:none;opacity:.55}.efcmp-policy-links-preferences{margin-top:4px}@media(max-width:600px){.efcmp-policy-links{justify-content:flex-start;gap:6px 10px}.efcmp-policy-links a+a::before{margin-right:10px}}

/* v0.1.5 Alpha 6 — Footer Integration */
.efcmp-footer-links{display:inline-flex;align-items:center;gap:.55em;flex-wrap:wrap;font:inherit;color:inherit}.efcmp-footer-links .efcmp-footer-link,.efcmp-footer-link{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px}.efcmp-footer-manage{appearance:none;-webkit-appearance:none;border:0;background:none;padding:0;margin:0;cursor:pointer}.efcmp-footer-separator{opacity:.65}

/* EF Preferences Floating Icon — v0.1.5 Alpha 6.1.1 — Official EF Icon Fix */
.efcmp-reopen{background:var(--efcmp-reopen-bg,var(--efcmp-primary,#218838));border-color:var(--efcmp-reopen-bg,var(--efcmp-primary,#218838));color:var(--efcmp-reopen-icon,#fff);display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.efcmp-reopen:hover,.efcmp-reopen:focus-visible{background:var(--efcmp-reopen-hover-bg,var(--efcmp-primary,#218838));border-color:var(--efcmp-reopen-hover-bg,var(--efcmp-primary,#218838));color:var(--efcmp-reopen-hover-icon,#fff);transform:translateY(-1px)}
.efcmp-reopen-icon{width:var(--efcmp-reopen-size,46px);height:var(--efcmp-reopen-size,46px);min-width:var(--efcmp-reopen-size,46px);padding:0;border-radius:50%}
.efcmp-reopen-icon_text{min-height:var(--efcmp-reopen-size,46px);padding:8px 14px;border-radius:999px}
.efcmp-ef-icon{display:block;width:var(--efcmp-reopen-icon-size,22px);height:var(--efcmp-reopen-icon-size,22px);flex:0 0 auto;color:inherit}
.efcmp-reopen-right{left:auto;right:16px}.efcmp-reopen-left{left:16px;right:auto}
@media(max-width:600px){.efcmp-reopen-right{left:auto;right:10px}.efcmp-reopen-left{left:10px;right:auto}.efcmp-reopen-icon{padding:0}}

.efcmp-ef-icon-left{color:var(--efcmp-reopen-icon,#fff)}
.efcmp-ef-icon-right{color:var(--efcmp-reopen-accent,#7ac943)}
.efcmp-reopen:hover .efcmp-ef-icon-left,.efcmp-reopen:focus-visible .efcmp-ef-icon-left{color:var(--efcmp-reopen-hover-icon,#fff)}
.efcmp-reopen:hover .efcmp-ef-icon-right,.efcmp-reopen:focus-visible .efcmp-ef-icon-right{color:var(--efcmp-reopen-hover-accent,#7ac943)}


/* EF Footer Integration — v0.1.5 Alpha 6.1.2 — Mobile Alignment Fix
 * Keep wrapped footer links centered inside page-builder text modules.
 */
@media (max-width: 767px) {
    .efcmp-footer-links {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

    .efcmp-footer-links .efcmp-footer-link,
    .efcmp-footer-links .efcmp-footer-separator {
        flex: 0 0 auto;
    }

    .efcmp-footer-links .efcmp-footer-manage {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
}
