/* EAE cookie consent — Tarteaucitron branding overrides */

#tarteaucitronRoot {
  --eae-navy: #0b2c48;
  --eae-navy-soft: #2a5077;
  --eae-text: #333d4f;
  --eae-muted: #5f6688;
  --eae-border: rgba(11, 44, 72, 0.12);
  --eae-bg: #ffffff;
  font-family: "Plus Jakarta Sans", "Urbanist", system-ui, -apple-system, sans-serif;
}

#tarteaucitronRoot.tarteaucitronSize-middle #tarteaucitronAlertBig,
#tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig {
  background: var(--eae-bg);
  color: var(--eae-text);
  border: 1px solid var(--eae-border);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(11, 44, 72, 0.22);
  max-width: 640px;
  padding: 28px 28px 22px;
  text-align: left;
}

#tarteaucitronRoot.tarteaucitronSize-middle #tarteaucitronAlertBig::before,
#tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig::before {
  display: block;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--eae-navy);
  margin: 0 0 12px;
  line-height: 1.2;
}

#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
  display: block;
  color: var(--eae-muted);
  font-size: 0.95rem;
  line-height: 1.7;
  margin-bottom: 20px;
}

/* Equal prominence: Accept All + Reject All */
#tarteaucitronAlertBig {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
}

#tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronAlertBig #tarteaucitronAllDenied2 {
  flex: 1 1 160px;
  min-width: 148px;
  margin: 0 !important;
  padding: 12px 18px !important;
  border-radius: 999px !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center;
  border: 2px solid var(--eae-navy) !important;
  box-sizing: border-box;
}

#tarteaucitronAlertBig #tarteaucitronPersonalize2 {
  background: var(--eae-navy) !important;
  color: #fff !important;
}

/* Google Translate wraps button text in <font>/<span> and can force dark color — keep descendants white */
#tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronAlertBig #tarteaucitronPersonalize2 *,
#tarteaucitronAlertBig #tarteaucitronPersonalize2 font,
#tarteaucitronAlertBig #tarteaucitronPersonalize2 span {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

#tarteaucitronAlertBig #tarteaucitronAllDenied2 {
  background: #fff !important;
  color: var(--eae-navy) !important;
}

#tarteaucitronAlertBig #tarteaucitronAllDenied2,
#tarteaucitronAlertBig #tarteaucitronAllDenied2 *,
#tarteaucitronAlertBig #tarteaucitronAllDenied2 font,
#tarteaucitronAlertBig #tarteaucitronAllDenied2 span {
  color: var(--eae-navy) !important;
  -webkit-text-fill-color: var(--eae-navy) !important;
}

#tarteaucitronAlertBig #tarteaucitronPersonalize2:hover,
#tarteaucitronAlertBig #tarteaucitronPersonalize2:focus-visible {
  background: var(--eae-navy-soft) !important;
  border-color: var(--eae-navy-soft) !important;
  color: #fff !important;
}

#tarteaucitronAlertBig #tarteaucitronPersonalize2:hover *,
#tarteaucitronAlertBig #tarteaucitronPersonalize2:focus-visible * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

#tarteaucitronAlertBig #tarteaucitronAllDenied2:hover,
#tarteaucitronAlertBig #tarteaucitronAllDenied2:focus-visible {
  background: #f4f7fb !important;
}

/* Manage Preferences as secondary text control */
#tarteaucitronAlertBig #tarteaucitronCloseAlert {
  flex: 1 1 100%;
  margin: 4px 0 0 !important;
  padding: 8px 4px !important;
  background: transparent !important;
  color: var(--eae-navy-soft) !important;
  border: 0 !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  box-shadow: none !important;
}

#tarteaucitronAlertBig #tarteaucitronCloseAlert:hover,
#tarteaucitronAlertBig #tarteaucitronCloseAlert:focus-visible {
  color: var(--eae-navy) !important;
}

/* Preference panel */
#tarteaucitron {
  font-family: "Plus Jakarta Sans", "Urbanist", system-ui, -apple-system, sans-serif;
  overscroll-behavior: contain;
}

/* Keep wheel/touch scrolling inside the panel, not the page behind */
html[data-eae-cookie-modal="1"],
html.tarteaucitron-modal-open-noscroll,
body.tarteaucitron-modal-open {
  overflow: hidden !important;
}

#tarteaucitron .tarteaucitronBorder,
#tarteaucitronServices {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

#tarteaucitronServices {
  overflow-y: auto !important;
  max-height: min(70vh, 640px);
}

/* Back button (TAC close panel) */
#tarteaucitron #tarteaucitronClosePanel {
  position: absolute !important;
  top: -36px !important;
  left: 0 !important;
  right: auto !important;
  width: auto !important;
  min-width: 88px;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--eae-navy, #0b2c48) !important;
  border: 2px solid var(--eae-navy, #0b2c48) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  z-index: 2;
  box-shadow: 0 4px 14px rgba(11, 44, 72, 0.12);
}

#tarteaucitron #tarteaucitronClosePanel:hover,
#tarteaucitron #tarteaucitronClosePanel:focus-visible {
  background: #f4f7fb !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine,
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle {
  border-color: var(--eae-border);
}

#tarteaucitron .tarteaucitronAllow,
#tarteaucitron #tarteaucitronAllAllowed,
#tarteaucitron #tarteaucitronSaveButton {
  background: var(--eae-navy) !important;
  color: #fff !important;
  border-radius: 999px !important;
}

/* Keep Allow / Accept All label readable after Google Translate wraps text */
#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronAllow *,
#tarteaucitronRoot #tarteaucitronAllAllowed,
#tarteaucitronRoot #tarteaucitronAllAllowed *,
#tarteaucitronRoot #tarteaucitronSaveButton,
#tarteaucitronRoot #tarteaucitronSaveButton * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Checkmarks on dark Allow / Accept All buttons must be white */
#tarteaucitronRoot .tarteaucitronAllow .tarteaucitronCheck,
#tarteaucitronRoot .tarteaucitronAllow .tarteaucitronCheck::before,
#tarteaucitronRoot #tarteaucitronAllAllowed .tarteaucitronCheck,
#tarteaucitronRoot #tarteaucitronAllAllowed .tarteaucitronCheck::before,
#tarteaucitronRoot #tarteaucitronPersonalize2 .tarteaucitronCheck,
#tarteaucitronRoot #tarteaucitronPersonalize2 .tarteaucitronCheck::before,
#tarteaucitronRoot button.tarteaucitronAllow .tarteaucitronCheck::before,
#tarteaucitronRoot #tarteaucitronSaveButton .tarteaucitronCheck::before {
  color: #fff !important;
}

#tarteaucitronRoot .tarteaucitronIsAllowed .tarteaucitronAllow .tarteaucitronCheck::before,
#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronCheck::before {
  color: #fff !important;
}

#tarteaucitron .tarteaucitronDeny,
#tarteaucitron #tarteaucitronAllDenied {
  background: #fff !important;
  color: var(--eae-navy) !important;
  border: 2px solid var(--eae-navy) !important;
  border-radius: 999px !important;
}

#tarteaucitron #tarteaucitronAllAllowed,
#tarteaucitron #tarteaucitronAllDenied {
  min-width: 140px;
  padding: 10px 16px !important;
  font-weight: 600 !important;
}

#tarteaucitron #tarteaucitronSave {
  position: sticky;
  bottom: 0;
  background: #fff;
  border-top: 1px solid var(--eae-border);
  z-index: 1;
}

#tarteaucitron #tarteaucitronSaveButton {
  min-width: 160px;
  padding: 12px 20px !important;
  font-weight: 600 !important;
  border: 0 !important;
}

/* Maps consent placeholder / engage */
.eae-googlemapsembed,
.googlemapsembed {
  min-height: 450px;
  background: #f4f7fb;
  border: 1px solid rgba(11, 44, 72, 0.1);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.eae-googlemapsembed iframe,
.googlemapsembed iframe {
  display: block;
  width: 100%;
  height: 450px;
  border: 0;
  border-radius: 12px;
}

.eae-map-consent-placeholder {
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f4f7fb;
  border-radius: 12px;
  color: var(--eae-muted, #5f6688);
  padding: 24px;
  text-align: center;
}

@media (max-width: 575.98px) {
  #tarteaucitronRoot.tarteaucitronSize-middle #tarteaucitronAlertBig,
  #tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig {
    padding: 22px 18px 18px;
    margin: 12px;
  }

  #tarteaucitronAlertBig #tarteaucitronPersonalize2,
  #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
    flex: 1 1 100%;
  }
}

/* Footer cookie bar (copyright row) */
.footer-cookie-bar {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px 12px;
  margin: 0;
}

.footer-cookie-bar a {
  color: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.footer-cookie-bar a:hover,
.footer-cookie-bar a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer-cookie-bar__sep {
  opacity: 0.45;
  user-select: none;
}

@media (max-width: 991.98px) {
  .footer-cookie-bar {
    justify-content: center;
  }
}
