.ec2bi-consent[hidden] { display: none; }
.ec2bi-consent { position: fixed; z-index: 1100; inset: 0; display: grid; place-items: center; padding: 1rem; }
.ec2bi-consent__backdrop { position: absolute; inset: 0; background: rgb(16 40 32 / 72%); }
.ec2bi-consent__dialog { position: relative; width: min(100%, 44rem); max-height: calc(100vh - 2rem); overflow: auto; padding: clamp(1.5rem, 4vw, 2.5rem); border-top: .35rem solid #83b928; background: #fff; color: #102820; box-shadow: 0 1rem 3rem rgb(0 0 0 / 30%); }
.ec2bi-consent__dialog:focus { outline: 3px solid #15583d; outline-offset: -3px; }
.ec2bi-consent__logo { display: block; width: 9.0625rem; height: 3.4375rem; margin: 0 0 .75rem; object-fit: contain; object-position: left center; }
.ec2bi-consent h2 { margin-top: 0; }
.ec2bi-consent__actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin: 1.5rem 0; }
.ec2bi-consent .button--secondary { border-color: #15583d; background: #fff; color: #15583d; }
.ec2bi-consent .button--secondary:hover { background: #f4f2eb; }
.ec2bi-consent__text-button { border: 0; padding: .5rem; color: inherit; background: transparent; text-decoration: underline; cursor: pointer; font: inherit; }
.ec2bi-consent__category { display: flex; gap: 1rem; justify-content: space-between; align-items: center; padding: 1rem 0; border-top: 1px solid #d7dee1; }
.ec2bi-consent__category h3, .ec2bi-consent__category p { margin: 0; }
.ec2bi-consent__category p { margin-top: .4rem; }
.ec2bi-consent__switch { display: inline-flex; flex: 0 0 auto; cursor: pointer; }
.ec2bi-consent__switch input { position: absolute; opacity: 0; }
.ec2bi-consent__switch span[aria-hidden] { width: 3rem; height: 1.65rem; border-radius: 2rem; background: #71808a; transition: background .15s; }
.ec2bi-consent__switch span[aria-hidden]::after { content: ''; display: block; width: 1.25rem; height: 1.25rem; margin: .2rem; border-radius: 50%; background: #fff; transition: transform .15s; }
.ec2bi-consent__switch input:checked + span { background: #187544; }
.ec2bi-consent__switch input:checked + span::after { transform: translateX(1.35rem); }
.ec2bi-consent__switch input:focus-visible + span { outline: 3px solid #83b928; outline-offset: 3px; }
@media (max-width: 36rem) { .ec2bi-consent { padding: .5rem; } .ec2bi-consent__dialog { max-height: calc(100vh - 1rem); } .ec2bi-consent__category { align-items: flex-start; } }
