/* GreenTrust + Arbor unified consent UI; independent from each website's CSS. */
.gt-consent-root{--cc-bg:#e6ece4;--cc-ink:#183124;--cc-muted:#466051;--cc-border:#b8c7b9;--cc-accent:#174832;--cc-on-accent:#f5f8f3;--cc-shadow:0 20px 72px rgba(5,25,12,.2);font-family:inherit;line-height:1.5;color:var(--cc-ink)}
html[data-theme="dark"] .gt-consent-root{--cc-bg:#1b2c23;--cc-ink:#eaf1e9;--cc-muted:#b4c6b8;--cc-border:#466450;--cc-accent:#d2e4d1;--cc-on-accent:#14261b;--cc-shadow:0 20px 72px rgba(0,0,0,.4)}
.gt-consent-arbor .gt-consent-root{--cc-bg:#f1eee4;--cc-ink:#203a2e;--cc-muted:#526459;--cc-border:#c8ccbd;--cc-accent:#335b3e;--cc-on-accent:#fffef7;--cc-shadow:0 22px 75px rgba(12,40,22,.2)}
@media(prefers-color-scheme:dark){.gt-consent-arbor .gt-consent-root{--cc-bg:#1b2b23;--cc-ink:#edf1e5;--cc-muted:#b4c3b2;--cc-border:#536558;--cc-accent:#d7e6ca;--cc-on-accent:#16281e;--cc-shadow:0 22px 75px rgba(0,0,0,.5)}}
.gt-consent-root *, .gt-consent-root *::before, .gt-consent-root *::after{box-sizing:border-box}
.gt-consent-root [hidden]{display:none!important}
.gt-consent-banner{position:fixed;z-index:2147483000;right:clamp(12px,2.2vw,32px);bottom:calc(clamp(12px,2.2vw,32px) + env(safe-area-inset-bottom,0px));width:min(485px,calc(100vw - 24px));border:1px solid var(--cc-border);border-radius:14px;background:var(--cc-bg);color:var(--cc-ink);padding:clamp(19px,2.5vw,27px);box-shadow:var(--cc-shadow);opacity:0;transform:translate3d(0,8px,0);pointer-events:none;transition:opacity .3s cubic-bezier(.2,.7,.2,1),transform .3s cubic-bezier(.2,.7,.2,1)}
.gt-consent-banner.is-visible{opacity:1;transform:none;pointer-events:auto}
.gt-consent-eyebrow{color:var(--cc-muted);font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.gt-consent-banner h2,.gt-consent-panel h2{font-family:inherit;color:var(--cc-ink);font-size:clamp(21px,2vw,27px);font-weight:550;letter-spacing:-.035em;line-height:1.15;margin:10px 0 11px}
.gt-consent-root p{margin:0;color:var(--cc-muted);font-size:13px;line-height:1.7}
.gt-consent-root a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.gt-consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.gt-consent-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:12px 14px;border-radius:6px;border:1px solid var(--cc-border);background:transparent;color:var(--cc-ink);font:inherit;font-size:12px;font-weight:600;letter-spacing:.005em;cursor:pointer;white-space:normal;text-align:center;transition:background-color .3s cubic-bezier(.2,.8,.2,1),color .3s cubic-bezier(.2,.8,.2,1),border-color .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s cubic-bezier(.2,.8,.2,1);transform:none!important}
.gt-consent-btn span{display:inline-block;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.gt-consent-btn:hover span{transform:translate3d(2px,-2px,0)}
.gt-consent-btn .gt-consent-arrow-right:hover span{transform:translate3d(3px,0,0)}
.gt-consent-primary{background:var(--cc-accent);border-color:var(--cc-accent);color:var(--cc-on-accent)}
.gt-consent-primary:hover{box-shadow:0 3px 14px rgba(21,55,28,.14);filter:brightness(1.055)}
.gt-consent-secondary:hover{border-color:var(--cc-ink);background:color-mix(in srgb,var(--cc-ink) 6%,transparent)}
.gt-consent-manage{display:block;margin:12px 0 0;padding:8px 4px;border:0;background:none;color:var(--cc-muted);cursor:pointer;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.gt-consent-manage:hover{color:var(--cc-ink)}
.gt-consent-root :focus-visible{outline:2px solid #a57b40;outline-offset:3px}
.gt-consent-backdrop{position:fixed;inset:0;z-index:2147483001;display:grid;place-items:center;padding:16px;background:rgba(4,15,9,.6);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.gt-consent-panel{background:var(--cc-bg);border:1px solid var(--cc-border);border-radius:14px;padding:clamp(20px,3.8vw,32px);color:var(--cc-ink);width:min(510px,100%);max-height:min(92dvh,800px);overflow-y:auto;box-shadow:var(--cc-shadow)}
.gt-consent-panel-top{display:flex;align-items:center;justify-content:space-between;gap:15px}
.gt-consent-close{width:32px;height:32px;border:1px solid var(--cc-border);border-radius:50%;background:transparent;color:var(--cc-ink);font-size:23px;cursor:pointer;line-height:1}
.gt-consent-panel>p{margin-bottom:20px}
.gt-consent-option{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:17px 0;border-top:1px solid var(--cc-border)}
.gt-consent-option strong{display:block;font-size:13px;line-height:1.5;color:var(--cc-ink);font-weight:650}
.gt-consent-option p,.gt-consent-option small{font-size:11px;line-height:1.5;color:var(--cc-muted)}
.gt-consent-required{font-size:10px;white-space:nowrap;color:var(--cc-muted)}
.gt-consent-option-analytics{cursor:pointer}
.gt-consent-option-analytics input{height:20px;width:20px;accent-color:var(--cc-accent);flex:none;cursor:pointer}
.gt-consent-panel .gt-consent-note{font-size:11px;margin:3px 0 19px}
.gt-consent-panel-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:520px){.gt-consent-banner{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;max-height:calc(100dvh - 36px);overflow-y:auto}.gt-consent-actions{grid-template-columns:1fr 1fr}.gt-consent-btn{font-size:11px;padding:10px 8px}.gt-consent-panel-actions .gt-consent-btn{flex:1 1 130px}}
@media(prefers-reduced-motion:reduce){.gt-consent-root *{transition:none!important;animation:none!important}.gt-consent-banner{transform:none!important}}

/* v35: unobtrusive, accessible confirmation when a preference is saved. */
.gt-consent-toast{position:fixed;z-index:2147483002;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:12px 18px;border:1px solid var(--cc-border);border-radius:8px;background:var(--cc-bg);color:var(--cc-ink);box-shadow:var(--cc-shadow);font-size:12px;font-weight:600;text-align:center}
