/* ==========================================
   MY PRETTY FAMILY — Tarteaucitron Override
   Design : barre basse discrète, style MPF
   Primary #6A8FB9 | Dark #1a1a1a | Font Montserrat
   ========================================== */

/* ── Font globale ── */
#tarteaucitronRoot,
#tarteaucitronRoot * {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif !important;
  box-sizing: border-box !important;
}

/* ════════════════════════════════════════
   BARRE BASSE
   ════════════════════════════════════════ */

#tarteaucitronRoot #tarteaucitronAlertBig {
  background: #fff !important;
  color: #1a1a1a !important;
  font-size: 13px !important;
  padding: 12px 32px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 16px !important;
  border-top: 2px solid #6A8FB9 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.07) !important;
}

/* Texte de la barre */
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert a,
.tarteaucitronAlertBigBottom span#tarteaucitronDisclaimerAlert {
  color: #374151 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  flex: 1 1 280px !important;
}

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

/* ── Boutons barre : reset base ── */
#tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  border-radius: 6px !important;
  padding: 9px 18px !important;
  margin: 0 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  transition: opacity 0.15s, background 0.15s, border-color 0.15s !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

/* Tout accepter */
#tarteaucitronAlertBig #tarteaucitronPersonalize {
  background: #6A8FB9 !important;
  color: #ffffff !important;
  border: 1.5px solid #6A8FB9 !important;
  order: 1 !important;
}
#tarteaucitronAlertBig #tarteaucitronPersonalize:hover {
  opacity: 0.82 !important;
}

/* Tout refuser */
#tarteaucitronAlertBig #tarteaucitronPersonalize2 {
  background: #fff !important;
  color: #1a1a1a !important;
  border: 1.5px solid #d1d5db !important;
  order: 2 !important;
}
#tarteaucitronAlertBig #tarteaucitronPersonalize2:hover {
  border-color: #6A8FB9 !important;
  color: #6A8FB9 !important;
}

/* Personnaliser */
#tarteaucitronAlertBig #tarteaucitronCloseAlert {
  background: transparent !important;
  color: #6b7280 !important;
  border: none !important;
  padding: 9px 8px !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-decoration-color: #d1d5db !important;
  order: 3 !important;
}
#tarteaucitronAlertBig #tarteaucitronCloseAlert:hover {
  color: #374151 !important;
  text-decoration-color: #374151 !important;
}

/* Politique de confidentialité */
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog {
  background: transparent !important;
  color: #9ca3af !important;
  border: none !important;
  padding: 9px 4px !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  text-decoration: underline !important;
  text-decoration-color: #e5e7eb !important;
  order: 4 !important;
}
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl:hover,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog:hover {
  color: #6A8FB9 !important;
}

/* Bordures barre bottom/top */
.tarteaucitronAlertBigBottom,
.tarteaucitronAlertBigTop {
  border: none !important;
  border-top: 2px solid #6A8FB9 !important;
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.07) !important;
}

/* ── Icône flottante — masquée ── */
#tarteaucitronIcon {
  display: none !important;
}

/* ════════════════════════════════════════
   PANEL DE GESTION
   ════════════════════════════════════════ */

/* Fond backdrop */
html body.tarteaucitron-modal-open div#tarteaucitronRoot::before,
html body .tarteaucitronSize-middle.tarteaucitronBeforeVisible::before {
  background: rgba(26, 26, 26, 0.4) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

/* Fermer */
#tarteaucitron #tarteaucitronClosePanel {
  background: #f9fafb !important;
  color: #374151 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: 4px 4px 0 0 !important;
  padding: 6px 12px !important;
}
#tarteaucitron #tarteaucitronClosePanel:hover {
  background: #f3f4f6 !important;
}

/* Titre principal */
#tarteaucitronRoot .tarteaucitronH1 {
  color: #1a1a1a !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 16px 0 20px !important;
}

/* Zone info */
#tarteaucitron #tarteaucitronInfo,
#tarteaucitron #tarteaucitronInfo p,
#tarteaucitron #tarteaucitronDisclaimer {
  color: #4b5563 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

/* Conteneur principal */
#tarteaucitron .tarteaucitronBorder {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-top: none !important;
  border-radius: 0 0 8px 8px !important;
}

/* Ligne principale "Préférences pour tous les services" */
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
  background: #f8fafc !important;
  border-bottom: 1px solid #e5e7eb !important;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName a {
  color: #1a1a1a !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* Titres de catégories */
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle,
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle button {
  color: #1a1a1a !important;
  background: #f8fafc !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 10px 20px !important;
  margin: 0 !important;
}

/* Noms de service */
#tarteaucitronRoot .tarteaucitronH2 {
  color: #374151 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName span {
  color: #6b7280 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

/* ── Boutons Autoriser / Interdire ── */
#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronDeny,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder button.tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder button.tarteaucitronDeny {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
  margin: 0 3px !important;
  cursor: pointer !important;
  transition: opacity 0.15s !important;
}

#tarteaucitronRoot .tarteaucitronAllow {
  background: #6A8FB9 !important;
  color: #fff !important;
  border: 1px solid #6A8FB9 !important;
}
#tarteaucitronRoot .tarteaucitronAllow:hover {
  opacity: 0.82 !important;
}

#tarteaucitronRoot .tarteaucitronDeny {
  background: #fff !important;
  color: #374151 !important;
  border: 1px solid #d1d5db !important;
}
#tarteaucitronRoot .tarteaucitronDeny:hover {
  border-color: #9ca3af !important;
}

/* Coche / croix */
#tarteaucitronRoot .tarteaucitronCheck::before { color: #fff !important; }
#tarteaucitronRoot .tarteaucitronCross::before { color: #374151 !important; }

/* Boutons "Tout accepter / Tout refuser" dans le panel */
#tarteaucitronRoot button.tarteaucitronCTAButton {
  background: #6A8FB9 !important;
  color: #fff !important;
  border: 1.5px solid #6A8FB9 !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  padding: 8px 16px !important;
}
#tarteaucitronRoot button.tarteaucitronCTAButton:hover {
  opacity: 0.82 !important;
}

/* Bouton Enregistrer */
html body #tarteaucitronRoot button#tarteaucitronSaveButton {
  background: #6A8FB9 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 12px 32px !important;
  cursor: pointer !important;
}
html body #tarteaucitronRoot button#tarteaucitronSaveButton:hover {
  opacity: 0.85 !important;
}

html body #tarteaucitronRoot div#tarteaucitronSave {
  background: #fff !important;
  border-top: 1px solid #e5e7eb !important;
  padding: 16px 20px !important;
  text-align: right !important;
}

/* ── Liens ── */
#tarteaucitronRoot a,
#tarteaucitronRoot #tarteaucitronPrivacyUrl {
  color: #6A8FB9 !important;
}

/* ── Credit "TARTE AU CITRON" ── */
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo .tarteaucitronPrivacyUrl,
.tarteaucitronAlertBigBottom ~ * .tarteaucitronCredit,
#tarteaucitronRoot strong[style*="fbd600"],
#tarteaucitronRoot [style*="fbd600"] {
  display: none !important;
}

/* Mask any remaining yellow backgrounds */
#tarteaucitronRoot [style*="background: rgb(251, 214, 0)"],
#tarteaucitronRoot [style*="background:#fbd600"],
#tarteaucitronRoot [style*="background: #fbd600"] {
  background: #6A8FB9 !important;
  color: #fff !important;
}

/* ── Mobile ── */
@media screen and (max-width: 680px) {
  #tarteaucitronRoot #tarteaucitronAlertBig {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 16px 20px !important;
    gap: 8px !important;
  }

  #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    flex: none !important;
  }

  #tarteaucitronAlertBig #tarteaucitronPersonalize,
  #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
    width: 100% !important;
    justify-content: center !important;
  }
}
