/* Ummah Charity — habillage du bandeau et du panneau tarteaucitron (couleurs du site). Fichier identique dans les 2 dépôts. */
#tarteaucitronRoot, #tarteaucitronRoot * { font-family: inherit !important; box-sizing: border-box; }

/* ---------- Bandeau ---------- */
#tarteaucitronRoot #tarteaucitronAlertBig { background: #2b0b46 !important; color: #fff !important; padding: 14px 18px !important; }
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert { color: #fff !important; font-size: 15px !important; line-height: 1.5 !important; }
#tarteaucitronRoot #tarteaucitronAlertBig button, #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
  font-size: 14px !important; font-weight: 700 !important; line-height: 1.2 !important; min-height: 0 !important; height: auto !important;
  padding: 8px 18px !important; margin: 4px 3px !important; width: auto !important; border-radius: 999px !important; box-shadow: none !important; }
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2, #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
  background: #fff !important; color: #2b0b46 !important; border: 1px solid #fff !important; }
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert { background: transparent !important; color: #fff !important; border: 1px solid rgba(255,255,255,.8) !important; }
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl { background: transparent !important; color: #fff !important; text-decoration: underline !important; border: 0 !important; font-weight: 600 !important; }
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCheck, #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCross { display: none !important; }
@media (max-width: 600px) {
  #tarteaucitronRoot #tarteaucitronAlertBig { padding: 10px 12px !important; }
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert { font-size: 13px !important; line-height: 1.4 !important; display: block !important; margin-bottom: 6px !important; }
  #tarteaucitronRoot #tarteaucitronAlertBig button { padding: 7px 12px !important; font-size: 13px !important; }
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl { font-size: 12px !important; padding: 4px 8px !important; }
}

/* ---------- Icône « gérer mes cookies » ---------- */
#tarteaucitronIcon #tarteaucitronManager { background: #2b0b46 !important; border-radius: 50% !important; width: 48px !important; height: 48px !important;
  padding: 10px !important; box-shadow: 0 4px 14px rgba(43,11,70,.35) !important; border: 2px solid #fff !important; }
#tarteaucitronIcon #tarteaucitronManager img { width: 24px !important; height: 24px !important; }
#tarteaucitronIcon.tarteaucitronIconBottomLeft { bottom: 14px !important; left: 14px !important; }

/* ---------- Panneau de gestion ---------- */
#tarteaucitronRoot #tarteaucitronBack { background: #1b0730 !important; opacity: .55 !important; }
#tarteaucitronRoot #tarteaucitron { max-width: 640px !important; left: 50% !important; transform: translateX(-50%); margin: 0 !important; border-radius: 18px !important; }
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices { background: #fff !important; border-radius: 18px !important; box-shadow: 0 24px 70px rgba(20,0,40,.35) !important; overflow: hidden !important; }
#tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel { background: #fff !important; color: #2b0b46 !important; border-radius: 999px !important; padding: 6px 14px !important;
  font-size: 13px !important; font-weight: 700 !important; top: 12px !important; right: 14px !important; z-index: 3; border: 0 !important; }

/* En-tête violet */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine { background: #2b0b46 !important; border: 0 !important; padding: 26px 28px 20px !important; }
#tarteaucitronRoot #tarteaucitron #dialogTitle { color: #fff !important; font-size: 22px !important; font-weight: 800 !important; display: block; text-align: left !important; margin: 0 0 10px !important; }
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo { color: rgba(255,255,255,.88) !important; background: transparent !important; border: 0 !important; font-size: 14px !important;
  line-height: 1.5 !important; text-align: left !important; padding: 0 !important; margin: 0 0 14px !important; max-width: none !important; width: 100% !important; position: static !important; }
#tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrlDialog { color: #fff !important; background: transparent !important; text-decoration: underline !important; font-size: 14px !important; padding: 0 !important; margin-top: 8px !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronName { margin: 0 !important; width: auto !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronH2 { color: #fff !important; font-size: 15px !important; font-weight: 700 !important; margin: 0 !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk { margin-top: 8px !important; text-align: left !important; }

/* Catégories */
#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder { border: 0 !important; background: #fff !important; padding: 8px 20px 20px !important; max-height: 60vh; overflow-y: auto; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder > div > li, #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronLine {
  background: #f7f3fb !important; border: 0 !important; border-radius: 14px !important; margin: 12px 0 0 !important; padding: 14px 16px !important; list-style: none !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronLine { background: transparent !important; border: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronName { width: auto !important; flex: 1 1 260px; margin: 0 !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronH3 { color: #2b0b46 !important; font-size: 16px !important; font-weight: 800 !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronDetails, #tarteaucitronRoot #tarteaucitron .tarteaucitronInfoBox { background: transparent !important; color: #4a4155 !important; font-size: 14px !important;
  line-height: 1.5 !important; padding: 4px 0 8px !important; position: static !important; display: block !important; max-width: none !important; width: 100% !important; }
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronH3 { font-size: 14px !important; font-weight: 600 !important; color: #4a4155 !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronTitle, #tarteaucitronRoot #tarteaucitron .catToggleBtn { display: none !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitron-toggle-group { color: #6b5a7c !important; font-size: 13px !important; background: transparent !important; padding: 2px 0 !important; text-decoration: underline; }
#tarteaucitronRoot #tarteaucitron ul[id^="tarteaucitronServices_"] .tarteaucitronLine { background: #fff !important; border-radius: 10px !important; padding: 10px 12px !important; margin-top: 8px !important; }
#tarteaucitronRoot #tarteaucitron ul[id^="tarteaucitronServices_"] .tarteaucitronH3 { font-size: 14px !important; font-weight: 700 !important; }

/* Boutons Autoriser / Interdire en pastilles, remplies selon l'état */
#tarteaucitronRoot #tarteaucitron .tarteaucitronAsk { display: flex !important; gap: 8px; margin: 0 !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow, #tarteaucitronRoot #tarteaucitron .tarteaucitronDeny {
  background: #fff !important; color: #2b0b46 !important; border: 1.5px solid #2b0b46 !important; border-radius: 999px !important;
  padding: 7px 16px !important; font-size: 14px !important; font-weight: 700 !important; margin: 0 !important; opacity: 1 !important; min-width: 0 !important; line-height: 1.2 !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAllow, #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronDeny { background: transparent !important; color: #fff !important; border-color: #fff !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronIsAllowed .tarteaucitronAllow, #tarteaucitronRoot #tarteaucitron .tarteaucitronAllow.tarteaucitronIsSelected { background: #2b0b46 !important; color: #fff !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronIsDenied .tarteaucitronDeny, #tarteaucitronRoot #tarteaucitron .tarteaucitronDeny.tarteaucitronIsSelected { background: #6b5a7c !important; border-color: #6b5a7c !important; color: #fff !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine #tarteaucitronAllAllowed.tarteaucitronIsSelected { background: #fff !important; color: #2b0b46 !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronCheck, #tarteaucitronRoot #tarteaucitron .tarteaucitronCross, #tarteaucitronRoot #tarteaucitron .tarteaucitronPlus { display: none !important; }

@media (max-width: 640px) {
  #tarteaucitronRoot #tarteaucitron { width: 100% !important; max-width: 100% !important; left: 0 !important; transform: none; border-radius: 0 !important; top: 0 !important; height: 100% !important; }
  #tarteaucitronRoot #tarteaucitron #tarteaucitronServices { border-radius: 0 !important; height: 100% !important; overflow-y: auto !important; }
  #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder { max-height: none; }
  #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine { padding: 54px 18px 18px !important; }
}

/* ---------- Ajustements catégories ---------- */
/* Le texte de la catégorie est répété au-dessus de sa ligne : on ne garde que celui de la ligne */
#tarteaucitronRoot #tarteaucitron .tarteaucitronDetails { font-size: 0 !important; padding: 0 !important; }
#tarteaucitronRoot #tarteaucitron li[id^="tarteaucitronServicesTitle_"] { background: #f7f3fb !important; border-radius: 14px !important; margin: 12px 0 0 !important; padding: 16px !important; list-style: none !important; }
#tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronLine { background: transparent !important; padding: 0 !important; margin: 0 !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronListCookies:empty { display: none !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronName, #tarteaucitronRoot #tarteaucitron .tarteaucitronName * { font-size: 14px !important; line-height: 1.5 !important; color: #4a4155 !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronName .tarteaucitronH3 { display: block !important; font-size: 16px !important; color: #2b0b46 !important; margin-bottom: 2px !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronName .tarteaucitron-toggle-group { display: inline-flex !important; align-items: center; margin-top: 6px !important; color: #6b5a7c !important; font-size: 13px !important; }
#tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel { top: 16px !important; right: 18px !important; position: absolute !important; margin: 0 !important; }
#tarteaucitronRoot #tarteaucitron #dialogTitle { padding-right: 90px !important; }
@media (max-width: 640px) {
  #tarteaucitronRoot #tarteaucitron .tarteaucitronLine { flex-direction: column; align-items: stretch; }
  #tarteaucitronRoot #tarteaucitron .tarteaucitronName { flex: 1 1 auto; }
  #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk { justify-content: flex-start; }
  #tarteaucitronRoot #tarteaucitron .tarteaucitronAllow, #tarteaucitronRoot #tarteaucitron .tarteaucitronDeny { flex: 1 1 0; text-align: center !important; }
  #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk { justify-content: stretch; }
}
/* Mobile : lien « Gestion des services » sous la description, boutons côte à côte */
#tarteaucitronRoot #tarteaucitron .tarteaucitron-toggle-group { position: static !important; float: none !important; width: auto !important; right: auto !important; top: auto !important; display: inline-flex !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronAsk { flex-direction: row !important; flex-wrap: nowrap !important; width: auto !important; float: none !important; position: static !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow, #tarteaucitronRoot #tarteaucitron .tarteaucitronDeny { display: inline-block !important; width: auto !important; float: none !important; }
/* Les règles mobiles de tarteaucitron sont préfixées « html body » : même préfixe pour passer devant */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk { display: flex !important; flex-direction: row !important; gap: 8px; width: 100% !important; margin: 10px 0 0 !important; float: none !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk .tarteaucitronDeny { display: inline-block !important; flex: 1 1 0 !important; width: auto !important; margin: 0 !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronName { width: 100% !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronName .tarteaucitron-toggle-group { width: auto !important; white-space: nowrap !important; }
@media (min-width: 641px) {
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronAsk { width: auto !important; margin: 0 !important; }
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk .tarteaucitronAllow, html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk .tarteaucitronDeny { flex: 0 0 auto !important; }
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronName { width: auto !important; }
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronName { display: block !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronName .tarteaucitron-toggle-group { display: flex !important; margin: 8px 0 0 !important; padding: 0 !important; }
/* « Enregistrer » = action principale du panneau */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSaveButton { background: #2b0b46 !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
  padding: 10px 24px !important; font-size: 15px !important; font-weight: 700 !important; }

/* ---------- Défilement du panneau (corrige le blocage : c'est le panneau entier qui défile) ---------- */
html body #tarteaucitronRoot #tarteaucitron { top: 24px !important; max-height: calc(100vh - 48px) !important; height: auto !important;
  overflow-y: auto !important; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; border-radius: 18px !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices { overflow: visible !important; height: auto !important; max-height: none !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder { max-height: none !important; overflow: visible !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel { position: absolute !important; }
@media (max-width: 640px) {
  html body #tarteaucitronRoot #tarteaucitron { top: 0 !important; max-height: 100% !important; height: 100% !important; border-radius: 0 !important; }
}

/* ---------- Bouton « Fermer » dans l'en-tête et « Enregistrer » toujours visible ---------- */
/* tarteaucitron décale le bloc de 21 px : « Fermer » chevauchait le bord de l'en-tête violet */
html body #tarteaucitronRoot #tarteaucitron { background: #fff !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices { margin-top: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel { top: 20px !important; right: 20px !important; width: auto !important; line-height: 1.2 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.18) !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel:focus-visible,
html body #tarteaucitronRoot #tarteaucitron button:focus-visible { outline: 2px solid #b48be0 !important; outline-offset: 2px !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel:focus:not(:focus-visible) { outline: none !important; }
/* La page de don impose une hauteur minimale à ses boutons : on la neutralise dans le panneau */
html body #tarteaucitronRoot #tarteaucitron button { min-height: 0 !important; height: auto !important; line-height: 1.2 !important; }
/* Barre d'enregistrement collée en bas du panneau, quel que soit le défilement */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSave { position: sticky !important; bottom: 0 !important; z-index: 4; display: flex !important; justify-content: flex-end; align-items: center;
  background: #fff !important; margin: 0 !important; padding: 14px 20px !important; border-top: 1px solid #ece4f4 !important; box-shadow: 0 -8px 20px rgba(43,11,70,.08) !important; text-align: right !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSave #tarteaucitronSaveButton { margin: 0 !important; }
@media (max-width: 640px) {
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel { top: 14px !important; right: 14px !important; }
  html body #tarteaucitronRoot #tarteaucitron #dialogTitle { font-size: 20px !important; line-height: 1.25 !important; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSave { padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSave #tarteaucitronSaveButton { flex: 1 1 auto; width: 100% !important; padding: 13px 24px !important; }
}
