/* Rayflections shared tarteaucitron banner - prelaunch 2026-07-03.
   Loaded separately so the home page keeps its own CSS stack. */
html body {
  --ray-cookie-banner-bg: rgba(255, 250, 240, 0.94);
  --ray-cookie-banner-text: #0b1628;
  --ray-cookie-secondary-bg: rgba(255, 250, 240, 0.75);
  --ray-cookie-secondary-text: #0b1628;
  --ray-cookie-privacy-text: rgba(11, 22, 40, 0.68);
}

html body.theme-night,
html[data-theme="night"] body {
  --ray-cookie-banner-bg: rgba(8, 18, 32, 0.92);
  --ray-cookie-banner-text: #fffaf0;
  --ray-cookie-secondary-bg: rgba(255, 250, 240, 0.08);
  --ray-cookie-secondary-text: #fffaf0;
  --ray-cookie-privacy-text: rgba(255, 250, 240, 0.72);
}

html body #tarteaucitronRoot,
html body #tarteaucitronRoot #tarteaucitronAlertBig {
  z-index: 2147483000 !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig {
  left: max(1rem, env(safe-area-inset-left)) !important;
  right: auto !important;
  bottom: max(0.8rem, env(safe-area-inset-bottom)) !important;
  top: auto !important;
  width: min(560px, calc(100% - 2rem)) !important;
  min-width: 0 !important;
  max-width: none !important;
  transform: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 0.45rem !important;
  box-sizing: border-box !important;
  padding: 0.52rem 0.7rem !important;
  border: 1px solid rgba(185, 151, 77, 0.24) !important;
  border-radius: 999px !important;
  background: var(--ray-cookie-banner-bg) !important;
  background-color: var(--ray-cookie-banner-bg) !important;
  background-image: none !important;
  color: var(--ray-cookie-banner-text) !important;
  box-shadow: 0 18px 54px rgba(7, 16, 29, 0.16) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

html body.theme-night #tarteaucitronRoot #tarteaucitronAlertBig,
html[data-theme="night"] body #tarteaucitronRoot #tarteaucitronAlertBig,
html body.theme-night div#tarteaucitronRoot div#tarteaucitronAlertBig.tarteaucitronAlertBig,
html[data-theme="night"] body div#tarteaucitronRoot div#tarteaucitronAlertBig.tarteaucitronAlertBig {
  border-color: rgba(217, 189, 120, 0.28) !important;
  background: rgba(8, 18, 32, 0.92) !important;
  background-color: rgba(8, 18, 32, 0.92) !important;
  background-image: none !important;
  color: #fffaf0 !important;
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.34) !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
  flex: 1 1 240px !important;
  margin: 0 !important;
  padding: 0 0.45rem !important;
  max-width: 310px !important;
  color: currentColor !important;
  font-family: var(--font-body, "Inter", sans-serif) !important;
  font-size: 0.67rem !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig button,
html body #tarteaucitronRoot #tarteaucitronAlertBig a {
  margin: 0 !important;
  border-radius: 999px !important;
  font-family: var(--font-body, "Inter", sans-serif) !important;
  font-size: 0.63rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig button {
  min-height: 0 !important;
  padding: 0.42rem 0.62rem !important;
  border: 1px solid rgba(185, 151, 77, 0.18) !important;
  cursor: pointer !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
  border-color: rgba(185, 151, 77, 0.52) !important;
  background: var(--v2-gold-deep, #b9974d) !important;
  color: #fffaf0 !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDeny,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
  background: var(--ray-cookie-secondary-bg) !important;
  color: var(--ray-cookie-secondary-text) !important;
  border-color: rgba(185, 151, 77, 0.18) !important;
}

html body.theme-night #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDeny,
html body.theme-night #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
html[data-theme="night"] body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDeny,
html[data-theme="night"] body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
html body.theme-night div#tarteaucitronRoot div#tarteaucitronAlertBig.tarteaucitronAlertBig #tarteaucitronAllDenied2,
html body.theme-night div#tarteaucitronRoot div#tarteaucitronAlertBig.tarteaucitronAlertBig #tarteaucitronCloseAlert,
html[data-theme="night"] body div#tarteaucitronRoot div#tarteaucitronAlertBig.tarteaucitronAlertBig #tarteaucitronAllDenied2,
html[data-theme="night"] body div#tarteaucitronRoot div#tarteaucitronAlertBig.tarteaucitronAlertBig #tarteaucitronCloseAlert {
  background: rgba(255, 250, 240, 0.08) !important;
  color: #fffaf0 !important;
  border-color: rgba(217, 189, 120, 0.24) !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 0 !important;
  padding: 0.24rem 0.3rem !important;
  color: var(--ray-cookie-privacy-text) !important;
  -webkit-text-fill-color: var(--ray-cookie-privacy-text) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.18em !important;
  opacity: 0.78 !important;
}

html body.theme-night #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
html[data-theme="night"] body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
  color: rgba(255, 250, 240, 0.72) !important;
  -webkit-text-fill-color: rgba(255, 250, 240, 0.72) !important;
}

html body #tarteaucitronRoot #tarteaucitronIcon {
  bottom: max(0.25rem, env(safe-area-inset-bottom)) !important;
  right: max(0.25rem, env(safe-area-inset-right)) !important;
  opacity: 0.72 !important;
  transform: scale(0.72) !important;
  transform-origin: right bottom !important;
}

html body #tarteaucitronRoot #tarteaucitronIcon:hover,
html body #tarteaucitronRoot #tarteaucitronIcon:focus-within {
  opacity: 1 !important;
}

@media (max-width: 760px) {
  html body #tarteaucitronRoot #tarteaucitronAlertBig {
    left: max(0.5rem, env(safe-area-inset-left)) !important;
    right: max(0.5rem, env(safe-area-inset-right)) !important;
    bottom: max(0.5rem, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: 0.38rem !important;
    padding: 0.5rem !important;
    border-radius: 18px !important;
  }

  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    grid-column: 1 / -1 !important;
    max-width: none !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 0.61rem !important;
    line-height: 1.24 !important;
  }

  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
  html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDeny,
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 31px !important;
    padding: 0.45rem 0.36rem !important;
    white-space: nowrap !important;
    font-size: 0.54rem !important;
  }

  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    padding: 0.1rem 0.2rem !important;
    font-size: 0.54rem !important;
  }
}

@media (max-width: 480px) {
  html body #tarteaucitronRoot #tarteaucitronAlertBig {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.28rem !important;
    padding: 0.44rem !important;
    border-radius: 16px !important;
  }

  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    max-height: 2.85em !important;
    overflow: hidden !important;
    font-size: 0.56rem !important;
    line-height: 1.32 !important;
  }

  html body #tarteaucitronRoot #tarteaucitronAlertBig button,
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
  html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDeny,
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
    box-sizing: border-box !important;
    min-height: 30px !important;
    padding: 0.42rem 0.24rem !important;
    font-size: 0.5rem !important;
  }

  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
    margin-top: 0 !important;
  }
}

/* Mobile audit pass 2026-07-12: compact banner, Lisa handoff. */
@media (max-width: 760px) {
  html body #tarteaucitronRoot,
  html body #tarteaucitronRoot #tarteaucitronAlertBig {
    z-index: 2147483000 !important;
  }

  html body #tarteaucitronRoot #tarteaucitronAlertBig,
  html body.production-v2 #tarteaucitronRoot #tarteaucitronAlertBig {
    left: max(0.5rem, env(safe-area-inset-left)) !important;
    right: max(0.5rem, env(safe-area-inset-right)) !important;
    bottom: max(0.5rem, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    max-height: min(148px, calc(100dvh - 1rem)) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: 0.28rem !important;
    padding: 0.42rem !important;
    overflow: hidden !important;
    border-radius: 16px !important;
  }

  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
  html body.production-v2 #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    grid-column: 1 / -1 !important;
    max-width: none !important;
    max-height: 2.7em !important;
    padding: 0 !important;
    overflow: hidden !important;
    text-align: center !important;
    font-size: clamp(0.54rem, 1.55vw, 0.62rem) !important;
    line-height: 1.28 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
  }

  html body #tarteaucitronRoot #tarteaucitronAlertBig button,
  html body #tarteaucitronRoot #tarteaucitronAlertBig a:not(#tarteaucitronPrivacyUrl),
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
  html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDeny,
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
  html body.production-v2 #tarteaucitronRoot #tarteaucitronAlertBig button,
  html body.production-v2 #tarteaucitronRoot #tarteaucitronAlertBig a:not(#tarteaucitronPrivacyUrl),
  html body.production-v2 #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
  html body.production-v2 #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDeny,
  html body.production-v2 #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 0.18rem !important;
    font-size: clamp(0.47rem, 1.45vw, 0.58rem) !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
  }

  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
  html body.production-v2 #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
    grid-column: 1 / -1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: center !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    font-size: 0.52rem !important;
    line-height: 1.1 !important;
  }

  html body.ray-cookies-visible .lisa-widget {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px) scale(0.84) !important;
  }
}

@media (max-width: 430px) {
  html body #tarteaucitronRoot #tarteaucitronAlertBig,
  html body.production-v2 #tarteaucitronRoot #tarteaucitronAlertBig {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.24rem !important;
    padding: 0.38rem !important;
  }
}

/* Final cookie/Lisa coexistence pass - 2026-07-13. */
html body #tarteaucitronRoot #tarteaucitronIcon {
  z-index: 2147483000 !important;
}

html body #tarteaucitronRoot #tarteaucitron,
html body div#tarteaucitronRoot div#tarteaucitron {
  position: fixed !important;
  top: max(86px, calc(72px + env(safe-area-inset-top))) !important;
  right: max(0.75rem, env(safe-area-inset-right)) !important;
  bottom: max(0.75rem, env(safe-area-inset-bottom)) !important;
  left: max(0.75rem, env(safe-area-inset-left)) !important;
  width: auto !important;
  max-width: min(920px, calc(100vw - 1.5rem)) !important;
  max-height: calc(100dvh - 98px) !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  transform: none !important;
  border-radius: 18px !important;
}

html body #tarteaucitronRoot #tarteaucitronServices,
html body div#tarteaucitronRoot div#tarteaucitronServices {
  max-height: calc(100dvh - 176px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
}

html body #tarteaucitronRoot #tarteaucitronClosePanel,
html body div#tarteaucitronRoot button#tarteaucitronClosePanel,
html body div#tarteaucitronRoot a#tarteaucitronClosePanel {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  min-height: 40px !important;
  touch-action: manipulation !important;
}

html body.ray-cookies-visible .lisa-widget {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

@media (max-width: 760px) {
  html body #tarteaucitronRoot #tarteaucitron,
  html body div#tarteaucitronRoot div#tarteaucitron {
    top: max(78px, calc(68px + env(safe-area-inset-top))) !important;
    right: max(0.5rem, env(safe-area-inset-right)) !important;
    bottom: max(0.5rem, env(safe-area-inset-bottom)) !important;
    left: max(0.5rem, env(safe-area-inset-left)) !important;
    max-width: calc(100vw - 1rem) !important;
    max-height: calc(100dvh - 88px) !important;
    border-radius: 16px !important;
  }

  html body #tarteaucitronRoot #tarteaucitronServices,
  html body div#tarteaucitronRoot div#tarteaucitronServices {
    max-height: calc(100dvh - 154px) !important;
  }
}

@media (orientation: landscape) and (max-height: 620px) {
  html body #tarteaucitronRoot #tarteaucitron,
  html body div#tarteaucitronRoot div#tarteaucitron {
    top: max(70px, env(safe-area-inset-top)) !important;
    bottom: max(0.45rem, env(safe-area-inset-bottom)) !important;
    max-height: calc(100dvh - 76px) !important;
  }

  html body #tarteaucitronRoot #tarteaucitronServices,
  html body div#tarteaucitronRoot div#tarteaucitronServices {
    max-height: calc(100dvh - 132px) !important;
  }
}
