/* ══════════════════════════════════════════════════════════════
   Tarteaucitron — Ordinal Brand Override
   Dark glass design · Taste-skill compliant
   DESIGN_VARIANCE:8 · MOTION_INTENSITY:6 · VISUAL_DENSITY:4
   ══════════════════════════════════════════════════════════════ */

/* Hide default banner — replaced by custom popover widget */
html body #tarteaucitronRoot #tarteaucitronAlertBig {
  display: none !important;
}

/* Premium cubic-bezier for all transitions */
#tarteaucitronRoot * {
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* ─── Base Typography ─── */
#tarteaucitronRoot *,
#tarteaucitronRoot .tarteaucitronH1,
#tarteaucitronRoot .tarteaucitronH2,
#tarteaucitronRoot .tarteaucitronH3 {
  font-family: 'Area Normal', 'Inter', system-ui, sans-serif !important;
  color: #CACACA !important;
}

#tarteaucitronRoot strong,
#tarteaucitronRoot b,
#tarteaucitronRoot .tarteaucitronH1,
#tarteaucitronRoot .tarteaucitronH2 {
  color: #FFFFFF !important;
  letter-spacing: -0.01em !important;
}

/* ══════════════════════════════════════════════════════════════
   Bottom Banner — Liquid Glass
   ══════════════════════════════════════════════════════════════ */
html body #tarteaucitronRoot #tarteaucitronAlertBig {
  background: rgba(14, 14, 14, 0.85) !important;
  backdrop-filter: blur(32px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(32px) saturate(1.2) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-bottom: 0 !important;
  box-shadow:
    0 -4px 40px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
  padding: 20px 32px !important;
}

html body #tarteaucitronRoot.tarteaucitronSize-middle #tarteaucitronAlertBig,
html body #tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig {
  border-radius: 20px 20px 0 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-bottom: 0 !important;
  box-shadow:
    0 -4px 40px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert * {
  color: #9E9E9E !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  letter-spacing: 0.005em !important;
}

#tarteaucitronAlertBig strong,
#tarteaucitronAlertBig a {
  color: #FFFFFF !important;
}

/* Partners list */
html body #tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList {
  background: rgba(255, 255, 255, 0.03) !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList b {
  color: #FFFFFF !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList ul li {
  color: #878787 !important;
}

/* ══════════════════════════════════════════════════════════════
   CTA Buttons — 3-Level Hierarchy
   Primary:   Accept  (solid accent, single accent rule)
   Secondary: Deny    (glass outline)
   Tertiary:  Links   (underline only, no shape)
   ══════════════════════════════════════════════════════════════ */

/* ─── PRIMARY ─── */
#tarteaucitronRoot button#tarteaucitronAllAllowed,
#tarteaucitronRoot button#tarteaucitronPersonalize2 {
  background: #C4DAF2 !important;
  color: #0E0E0E !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.01em !important;
  padding: 10px 22px !important;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.15),
    0 0 0 1px rgba(196, 218, 242, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#tarteaucitronRoot button#tarteaucitronAllAllowed:hover,
#tarteaucitronRoot button#tarteaucitronPersonalize2:hover {
  background: #d6e7fc !important;
  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.15),
    0 0 0 1px rgba(196, 218, 242, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
  transform: translateY(-1px) !important;
}

#tarteaucitronRoot button#tarteaucitronAllAllowed:active,
#tarteaucitronRoot button#tarteaucitronPersonalize2:active {
  background: #b0cce8 !important;
  transform: scale(0.98) translateY(0) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

/* ─── SECONDARY ─── */
#tarteaucitronRoot button#tarteaucitronAllDenied,
#tarteaucitronRoot button#tarteaucitronAllDenied2 {
  background: rgba(255, 255, 255, 0.03) !important;
  color: #CACACA !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 10px !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  padding: 10px 22px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#tarteaucitronRoot button#tarteaucitronAllDenied:hover,
#tarteaucitronRoot button#tarteaucitronAllDenied2:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
}

#tarteaucitronRoot button#tarteaucitronAllDenied:active,
#tarteaucitronRoot button#tarteaucitronAllDenied2:active {
  background: rgba(255, 255, 255, 0.08) !important;
  transform: scale(0.98) translateY(0) !important;
}

/* ─── TERTIARY (text-only, no border/shape) ─── */
#tarteaucitronRoot button#tarteaucitronCloseAlert,
#tarteaucitronRoot button#tarteaucitronPrivacyUrl {
  background: transparent !important;
  color: #878787 !important;
  border: none !important;
  border-radius: 0 !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  padding: 10px 12px !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(135, 135, 135, 0.25) !important;
  text-underline-offset: 4px !important;
  text-decoration-thickness: 1px !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#tarteaucitronRoot button#tarteaucitronCloseAlert:hover,
#tarteaucitronRoot button#tarteaucitronPrivacyUrl:hover {
  color: #FFFFFF !important;
  text-decoration-color: rgba(255, 255, 255, 0.4) !important;
  background: transparent !important;
}

#tarteaucitronRoot button#tarteaucitronCloseAlert:active,
#tarteaucitronRoot button#tarteaucitronPrivacyUrl:active {
  color: #9E9E9E !important;
  transform: scale(0.98) !important;
}

/* ══════════════════════════════════════════════════════════════
   Control Panel — Liquid Glass Modal
   ══════════════════════════════════════════════════════════════ */
#tarteaucitron .tarteaucitronBorder {
  background: rgba(28, 28, 28, 0.95) !important;
  backdrop-filter: blur(40px) saturate(1.1) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

div#tarteaucitronServices {
  box-shadow:
    0 40px 80px -20px rgba(0, 0, 0, 0.7),
    0 0 0 1px rgba(255, 255, 255, 0.05) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}

#tarteaucitronBack {
  background: rgba(0, 0, 0, 0.55) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* Close button — integrated, not floating */
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronClosePanelCookie,
#tarteaucitron #tarteaucitronClosePanel {
  background: rgba(255, 255, 255, 0.04) !important;
  color: #9E9E9E !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 10px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#tarteaucitron #tarteaucitronClosePanel:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #FFFFFF !important;
}

/* Service lines — clean divide, no boxing */
#tarteaucitron #tarteaucitronServices .tarteaucitronLine {
  background: transparent !important;
  border-left-color: transparent !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine:hover {
  background: rgba(255, 255, 255, 0.02) !important;
}

/* Category headers — subtle depth via top border, not bg */
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
#tarteaucitronRoot .asCatToggleBtn {
  background: rgba(255, 255, 255, 0.02) !important;
  color: #9E9E9E !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronTitle + [id^="tarteaucitronDetails"] {
  background: transparent !important;
  color: #878787 !important;
  font-size: 12px !important;
}

/* Info section — consistent dark, no navy disconnect */
#tarteaucitron #tarteaucitronInfo {
  background: rgba(255, 255, 255, 0.02) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* Main line (Preference for all services) */
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
  background: rgba(255, 255, 255, 0.02) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName a {
  color: #FFFFFF !important;
  font-weight: 500 !important;
}

/* Links */
#tarteaucitron a {
  color: #C4DAF2 !important;
}

#tarteaucitron #tarteaucitronInfo a {
  color: #C4DAF2 !important;
}

/* Status text */
.tarteaucitronName .tacCurrentStatus,
.tarteaucitronName .tarteaucitronReadmoreSeparator {
  color: #555 !important;
  font-size: 12px !important;
}

/* Service name headings */
span.tarteaucitronH3 {
  color: #FFFFFF !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
}

#tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronH3 {
  color: #878787 !important;
}

/* Panel title */
#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronH1 {
  color: #FFFFFF !important;
  font-size: 1.25em !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
}

/* Disclaimer */
#tarteaucitron #tarteaucitronDisclaimer {
  color: #555 !important;
  font-size: 12px !important;
}

/* Save button area */
html body #tarteaucitronRoot div#tarteaucitronSave {
  background: rgba(28, 28, 28, 0.95) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
  padding: 16px 24px !important;
}

html body #tarteaucitronRoot button#tarteaucitronSaveButton {
  background: #C4DAF2 !important;
  color: #0E0E0E !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: 10px 28px !important;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body #tarteaucitronRoot button#tarteaucitronSaveButton:hover {
  background: #d6e7fc !important;
  transform: translateY(-1px) !important;
}

html body #tarteaucitronRoot button#tarteaucitronSaveButton:active {
  background: #b0cce8 !important;
  transform: scale(0.98) !important;
}

/* Per-service buttons — consistent 10px radius */
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow {
  background: #C4DAF2 !important;
  color: #0E0E0E !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow:hover {
  background: #d6e7fc !important;
  transform: translateY(-1px) !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow:active {
  background: #b0cce8 !important;
  transform: scale(0.97) !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny {
  background: rgba(255, 255, 255, 0.03) !important;
  color: #9E9E9E !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 8px !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  transform: translateY(-1px) !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny:active {
  background: rgba(255, 255, 255, 0.1) !important;
  transform: scale(0.97) !important;
}

/* Active states — success green / danger red */
#tarteaucitronRoot #tarteaucitron .tarteaucitronIsAllowed .tarteaucitronAllow {
  background: #27FEC2 !important;
  color: #0E0E0E !important;
  box-shadow:
    0 0 0 1px rgba(39, 254, 194, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronIsDenied .tarteaucitronDeny {
  background: rgba(255, 30, 106, 0.12) !important;
  color: #FF1E6A !important;
  border-color: rgba(255, 30, 106, 0.2) !important;
}

/* Privacy policy link in panel — text link, not button */
#tarteaucitronRoot #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog {
  background: transparent !important;
  color: #C4DAF2 !important;
  border: 1px solid rgba(196, 218, 242, 0.15) !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#tarteaucitronRoot #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog:hover {
  border-color: rgba(196, 218, 242, 0.3) !important;
  background: rgba(196, 218, 242, 0.04) !important;
}

/* ══════════════════════════════════════════════════════════════
   Small Alert + Cookie Icon
   ══════════════════════════════════════════════════════════════ */
#tarteaucitronAlertSmall {
  background: rgba(14, 14, 14, 0.85) !important;
  backdrop-filter: blur(24px) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 12px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

#tarteaucitronAlertSmall #tarteaucitronManager {
  background: transparent !important;
  color: #878787 !important;
}

#tarteaucitronAlertSmall #tarteaucitronManager:hover {
  color: #FFFFFF !important;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer {
  background: rgba(28, 28, 28, 0.95) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* ══════════════════════════════════════════════════════════════
   Modal Overlay — frosted
   ══════════════════════════════════════════════════════════════ */
html body.tarteaucitron-modal-open div#tarteaucitronRoot::before,
html body .tarteaucitronSize-middle.tarteaucitronBeforeVisible::before {
  background: rgba(0, 0, 0, 0.45) !important;
  backdrop-filter: blur(16px) saturate(0.8) !important;
  -webkit-backdrop-filter: blur(16px) saturate(0.8) !important;
}

/* ══════════════════════════════════════════════════════════════
   Focus States — a11y
   ══════════════════════════════════════════════════════════════ */
#tarteaucitronRoot a:focus-visible,
#tarteaucitronRoot button:focus-visible {
  outline: 2px solid #C4DAF2 !important;
  outline-offset: 2px !important;
}

/* ══════════════════════════════════════════════════════════════
   Credit — kill the yellow, mute it completely
   ══════════════════════════════════════════════════════════════ */
#tarteaucitronRoot a#tarteaucitronDot,
#tarteaucitronRoot #tarteaucitronDot,
a[href*="tarteaucitron.io"],
#tarteaucitronRoot [id="tarteaucitronDot"],
div#tarteaucitronRoot a#tarteaucitronDot {
  color: #333 !important;
  font-size: 10px !important;
  text-decoration: none !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  opacity: 0.4 !important;
}

#tarteaucitronRoot a#tarteaucitronDot:hover,
div#tarteaucitronRoot a#tarteaucitronDot:hover {
  color: #555 !important;
  opacity: 0.6 !important;
}

/* ══════════════════════════════════════════════════════════════
   Mobile — collapsed, generous touch targets
   ══════════════════════════════════════════════════════════════ */
@media screen and (max-width: 767px) {
  #tarteaucitronAlertSmall #tarteaucitronCookiesListContainer,
  #tarteaucitron {
    background: #111111 !important;
  }

  html body #tarteaucitronRoot #tarteaucitronAlertBig {
    padding: 20px 16px !important;
  }

  #tarteaucitronRoot button#tarteaucitronPersonalize2,
  #tarteaucitronRoot button#tarteaucitronAllDenied2,
  #tarteaucitronRoot button#tarteaucitronCloseAlert,
  #tarteaucitronRoot button#tarteaucitronPrivacyUrl {
    min-height: 48px !important;
    padding: 14px 20px !important;
  }

  #tarteaucitronRoot #tarteaucitron .tarteaucitronAllow,
  #tarteaucitronRoot #tarteaucitron .tarteaucitronDeny {
    min-height: 48px !important;
  }
}
