.privacy-choices[hidden] { display: none; }
.privacy-choices { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 1rem; font-family: "Poppins", sans-serif; color: #191414; }
.privacy-choices__backdrop { position: absolute; inset: 0; background: rgba(15, 23, 20, .7); backdrop-filter: blur(4px); }
.privacy-choices__panel { position: relative; width: min(620px, 100%); max-height: calc(100vh - 2rem); overflow-y: auto; padding: clamp(1.4rem, 4vw, 2.4rem); border: 1px solid #d9e4dc; border-radius: 18px; background: #fff; box-shadow: 0 24px 80px rgba(0, 0, 0, .28); }
.privacy-choices__panel h2 { margin: .2rem 0 .65rem; font-size: clamp(1.65rem, 4vw, 2.15rem); color: #133c2d; }
.privacy-choices__panel p { line-height: 1.65; }
.privacy-choices__eyebrow { margin: 0; color: #267a43; font-size: .76rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.privacy-choices__close { position: absolute; top: .75rem; right: .9rem; border: 0; background: transparent; color: #42534b; font-size: 2rem; line-height: 1; cursor: pointer; }
.privacy-choice { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: .9rem; margin-top: 1rem; padding: 1rem; border: 1px solid #d9e4dc; border-radius: 12px; background: #f7faf8; cursor: pointer; }
.privacy-choice h3, .privacy-choice strong { display: block; margin: 0 0 .3rem; font-size: 1rem; color: #173e30; }
.privacy-choice p, .privacy-choice small { display: block; margin: 0; color: #53665e; font-size: .88rem; line-height: 1.55; }
.privacy-choice__status { color: #267a43; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.privacy-choice input { position: absolute; opacity: 0; pointer-events: none; }
.privacy-choice__switch { position: relative; width: 48px; height: 28px; border-radius: 999px; background: #9aa9a1; transition: background .2s ease; }
.privacy-choice__switch::after { content: ""; position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.25); transition: transform .2s ease; }
.privacy-choice input:checked + .privacy-choice__switch { background: #2fa94f; }
.privacy-choice input:checked + .privacy-choice__switch::after { transform: translateX(20px); }
.privacy-choice input:focus-visible + .privacy-choice__switch { outline: 3px solid rgba(47, 169, 79, .3); outline-offset: 3px; }
.privacy-choice input:disabled + .privacy-choice__switch { opacity: .55; }
.privacy-choices__gpc { margin: 1rem 0 0; padding: .8rem 1rem; border-left: 3px solid #2fa94f; background: #edf8f0; color: #173e30; font-size: .88rem; }
.privacy-choices__note { margin: 1rem 0 0; color: #53665e; font-size: .82rem; }
.privacy-choices__note a { color: #267a43; }
.privacy-choices__actions { display: flex; justify-content: flex-end; gap: .75rem; margin-top: 1.35rem; }
.privacy-choices-open { overflow: hidden; }
.footer-link-button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; text-decoration: underline; cursor: pointer; }
.footer-link-button:hover, .footer-link-button:focus-visible { color: var(--bloom, #40b93c); }
@media (max-width: 560px) {
  .privacy-choice { grid-template-columns: 1fr auto; }
  .privacy-choice--required { grid-template-columns: 1fr; }
  .privacy-choices__actions { align-items: stretch; flex-direction: column-reverse; }
  .privacy-choices__actions .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .privacy-choice__switch, .privacy-choice__switch::after { transition: none; }
}
