/* George Eich Institute | Banner de consentimento | WordPress */
:root { --ge-cmp-navy:#06274b; --ge-cmp-cyan:#39e1db; --ge-cmp-ink:#172e49; --ge-cmp-line:#dbe5ee; }
.ge-cmp-modal-open { overflow:hidden!important; }
.ge-cmp-banner, .ge-cmp-overlay { font-family:Montserrat,Inter,Arial,sans-serif; box-sizing:border-box; }
.ge-cmp-banner *, .ge-cmp-overlay * { box-sizing:border-box; }
.ge-cmp-banner { position:fixed; z-index:2147482000; bottom:16px; left:16px; right:16px; background:#fff; color:var(--ge-cmp-ink); border:1px solid var(--ge-cmp-line); border-radius:14px; padding:19px 22px; box-shadow:0 16px 46px rgba(6,39,75,.20); display:flex; align-items:center; justify-content:space-between; gap:20px; line-height:1.5; }
.ge-cmp-banner-copy { max-width:760px; }
.ge-cmp-banner-copy strong { display:block; color:var(--ge-cmp-navy); font-size:16px; line-height:1.35; font-weight:750; margin:0 0 4px; }
.ge-cmp-banner-copy p { margin:0 0 5px!important; color:#43566a; font-size:13px; line-height:1.5; }
.ge-cmp-banner-copy a, .ge-cmp-policy-link { color:var(--ge-cmp-navy); text-decoration:underline; text-underline-offset:3px; font-size:12px; font-weight:600; }
.ge-cmp-actions, .ge-cmp-dialog-actions { display:flex; justify-content:flex-end; align-items:center; gap:9px; flex-wrap:wrap; }
.ge-cmp-actions { flex-shrink:0; }
.ge-cmp-btn { appearance:none; cursor:pointer; border:1px solid var(--ge-cmp-navy); border-radius:7px; padding:10px 13px; background:#fff; color:var(--ge-cmp-navy); font-family:inherit; font-size:12px; line-height:1.25; font-weight:750; min-height:40px; transition:background .15s,border-color .15s; }
.ge-cmp-btn:hover { background:#eef5f8; }
.ge-cmp-btn:focus-visible, .ge-cmp-x:focus-visible, .ge-cmp-category input:focus-visible { outline:3px solid var(--ge-cmp-cyan); outline-offset:2px; }
.ge-cmp-btn-primary { background:var(--ge-cmp-navy); color:white; border-color:var(--ge-cmp-navy); }
.ge-cmp-btn-primary:hover { background:#17436c; color:white; }
.ge-cmp-btn-light { border-color:var(--ge-cmp-line); background:#f8fafc; }
.ge-cmp-overlay { position:fixed; z-index:2147482001; inset:0; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(6,39,75,.58); }
.ge-cmp-dialog { width:min(100%,620px); max-height:min(90vh,800px); overflow-y:auto; background:#fff; color:var(--ge-cmp-ink); border-radius:14px; padding:25px; box-shadow:0 20px 60px rgba(6,39,75,.25); }
.ge-cmp-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.ge-cmp-dialog h2 { margin:0; font-size:21px; line-height:1.3; color:var(--ge-cmp-navy); }
.ge-cmp-x { cursor:pointer; flex-shrink:0; border:none; background:transparent; font-size:26px; color:var(--ge-cmp-navy); padding:2px 8px; }
.ge-cmp-desc { color:#485d71; font-size:13px; line-height:1.6; margin:12px 0 19px!important; }
.ge-cmp-categories { display:grid; gap:10px; margin-bottom:20px; }
.ge-cmp-category { display:flex; align-items:center; justify-content:space-between; gap:15px; border:1px solid var(--ge-cmp-line); border-radius:10px; padding:14px; cursor:pointer; }
.ge-cmp-category-details { display:grid; gap:4px; }
.ge-cmp-category-details strong { display:block; font-size:14px; color:var(--ge-cmp-navy); }
.ge-cmp-category-details>span { font-size:12px; color:#43566a; line-height:1.45; }
.ge-cmp-category input { appearance:auto; cursor:pointer; width:20px; height:20px; accent-color:var(--ge-cmp-navy); flex:0 0 auto; }
.ge-cmp-required { margin-left:auto; color:#64748b; font-size:11px; white-space:nowrap; }
.ge-cmp-dialog-actions { margin:0 0 16px; }
.ge-cmp-dialog .ge-cmp-policy-link { display:inline-block; margin-top:2px; }
.ge-wp-cookie-preferences { padding:7px 0 10px; text-align:center; font-size:12px; line-height:1.5; }
.ge-wp-cookie-preferences a { color:inherit; opacity:.85; text-decoration:underline; text-underline-offset:3px; }
.ge-wp-cookie-preferences a:hover { opacity:1; }
@media (max-width:980px) { .ge-cmp-banner { align-items:stretch; flex-direction:column; } .ge-cmp-actions { justify-content:flex-start; } }
@media (max-width:560px) { .ge-cmp-banner { bottom:8px;left:8px;right:8px;padding:15px;gap:13px;max-height:80vh;overflow-y:auto; } .ge-cmp-banner-copy strong { font-size:15px; } .ge-cmp-actions { display:grid;grid-template-columns:1fr 1fr;width:100%; } .ge-cmp-actions .ge-cmp-btn { width:100%; } .ge-cmp-actions .ge-cmp-btn-primary { grid-column:1/-1; } .ge-cmp-dialog { padding:18px; } .ge-cmp-category { gap:7px;padding:12px; } .ge-cmp-dialog-actions .ge-cmp-btn { flex:1; } }
