/* Shared Nimble consent structure, expressed in Target Works type and colour. */
.policy-dialog-header .eyebrow { color: var(--atc-ivory); }
/* The shared stack makes the banner inert; hiding it also removes its higher
   legacy z-index while a modal is open. Closing without a choice restores it. */
body.modal-open .cookie-banner { display: none; }
.policy-dialog-body { overscroll-behavior: contain; }
.policy-dialog-body h4 { margin: 1.5rem 0 .65rem; font: 600 1.1rem/1.3 var(--font-body, sans-serif); }
.policy-dialog-body ul { margin: .8rem 0 1.4rem; padding-left: 1.25rem; }
.policy-dialog-body li { margin: .45rem 0; line-height: 1.6; }
.policy-dialog-body th { text-align: left; }
.policy-review-note { border-left: 3px solid var(--atc-red); padding: .75rem 1rem; background: rgba(10, 10, 10, .04); color: var(--atc-black); }
.cookie-settings-dialog { max-width: 760px; }
.cookie-settings-intro { max-width: 61ch; }
.cookie-settings-categories { display: grid; gap: 0; margin: 1.6rem 0 .5rem; }
.cookie-category { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; column-gap: 1.25rem; padding: 1.15rem 0; border-top: 1px solid #c8c3b8; }
.cookie-category-label { cursor: pointer; }
.cookie-category h3 { margin: 0 0 .4rem; font-size: 1.2rem; line-height: 1.25; }
.cookie-category p { margin: 0; font-size: .925rem; line-height: 1.55; }
.cookie-category input { width: 1.4rem; height: 1.4rem; margin: .25rem 0; accent-color: var(--atc-red); cursor: pointer; }
/* Controls inherit the shared two-tone focus ring; never override it locally. */
.cookie-category input:disabled { cursor: default; }
.cookie-category .cookie-category-status { display: block; margin-top: .5rem; font-size: .8rem; font-weight: 600; color: #59554e; }
.cookie-settings-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; width: 100%; }
.cookie-settings-actions [data-cookie-save] { grid-column: 1 / -1; }
.policy-dialog .cookie-choice, .cookie-banner .cookie-choice { min-height: 48px; padding: .8rem 1.1rem; background: var(--atc-ivory); color: var(--atc-black); border: 1px solid var(--atc-black); font: 700 .84rem/1.3 var(--font-ui); letter-spacing: var(--tracking-button); text-transform: uppercase; text-align: center; cursor: pointer; transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.policy-dialog .cookie-choice:hover, .cookie-banner .cookie-choice:hover { background: var(--atc-black); color: var(--atc-ivory); border-color: var(--atc-ivory); }
.policy-dialog .cookie-choice-save { background: var(--atc-black); color: var(--atc-ivory); }
.policy-dialog .cookie-choice-save:hover { background: var(--atc-ink-2); }
.cookie-banner { grid-template-columns: minmax(0, 1fr) minmax(240px, .65fr); max-width: 1120px; }
.cookie-banner .eyebrow { color: var(--atc-ivory); }
.cookie-banner-actions { display: grid; grid-template-columns: 1fr 1fr; align-content: center; gap: .6rem; }
.cookie-banner-actions [data-policy-trigger="settings"] { grid-column: 1 / -1; background: transparent; color: var(--atc-ivory); border-color: var(--atc-ivory); }
.cookie-banner-actions [data-policy-trigger="settings"]:hover { background: var(--atc-ink-2); }
.cookie-settings-links { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin-top: 1rem; }
.cookie-settings-links a { min-height: 44px; display: inline-flex; align-items: center; }
.policy-page { padding-block: var(--sp-8); background: var(--atc-ivory); color: var(--atc-black); }
.policy-page-inner { width: min(900px, calc(100% - 2 * var(--page-gutter))); margin-inline: auto; }
.policy-page h1 { font: 400 var(--fs-h1)/.98 var(--font-display); letter-spacing: var(--tracking-display); text-transform: uppercase; overflow-wrap: anywhere; margin: .5rem 0 var(--sp-6); }
.policy-page .policy-dialog-body h2 { margin: var(--sp-6) 0 var(--sp-3); font: 700 1.35rem/1.25 var(--font-ui); letter-spacing: .04em; text-transform: uppercase; }
.policy-page .policy-dialog-body h3 { margin: var(--sp-5) 0 var(--sp-2); font: 600 1.1rem/1.3 var(--font-body); letter-spacing: normal; text-transform: none; }
.policy-page .policy-dialog-body { padding: 0; overflow: visible; }
@media (max-width: 760px) {
  .cookie-banner { grid-template-columns: 1fr; max-height: min(80dvh, 650px); overflow-y: auto; }
  .cookie-banner-actions { width: 100%; }
  .cookie-settings-dialog .policy-dialog-footer { padding-top: 1rem; }
  .cookie-category { column-gap: .8rem; }
}
@media (prefers-reduced-motion: reduce) {
  .cookie-choice { transition: none; }
}
