/*
 * Tarteaucitron — Pit Academy custom theme
 * Overrides default styles to match the site design system.
 * Requires CSS variables from src/styles/app.css (@theme block).
 */

/* ─── Global font reset ──────────────────────────────────────── */
#tarteaucitronRoot * {
  font-family:
    'Inter Tight',
    system-ui,
    -apple-system,
    sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  box-sizing: border-box !important;
}

/* ─── Overlay backdrop ───────────────────────────────────────── */
#tarteaucitronBack {
  background: oklch(0% 0 0 / 0.45) !important;
}

/* ================================================================
   BANNER — bottom bar
   ================================================================ */
#tarteaucitronRoot #tarteaucitronAlertBig {
  background: var(--color-cream, oklch(0.965 0.01 85)) !important;
  color: var(--color-ink, oklch(0.18 0.02 250)) !important;
  border-top: 1px solid var(--color-line, oklch(0.9 0.008 250)) !important;
  box-shadow:
    0 -12px 48px oklch(0% 0 0 / 0.1),
    0 -2px 8px oklch(0% 0 0 / 0.05) !important;
  padding: 20px 28px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px 20px !important;
  text-align: left !important;
  width: 100% !important;
}

/* tarteaucitron collapses the banner by setting inline display:none, but the
   display:flex above (needed for the shown layout) overrides it via !important,
   leaving an invisible full-width bar fixed at the bottom that still intercepts
   clicks on every page. Re-assert the hidden state when the library sets it. */
#tarteaucitronRoot #tarteaucitronAlertBig[style*='display: none'] {
  display: none !important;
}

/* Disclaimer — flex grow + typography */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
  order: 0 !important;
  flex: 1 1 260px !important;
  display: block !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert * {
  color: var(--color-ink, oklch(0.18 0.02 250)) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
  font-weight: 600 !important;
}

/* Shared button base
   tarteaucitronCloseAlert = "Personnaliser", tarteaucitronPersonalize = "Tout accepter" */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCTAButton,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
  flex-shrink: 0 !important;
  border-radius: var(--radius-sm, 8px) !important;
  font-family: 'Inter Tight', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  padding: 9px 18px !important;
  margin: 0 !important;
  transition:
    background-color 180ms cubic-bezier(0.25, 1, 0.5, 1),
    border-color 180ms cubic-bezier(0.25, 1, 0.5, 1),
    color 180ms cubic-bezier(0.25, 1, 0.5, 1),
    border-radius 180ms cubic-bezier(0.25, 1, 0.5, 1) !important;
  cursor: pointer !important;
  line-height: 1.4 !important;
}

/* Personnaliser — ghost */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
  order: 2 !important;
  background: transparent !important;
  color: var(--color-ink, oklch(0.18 0.02 250)) !important;
  border: 1px solid var(--color-line, oklch(0.9 0.008 250)) !important;
  border-radius: 9999px !important;
  font-weight: 600 !important;
  padding: 10px 16px !important;
}

@media (hover: hover) {
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover {
    border-color: var(--color-ink, oklch(0.18 0.02 250)) !important;
  }
}

/* Tout refuser — ghost discret */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
  order: 1 !important;
  background: transparent !important;
  color: var(--color-muted, oklch(0.46 0.018 250)) !important;
  border: 1px solid transparent !important;
}

@media (hover: hover) {
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied:hover,
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover {
    color: var(--color-ink, oklch(0.18 0.02 250)) !important;
    border-color: var(--color-ink, oklch(0.18 0.02 250)) !important;
    border-radius: 9999px !important;
  }
}

/* Tout accepter — primary solid */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
  order: 3 !important;
  background: var(--color-ink, oklch(0.18 0.02 250)) !important;
  color: var(--color-paper, oklch(0.985 0.004 90)) !important;
  border: 1px solid var(--color-ink, oklch(0.18 0.02 250)) !important;
  border-radius: 9999px !important;
  font-weight: 600 !important;
  padding: 10px 16px !important;
  text-decoration: none !important;
}

@media (hover: hover) {
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize:hover,
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover {
    background: var(--color-primary, oklch(0.52 0.16 245)) !important;
    border-color: var(--color-primary, oklch(0.52 0.16 245)) !important;
  }
}

/* Lien "En savoir plus" */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
  order: 4 !important;
  background: transparent !important;
  color: var(--color-muted, oklch(0.46 0.018 250)) !important;
  border: 1px solid transparent !important;
  padding: 9px 10px !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-color: oklch(0.46 0.018 250 / 0.4) !important;
}

@media (hover: hover) {
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl:hover {
    color: var(--color-ink, oklch(0.18 0.02 250)) !important;
    text-decoration-color: oklch(0.18 0.02 250) !important;
  }
}

/* Lien interne dans le disclaimer */
#tarteaucitronRoot #tarteaucitronAlertBig a {
  color: var(--color-primary, oklch(0.52 0.16 245)) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* ================================================================
   MODAL — core container
   IMPORTANT: Do NOT set display here — tarteaucitron controls
   show/hide via inline style="display:block/none". Setting
   display:flex !important here would permanently override that
   and make the modal always visible on first page load.
   ================================================================ */
#tarteaucitronRoot div#tarteaucitron {
  background: var(--color-paper, oklch(0.985 0.004 90)) !important;
  border-radius: var(--radius-lg, 22px) !important;
  border: 1px solid var(--color-line, oklch(0.9 0.008 250)) !important;
  box-shadow:
    0 32px 80px oklch(0% 0 0 / 0.2),
    0 4px 16px oklch(0% 0 0 / 0.08) !important;
  /* overflow-y:auto clips to border-radius AND allows scroll */
  overflow-y: auto !important;
  overflow-x: hidden !important;
  max-height: min(680px, 92dvh) !important;
  width: min(720px, 94vw) !important;
  /* Center the modal (overrides default left:50%;margin:-430px) */
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin-left: 0 !important;
  right: auto !important;
}

/* ── Close panel — sticky header (position:sticky within overflow-y:auto modal) ── */
#tarteaucitronRoot #tarteaucitronClosePanel,
#tarteaucitron button#tarteaucitronClosePanel {
  position: sticky !important;
  top: 0 !important;
  z-index: 10 !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  /* Full-width header bar */
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  /* Styling */
  background: var(--color-dark, oklch(0.18 0.02 245)) !important;
  color: var(--color-paper, oklch(0.985 0.004 90)) !important;
  border: none !important;
  border-radius: 0 !important;
  border-left: 3px solid var(--color-primary, oklch(0.52 0.16 245)) !important;
  font-family: 'JetBrains Mono', 'Courier New', monospace !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  padding: 13px 20px !important;
  cursor: pointer !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transition: background-color 180ms cubic-bezier(0.25, 1, 0.5, 1) !important;
}

@media (hover: hover) {
  #tarteaucitronRoot #tarteaucitronClosePanel:hover,
  #tarteaucitron button#tarteaucitronClosePanel:hover {
    background: var(--color-ink, oklch(0.18 0.02 250)) !important;
  }
}

/* ── Services body ────────────────────────────────────────────── */
#tarteaucitronRoot div#tarteaucitronServices {
  height: auto !important;
  max-height: none !important;
  margin-top: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
}

/* ================================================================
   MODAL HEADER — main line (title + info + global prefs row)
   ================================================================ */

/* CSS grid: title/info span full width, label+buttons on one row */
#tarteaucitronRoot .tarteaucitronMainLine {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  column-gap: 20px !important;
  padding: 22px 24px 20px !important;
  background: var(--color-primary-soft, oklch(0.93 0.04 245)) !important;
  border: none !important;
  border-bottom: 1px solid oklch(0.86 0.06 245) !important;
  border-left: none !important;
  margin: 0 !important;
  position: static !important;
}

/* H1 title — full width */
#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronH1 {
  grid-column: 1 / -1 !important;
  display: block !important;
  text-align: left !important;
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  color: var(--color-primary-ink, oklch(0.32 0.14 245)) !important;
  line-height: 1.3 !important;
  margin: 0 0 6px 0 !important;
}

/* Info section — full width, no border, left-aligned */
#tarteaucitronRoot .tarteaucitronMainLine #tarteaucitronInfo,
div#tarteaucitronInfo {
  grid-column: 1 / -1 !important;
  position: static !important;
  display: block !important;
  text-align: left !important;
  max-width: 100% !important;
  width: auto !important;
  background: transparent !important;
  color: var(--color-primary-ink, oklch(0.32 0.14 245)) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 14px 0 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  border-radius: 0 !important;
}

/* Hide the <br> spacers */
#tarteaucitronRoot #tarteaucitronInfo br {
  display: none !important;
}

/* "Politique de confidentialité" inline link-button */
#tarteaucitronRoot #tarteaucitronPrivacyUrlDialog {
  display: inline !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 13px !important;
  color: var(--color-primary, oklch(0.52 0.16 245)) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  cursor: pointer !important;
  vertical-align: baseline !important;
  font-weight: 500 !important;
}

/* "Préférences" label — grid col 1 (auto-placed) */
#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronName {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronH2 {
  display: block !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--color-primary-ink, oklch(0.32 0.14 245)) !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* Global accept/deny buttons — grid col 2 (auto-placed) */
#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAsk,
#tarteaucitronRoot #tarteaucitronScrollbarAdjust {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  float: none !important;
  margin: 0 !important;
  width: auto !important;
  flex-shrink: 0 !important;
  text-align: right !important;
}

/* ================================================================
   HIDE CHECKBOX / CROSS INDICATORS IN BUTTONS
   ================================================================ */
#tarteaucitronRoot .tarteaucitronCheck,
#tarteaucitronRoot .tarteaucitronCross {
  display: none !important;
}

/* ================================================================
   BUTTON STYLES — accept / deny (used throughout modal)
   ================================================================ */
#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronAllAllowed,
#tarteaucitronRoot #tarteaucitronAllDenied,
#tarteaucitronRoot #tarteaucitronAllDenied2 {
  border-radius: var(--radius-sm, 8px) !important;
  font-family: 'Inter Tight', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  padding: 7px 14px !important;
  height: auto !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
  transition:
    background-color 180ms cubic-bezier(0.25, 1, 0.5, 1),
    border-color 180ms cubic-bezier(0.25, 1, 0.5, 1),
    color 180ms cubic-bezier(0.25, 1, 0.5, 1) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  margin-left: 0 !important;
}

/* Allow / accept — primary solid */
#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronAllAllowed {
  background: var(--color-primary, oklch(0.52 0.16 245)) !important;
  color: var(--color-paper, oklch(0.985 0.004 90)) !important;
  border: 1px solid transparent !important;
}

@media (hover: hover) {
  #tarteaucitronRoot .tarteaucitronAllow:hover,
  #tarteaucitronRoot #tarteaucitronAllAllowed:hover {
    background: oklch(0.47 0.16 245) !important;
  }
}

/* Deny — outlined */
#tarteaucitronRoot .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronAllDenied,
#tarteaucitronRoot #tarteaucitronAllDenied2 {
  background: transparent !important;
  color: var(--color-ink, oklch(0.18 0.02 250)) !important;
  border: 2px solid oklch(0.72 0.012 250) !important;
}

@media (hover: hover) {
  #tarteaucitronRoot .tarteaucitronDeny:hover,
  #tarteaucitronRoot #tarteaucitronAllDenied:hover,
  #tarteaucitronRoot #tarteaucitronAllDenied2:hover {
    background: oklch(0.955 0.008 245) !important;
    border-color: var(--color-ink-2, oklch(0.32 0.02 250)) !important;
  }
}

/* State indicators — active button is full opacity, inactive is dimmed */
#tarteaucitronRoot .tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronIsDenied .tarteaucitronDeny {
  opacity: 1 !important;
}

#tarteaucitronRoot .tarteaucitronIsAllowed .tarteaucitronDeny,
#tarteaucitronRoot .tarteaucitronIsDenied .tarteaucitronAllow {
  opacity: 0.32 !important;
}

/* Selected state in modal (global buttons) */
#tarteaucitronRoot #tarteaucitronAllDenied.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitronAllDenied2.tarteaucitronIsSelected {
  background: oklch(0.955 0.008 245) !important;
  border-color: var(--color-ink-2, oklch(0.32 0.02 250)) !important;
  opacity: 1 !important;
}

/* ================================================================
   SERVICE LINES — flex layout (override default float)
   ================================================================ */

/* Category border container */
#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
  background: var(--color-paper, oklch(0.985 0.004 90)) !important;
  border: none !important;
  box-shadow: none !important;
  overflow: visible !important;
  height: auto !important;
}

/* Category toggle row */
#tarteaucitronRoot .tarteaucitronTitle {
  background: transparent !important;
  border-bottom: 1px solid var(--color-line-2, oklch(0.94 0.006 250)) !important;
}

#tarteaucitronRoot .tarteaucitronTitle button.catToggleBtn,
#tarteaucitronRoot .tarteaucitronTitle button.tarteaucitron-toggle-group,
#tarteaucitronRoot .asCatToggleBtn {
  background: transparent !important;
  color: var(--color-ink, oklch(0.18 0.02 250)) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 14px 20px !important;
  width: 100% !important;
  text-align: left !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  border: none !important;
  margin: 0 !important;
}

/* Hide the "✛" plus icon — we use the CSS ::after chevron from tarteaucitron */
#tarteaucitronRoot .tarteaucitronPlus {
  display: none !important;
}

/* Category description */
#tarteaucitronRoot .tarteaucitronDetails {
  background: var(--color-mist, oklch(0.955 0.008 245)) !important;
  color: var(--color-muted, oklch(0.46 0.018 250)) !important;
  font-size: 12px !important;
  padding: 10px 20px !important;
  margin: 0 !important;
  display: none !important;
  width: auto !important;
  max-width: 100% !important;
  position: static !important;
  border-top: 1px solid var(--color-line-2, oklch(0.94 0.006 250)) !important;
}

/* "No cookies" message — keep it controlled by tarteaucitron JS */
#tarteaucitronRoot #tarteaucitronNoServicesTitle {
  display: none !important;
}

/* Override above when tarteaucitron actually wants to show it */
#tarteaucitronRoot #tarteaucitronNoServicesTitle[style*='block'] {
  display: block !important;
  padding: 16px 20px !important;
}

/* Individual service line — flex row */
#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronLine:not(#tarteaucitronNoServicesTitle) {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 14px 20px !important;
  background: transparent !important;
  border-left: none !important;
  border-bottom: 1px solid var(--color-line-2, oklch(0.94 0.006 250)) !important;
  overflow: visible !important;
  float: none !important;
  margin: 0 !important;
}

#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronLine:last-child {
  border-bottom: none !important;
}

/* Service name area */
#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronLine .tarteaucitronName {
  flex: 1 !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  min-width: 0 !important;
}

/* Service line — allow/deny buttons area */
#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronLine .tarteaucitronAsk {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  float: none !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  text-align: right !important;
  width: auto !important;
}

/* Service heading (H3) */
#tarteaucitronRoot .tarteaucitronH3 {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--color-ink, oklch(0.18 0.02 250)) !important;
  margin: 0 0 4px 0 !important;
  display: block !important;
}

/* Status info (current consent status + cookie list) */
#tarteaucitronRoot .tarteaucitronStatusInfo {
  display: block !important;
  margin: 2px 0 4px !important;
}

#tarteaucitronRoot .tacCurrentStatus {
  color: var(--color-muted, oklch(0.46 0.018 250)) !important;
  font-size: 12px !important;
  text-transform: capitalize !important;
}

#tarteaucitronRoot .tarteaucitronReadmoreSeparator {
  color: var(--color-muted, oklch(0.46 0.018 250)) !important;
  font-size: 12px !important;
  display: inline !important;
}

#tarteaucitronRoot .tarteaucitronListCookies {
  display: none !important;
}

/* "En savoir plus" / "Voir le site officiel" links */
#tarteaucitronRoot .tarteaucitronReadmoreInfo,
#tarteaucitronRoot .tarteaucitronReadmoreOfficial {
  color: var(--color-primary, oklch(0.52 0.16 245)) !important;
  font-size: 12px !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  font-weight: 400 !important;
}

/* ================================================================
   SAVE BUTTON FOOTER — sticky at bottom of the scroll container
   ================================================================ */
#tarteaucitronRoot #tarteaucitronSave {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 5 !important;
  border-top: 1px solid var(--color-line, oklch(0.9 0.008 250)) !important;
  padding: 16px 20px !important;
  background: var(--color-paper, oklch(0.985 0.004 90)) !important;
  display: flex !important;
  justify-content: flex-end !important;
  text-align: right !important;
}

#tarteaucitronRoot #tarteaucitronSaveButton {
  background: var(--color-primary, oklch(0.52 0.16 245)) !important;
  color: var(--color-paper, oklch(0.985 0.004 90)) !important;
  border: none !important;
  border-radius: var(--radius-sm, 8px) !important;
  font-family: 'Inter Tight', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 10px 24px !important;
  cursor: pointer !important;
  transition: background-color 180ms cubic-bezier(0.25, 1, 0.5, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
}

@media (hover: hover) {
  #tarteaucitronRoot #tarteaucitronSaveButton:hover {
    background: oklch(0.47 0.16 245) !important;
  }
}

/* ================================================================
   TARTEAUCITRON CREDIT LINK
   ================================================================ */
#tarteaucitronRoot a.tarteaucitronSelfLink {
  position: static !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 10px 20px !important;
  height: auto !important;
  border-top: 1px solid var(--color-line-2, oklch(0.94 0.006 250)) !important;
}

#tarteaucitronRoot a.tarteaucitronSelfLink img {
  width: 80px !important;
  margin: 0 auto !important;
  opacity: 0.35 !important;
  filter: grayscale(1) !important;
}

/* Floating icon disabled via showIcon:false in config */
#tarteaucitronIcon {
  display: none !important;
}

/* ================================================================
   MOBILE — full-screen modal + fix service line layout
   ================================================================ */
@media screen and (max-width: 767px) {
  /* Full-screen modal */
  #tarteaucitronRoot div#tarteaucitron {
    width: 100vw !important;
    max-width: 100vw !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
    border: none !important;
    left: 0 !important;
    transform: none !important;
    top: 0 !important;
  }

  /*
     * Tarteaucitron's mobile CSS (specificity 2,1,3) forces
     * .tarteaucitronName, .tarteaucitronAsk, and .tarteaucitronBorder button
     * to width:100% / display:block. The selectors below use specificity
     * (2,3,2) to win and keep the flex row layout compact on mobile.
     */
  /* prettier-ignore */
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine:not(#tarteaucitronNoServicesTitle) {
        display: flex !important;
        align-items: flex-start !important;
        gap: 12px !important;
        padding: 14px 16px !important;
    }

  /* prettier-ignore */
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine .tarteaucitronName {
        flex: 1 !important;
        width: auto !important;
        min-width: 0 !important;
        display: block !important;
        float: none !important;
        margin: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

  /* prettier-ignore */
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine .tarteaucitronAsk {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        width: auto !important;
        flex-shrink: 0 !important;
        float: none !important;
        margin: 0 !important;
        text-align: right !important;
    }

  /* prettier-ignore */
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine .tarteaucitronAsk button {
        width: 86px !important;
        display: inline-flex !important;
        justify-content: center !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}

/* ================================================================
   FOCUS STATES — a11y
   ================================================================ */
#tarteaucitronRoot a:focus-visible,
#tarteaucitronRoot button:focus-visible {
  outline: 2px solid var(--color-primary, oklch(0.52 0.16 245)) !important;
  outline-offset: 2px !important;
  border-radius: var(--radius-sm, 8px) !important;
}
