.acp-layer[hidden], .acp-reopen[hidden] { display: none !important; }
.acp-layer { position: fixed; z-index: 2147483000; inset: 0; display: flex; padding: 1rem; align-items: flex-end; justify-content: center; background: rgba(3, 12, 8, .46); backdrop-filter: blur(4px); }
.acp-banner, .acp-preferences { position: relative; width: min(100%, 1120px); color: var(--acp-text, #fffaf0); background: var(--acp-bg, #0b2418); border: 1px solid color-mix(in srgb, var(--acp-primary, #d9a84e) 46%, transparent); border-radius: 1.4rem; box-shadow: 0 1.6rem 5rem rgba(0, 0, 0, .42); font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.acp-banner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem 2.2rem; padding: clamp(1.3rem, 3vw, 2.15rem); }
.acp-banner h2, .acp-preferences h2 { margin: 0 0 .55rem; color: inherit; font: 700 clamp(1.55rem, 3vw, 2.35rem)/1.05 Georgia, serif; letter-spacing: -.035em; }
.acp-banner p, .acp-preferences p { margin: 0; color: color-mix(in srgb, var(--acp-text, #fffaf0) 82%, transparent); font-size: .93rem; line-height: 1.55; }
.acp-kicker { margin-bottom: .45rem !important; color: var(--acp-primary, #d9a84e) !important; font-size: .67rem !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.acp-policy-links { display: flex; gap: 1rem; margin-top: .8rem !important; font-size: .77rem !important; }
.acp-policy-links a, .acp-legal-links a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.acp-banner__actions, .acp-preferences__actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; justify-content: flex-end; }
.acp-button, .acp-close, .acp-reopen, .acp-legal-links button, .acp-blocked-embed button { appearance: none; border: 0; cursor: pointer; font: 700 .72rem/1.2 system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.acp-button { min-height: 2.8rem; padding: .72rem 1rem; border: 1px solid transparent; border-radius: 999px; transition: transform .18s ease, background .18s ease, color .18s ease; }
.acp-button:hover, .acp-button:focus-visible { transform: translateY(-2px); }
.acp-button--primary { color: #102419; background: var(--acp-primary, #d9a84e); }
.acp-button--outline { color: var(--acp-text, #fffaf0); background: transparent; border-color: color-mix(in srgb, var(--acp-text, #fffaf0) 44%, transparent); }
.acp-button--ghost { color: var(--acp-text, #fffaf0); background: color-mix(in srgb, var(--acp-text, #fffaf0) 8%, transparent); }
.acp-close { position: absolute; top: .75rem; right: .75rem; display: grid; width: 2.35rem; height: 2.35rem; place-items: center; color: var(--acp-text, #fffaf0); background: rgba(255,255,255,.08); border-radius: 50%; font-size: 1.4rem; line-height: 1; }
.acp-preferences { max-height: min(88vh, 760px); padding: clamp(1.3rem, 3vw, 2.3rem); overflow-y: auto; }
.acp-preferences__header { display: flex; gap: 2rem; justify-content: space-between; padding-right: 2rem; }
.acp-categories { display: grid; gap: .7rem; margin: 1.35rem 0; }
.acp-category { display: grid; grid-template-columns: 1fr auto; gap: 1.25rem; align-items: center; padding: 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: .9rem; background: rgba(255,255,255,.035); }
.acp-category strong { display: block; margin-bottom: .2rem; font-size: .96rem; }
.acp-category p { font-size: .78rem; }
.acp-switch { display: grid; grid-template-columns: auto; gap: .22rem; justify-items: center; cursor: pointer; }
.acp-switch input { position: absolute; opacity: 0; pointer-events: none; }
.acp-switch span { position: relative; width: 3rem; height: 1.65rem; background: #65716a; border-radius: 99px; transition: background .2s ease; }
.acp-switch span:after { position: absolute; top: .18rem; left: .18rem; width: 1.29rem; height: 1.29rem; content: ""; background: #fff; border-radius: 50%; transition: transform .2s ease; }
.acp-switch input:checked + span { background: var(--acp-primary, #d9a84e); }
.acp-switch input:checked + span:after { transform: translateX(1.35rem); }
.acp-switch input:focus-visible + span { outline: 3px solid rgba(255,255,255,.7); outline-offset: 2px; }
.acp-switch em { color: rgba(255,255,255,.6); font-size: .58rem; font-style: normal; }
.acp-reopen { position: fixed; z-index: 2147482000; right: auto; bottom: 1rem; left: 1rem; display: inline-flex; gap: .5rem; min-height: 2.45rem; padding: .6rem .85rem; align-items: center; color: #102419; background: var(--acp-primary, #d9a84e); border-radius: 999px; box-shadow: 0 .6rem 2rem rgba(0,0,0,.28); }
.acp-legal-links { display: flex; width: 100%; padding: .75rem 1rem; flex-wrap: wrap; gap: .55rem 1.15rem; justify-content: center; color: rgba(255,255,255,.72); background: #06150e; border-top: 1px solid rgba(255,255,255,.09); font: 500 .72rem/1.4 system-ui, sans-serif; }
.acp-legal-links button { padding: 0; color: inherit; background: transparent; text-decoration: underline; text-underline-offset: .2em; }
.acp-cookie-table-wrap { width: 100%; overflow-x: auto; }
.acp-cookie-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: .86rem; }
.acp-cookie-table th, .acp-cookie-table td { padding: .75rem; border: 1px solid rgba(0,0,0,.14); text-align: left; vertical-align: top; }
.acp-cookie-table th { background: rgba(0,0,0,.05); }
.acp-blocked-embed { position: relative; display: grid; min-height: 18rem; place-items: center; overflow: hidden; background: #e9e5db; border-radius: inherit; }
.acp-blocked-embed iframe { display: none; width: 100%; height: 100%; min-height: inherit; border: 0; }
.acp-blocked-embed.is-authorized iframe { display: block; }
.acp-blocked-embed.is-authorized .acp-blocked-embed__notice { display: none; }
.acp-blocked-embed__notice { display: grid; max-width: 28rem; padding: 2rem; gap: .55rem; justify-items: center; color: #17261f; text-align: center; }
.acp-blocked-embed__notice button { margin-top: .45rem; padding: .65rem .9rem; color: #fff; background: #193027; border-radius: 99px; }
body.acp-modal-open { overflow: hidden; }

@media (max-width: 760px) {
  .acp-layer { padding: .55rem; }
  .acp-banner { grid-template-columns: 1fr; gap: 1rem; padding: 1.25rem; padding-top: 2.8rem; }
  .acp-banner__actions, .acp-preferences__actions { display: grid; grid-template-columns: 1fr; }
  .acp-button { width: 100%; }
  .acp-preferences { padding: 1.15rem; padding-top: 2.8rem; }
  .acp-category { grid-template-columns: 1fr; }
  .acp-switch { grid-template-columns: auto 1fr; align-items: center; justify-items: start; }
  .acp-switch em { font-size: .62rem; }
  .acp-reopen { right: auto; bottom: .65rem; left: .65rem; max-width: 10.5rem; font-size: .6rem; }
}

@media (prefers-reduced-motion: reduce) {
  .acp-button, .acp-switch span, .acp-switch span:after { transition: none; }
}
