/* Privacy controls inherit the AMC tokens; no global brand or font changes. */
.amc-privacy { --privacy-ink: var(--color-ink-black, #1a1a1b); --privacy-paper: var(--color-pearl-white, #fafaf7); --privacy-gold: var(--color-champagne-gold, #c9a961); --privacy-border: var(--color-border-gray, #e8e6e0); position: fixed; inset: 0; z-index: 1100; display: flex; align-items: center; justify-content: center; padding: 2rem; background: rgba(26, 26, 27, .44); color: var(--privacy-ink); font-family: var(--font-sans, 'Inter', sans-serif); font-size: 1rem; line-height: 1.6; overscroll-behavior: contain; }
.amc-privacy[hidden], .amc-privacy [hidden] { display: none !important; }
.amc-privacy *, .amc-privacy *::before, .amc-privacy *::after { box-sizing: border-box; }
.amc-privacy { padding-right: max(2rem, env(safe-area-inset-right)); padding-left: max(2rem, env(safe-area-inset-left)); }
.amc-privacy__panel { display: flex; flex-direction: column; width: min(100%, 600px); max-height: calc(100vh - 4rem); max-height: calc(100dvh - 4rem); min-height: 0; background: var(--privacy-paper); border: 1px solid var(--privacy-border); border-radius: 0; box-shadow: 0 1.5rem 5rem rgba(26, 26, 27, .2); outline: none; animation: amc-privacy-enter var(--amc-motion-fast, 240ms) var(--amc-ease-premium, cubic-bezier(.22, 1, .36, 1)) both; }
.amc-privacy__header { padding: 1.75rem 0 1rem; }
.amc-privacy__eyebrow { margin: 0 0 .75rem; color: var(--privacy-ink); font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.amc-privacy__eyebrow::before { content: ''; display: block; width: 3rem; height: 1px; margin-bottom: .75rem; background: var(--privacy-gold); }
.amc-privacy h2 { margin: 0; color: var(--privacy-ink); font-family: var(--font-serif, 'Playfair Display', Georgia, serif); font-size: 2rem; font-weight: 400; line-height: 1.2; letter-spacing: -.02em; overflow-wrap: break-word; text-wrap: balance; }
.amc-privacy__body { min-height: 0; overflow-y: auto; padding: 0 2rem 1.25rem; overscroll-behavior: contain; scrollbar-gutter: stable; }
.amc-privacy p { margin: 0 0 1rem; max-width: 65ch; }
.amc-privacy__reassurance, .amc-privacy__note, .amc-privacy__availability { color: var(--color-smoke-gray, #666661); }
.amc-privacy__notice { font-size: .875rem; }
.amc-privacy__notice a { color: var(--privacy-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em; }
.amc-privacy__notice span { white-space: nowrap; }
.amc-privacy__body > :last-child, .amc-privacy__purpose > :last-child { margin-bottom: 0; }
.amc-privacy__details-intro { margin-bottom: 1.25rem !important; }
.amc-privacy__purpose { padding: 1.25rem 0; border-top: 1px solid var(--privacy-border); }
.amc-privacy__purpose-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .25rem 1rem; margin-bottom: .5rem; }
.amc-privacy h3 { margin: 0; font-family: inherit; font-size: 1rem; font-weight: 600; line-height: 1.4; }
.amc-privacy__fixed-state { color: var(--color-smoke-gray, #666661); font-size: .8125rem; }
.amc-privacy__purpose p { margin-bottom: .5rem; }
.amc-privacy__choice { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; min-height: 44px; margin-bottom: .25rem; font-weight: 600; line-height: 1.4; cursor: pointer; }
.amc-privacy__choice > span:first-child { flex: 1; min-width: min-content; max-width: 100%; overflow-wrap: normal; }
.amc-privacy__choice input { position: absolute; right: 0; top: 0; width: 48px; height: 44px; margin: 0; opacity: 0; cursor: pointer; }
.amc-privacy__switch { flex: none; width: 48px; height: 28px; padding: 3px; border: 1px solid var(--color-smoke-gray, #666661); background: var(--privacy-paper); transition: background-color var(--amc-motion-fast, 240ms) ease; pointer-events: none; }
.amc-privacy__switch::before { content: ''; display: block; width: 20px; height: 20px; background: var(--color-smoke-gray, #666661); transition: transform var(--amc-motion-fast, 240ms) cubic-bezier(.22, 1, .36, 1); }
.amc-privacy__choice input:checked + .amc-privacy__switch { background: var(--privacy-gold); border-color: var(--privacy-ink); }
.amc-privacy__choice input:checked + .amc-privacy__switch::before { transform: translateX(20px); background: var(--privacy-ink); }
.amc-privacy__choice input:focus-visible + .amc-privacy__switch { outline: 2px solid var(--privacy-ink); outline-offset: 4px; }
.amc-privacy__choice input:disabled { cursor: default; }
.amc-privacy__choice input:disabled + .amc-privacy__switch { opacity: .55; }
.amc-privacy__inventory { margin-top: .5rem; font-size: .875rem; }
.amc-privacy__inventory summary { min-height: 44px; padding: .625rem 0; color: var(--privacy-ink); cursor: pointer; text-decoration: underline; text-underline-offset: .25em; }
.amc-privacy__inventory p { margin-top: .5rem; }
.amc-privacy__availability { font-size: .875rem; }
.amc-privacy__feedback { padding: 1rem; border: 1px solid var(--privacy-border); background: #f3efe6; overflow-wrap: anywhere; }
.amc-privacy__feedback[data-state="error"] { border-color: #b85450; }
.amc-privacy__actions { flex: none; padding: 1.25rem 2rem 1.5rem; border-top: 1px solid var(--privacy-border); background: var(--privacy-paper); }
.amc-privacy__decision-actions, .amc-privacy__detail-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .625rem; }
.amc-privacy__button { min-height: 48px; width: 100%; display: flex; align-items: center; justify-content: center; padding: .75rem .625rem; border: 1px solid var(--privacy-ink); border-radius: 0; background: var(--privacy-gold); color: var(--privacy-ink); font: 600 .875rem/1.4 var(--font-sans, 'Inter', sans-serif); letter-spacing: 0; text-align: center; cursor: pointer; overflow-wrap: normal; transition: background-color var(--amc-motion-fast, 240ms) ease, opacity var(--amc-motion-fast, 240ms) ease; }
.amc-privacy__button:hover { background: #d6bb83; }
.amc-privacy__button:active { background: #bda05e; }
.amc-privacy__button:disabled { opacity: .65; cursor: wait; }
.amc-privacy__button--text { grid-column: 1 / -1; background: transparent; border-color: transparent; text-decoration: underline; text-underline-offset: .25em; }
.amc-privacy__button--text:hover { background: #f3efe6; }
.amc-privacy :is(button, a, summary):focus-visible { outline: 2px solid var(--privacy-ink); outline-offset: 3px; }
.amc-privacy__escape-note { margin: .625rem 0 0 !important; color: var(--color-smoke-gray, #666661); font-size: .75rem; line-height: 1.5; }
.amc-privacy-auth-links, .amc-privacy-noscript { margin: 1.5rem auto; padding: 0 1.25rem; max-width: 65ch; text-align: center; font: .875rem/1.6 var(--font-sans, 'Inter', sans-serif); }
.amc-privacy-auth-links a { display: inline-flex; align-items: center; min-height: 44px; }
@keyframes amc-privacy-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 640px) {
    .amc-privacy { align-items: flex-end; padding: 2rem 0 0; padding-top: max(2rem, env(safe-area-inset-top)); }
    .amc-privacy__panel { width: 100%; max-height: calc(100vh - 2rem); max-height: calc(100dvh - max(2rem, env(safe-area-inset-top))); border-bottom: 0; }
    .amc-privacy__header { padding: 1.25rem 0 .875rem; }
    .amc-privacy h2 { font-size: 1.75rem; }
    .amc-privacy__body { padding: 0 1.25rem 1rem; }
    .amc-privacy__actions { padding: 1rem 1.25rem max(1rem, env(safe-area-inset-bottom)); }
    .amc-privacy__body, .amc-privacy__actions { padding-left: max(1.25rem, env(safe-area-inset-left)); padding-right: max(1.25rem, env(safe-area-inset-right)); }
    .amc-privacy__decision-actions, .amc-privacy__detail-actions { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
    .amc-privacy__button { font-size: .875rem; }
}
@media (max-height: 500px) {
    .amc-privacy { padding-top: 1rem; padding-bottom: 0; }
    .amc-privacy__panel { max-height: calc(100vh - 1rem); max-height: calc(100dvh - 1rem); }
    .amc-privacy__header { padding-top: .75rem; padding-bottom: .5rem; }
    .amc-privacy__eyebrow { display: none; }
    .amc-privacy__actions { padding-top: .625rem; padding-bottom: max(.625rem, env(safe-area-inset-bottom)); }
    .amc-privacy__escape-note { display: none; }
}
@media (prefers-reduced-motion: reduce) { .amc-privacy__panel { animation: none; } .amc-privacy *, .amc-privacy *::before { transition: none !important; } }
@media (forced-colors: active) { .amc-privacy__button, .amc-privacy__switch { border: 1px solid ButtonText; } .amc-privacy__switch::before { background: ButtonText; } .amc-privacy__choice input:checked + .amc-privacy__switch { background: Highlight; } }
