/* ════════════════════════════════════════════════════════════
   FEEL GREAT — Tarteaucitron custom skin
   Editorial Luxury : cream / orange / Fraunces
   ════════════════════════════════════════════════════════════ */

/* ─── Reset all default ugly styles ────────────────────
   IMPORTANT : NE PAS mettre font-family ici. La spécificité
   du sélecteur '*' (0,1,0,0) écrase silencieusement les styles
   Fraunces appliqués sur .tarteaucitronH2 et .tarteaucitronName,
   même avec !important. Le font-family Cabin est appliqué via
   les sélecteurs plus précis ci-dessous (#tarteaucitronDisclaimerAlert,
   #tarteaucitronAlertBig button, etc.). */
#tarteaucitronRoot * {
  box-sizing: border-box !important;
}

/* ─── Hide the floating "manage cookies" pill (we have a footer link) ─── */
#tarteaucitronIcon { display: none !important; }

/* ─── BANDEAU PRINCIPAL (bottom alert) ──────────────────────
   Layout flex à 2 lignes :
   Ligne 1 : 🍪 disclaimer (100%)
   Ligne 2 : [Personnaliser · Politique]   [Refuser] [Accepter]
──────────────────────────────────────────────────────────── */
body #tarteaucitronRoot #tarteaucitronAlertBig {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
#tarteaucitronAlertBig {
  position: fixed !important;
  left: 50% !important;
  bottom: 20px !important;
  transform: translateX(-50%) !important;
  width: calc(100% - 40px) !important;
  max-width: 720px !important;
  margin: 0 !important;
  padding: 22px 28px !important;
  background: rgba(250, 247, 240, 0.94) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border: 1px solid rgba(26, 20, 16, 0.08) !important;
  border-radius: 24px !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.7) inset,
    0 24px 60px -20px rgba(26, 20, 16, 0.25),
    0 8px 24px -8px rgba(26, 20, 16, 0.1) !important;
  color: #1A1410 !important;
  gap: 14px 12px !important;
  z-index: 9999 !important;
  animation: tacSlideUp 600ms cubic-bezier(0.16, 1, 0.3, 1) both !important;
}

/* Ligne 1 : disclaimer texte (full width) */
#tarteaucitronDisclaimerAlert {
  flex: 1 1 100% !important;
  width: 100% !important;
  margin-bottom: 4px !important;
}

/* Ligne 2 : ordre logique des actions
   Les boutons Tarteaucitron sont rendus dans cet ordre dans le DOM,
   on les réordonne visuellement avec 'order' :
   - "Personnaliser" (lien souligné) à GAUCHE
   - "Politique de confidentialité" à GAUCHE après
   - margin-left: auto sur le 1er bouton primary pour pousser à droite
   - "Tout refuser" et "Tout accepter" à DROITE */
#tarteaucitronAlertBig > #tarteaucitronCloseAlert {
  order: 1 !important;
  margin-right: auto !important;
}
#tarteaucitronAlertBig > #tarteaucitronPrivacyUrl {
  order: 2 !important;
  margin-right: auto !important;
}
#tarteaucitronAlertBig > #tarteaucitronAllDenied2 {
  order: 3 !important;
}
#tarteaucitronAlertBig > #tarteaucitronPersonalize2 {
  order: 4 !important;
}
@keyframes tacSlideUp {
  from { opacity: 0; transform: translateX(-50%) translateY(40px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

/* ─── TEXTE DU BANDEAU ──────────────────────────────────── */
#tarteaucitronDisclaimerAlert {
  font-family: 'Cabin', sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  color: #3D2F22 !important;
  font-weight: 400 !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  text-align: left !important;
  flex: 1 1 100% !important;
  width: 100% !important;
}
#tarteaucitronDisclaimerAlert::before {
  content: '🍪 ' !important;
  margin-right: 6px !important;
  font-size: 16px !important;
}

/* ─── BOUTONS DU BANDEAU ───────────────────────────────────── */
#tarteaucitronAlertBig .tarteaucitronCTAButton,
#tarteaucitronAlertBig button {
  font-family: 'Cabin', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  padding: 12px 22px !important;
  border-radius: 100px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 250ms cubic-bezier(0.32, 0.72, 0, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-shadow: none !important;
  margin: 0 !important;
  white-space: nowrap !important;
  min-width: auto !important;
  height: auto !important;
  line-height: 1.2 !important;
  vertical-align: baseline !important;
}

/* (layout flex défini plus haut — order: 1 à 4 sur les 4 boutons) */

/* "Tout accepter" — primary orange (inversé : c'est #tarteaucitronPersonalize2 qui correspond ici) */
#tarteaucitronPersonalize2,
.tarteaucitronAllow {
  background: #D97706 !important;
  color: #FFFFFF !important;
  border: none !important;
  text-decoration: none !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.25) inset,
    0 4px 14px -2px rgba(217, 119, 6, 0.4) !important;
}
#tarteaucitronPersonalize2:hover,
.tarteaucitronAllow:hover {
  background: #9A3412 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.25) inset,
    0 8px 22px -4px rgba(217, 119, 6, 0.55) !important;
}

/* "Tout refuser" — secondary (ink noir) */
#tarteaucitronAllDenied2,
.tarteaucitronDeny {
  background: #1A1410 !important;
  color: #FAF7F0 !important;
  border: none !important;
}
#tarteaucitronAllDenied2:hover,
.tarteaucitronDeny:hover {
  background: #3A2E26 !important;
  color: #FAF7F0 !important;
  transform: translateY(-1px) !important;
}

/* "Personnaliser" — text link souligné (look discret) */
button#tarteaucitronCloseAlert,
#tarteaucitronPersonalize {
  background: transparent !important;
  color: #1A1410 !important;
  border: none !important;
  padding: 8px 4px !important;
  border-radius: 0 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}
button#tarteaucitronCloseAlert:hover,
#tarteaucitronPersonalize:hover {
  color: #D97706 !important;
  background: transparent !important;
  transform: none !important;
  text-decoration-thickness: 1.5px !important;
  box-shadow: none !important;
}

/* "Politique de confidentialitÃ©" link */
#tarteaucitronPrivacyUrl,
#tarteaucitronPrivacyUrlDialog {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  color: #6B5847 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#tarteaucitronPrivacyUrl:hover {
  color: #D97706 !important;
  background: transparent !important;
  transform: none !important;
}

/* ─── PETIT BANDEAU "Gérer les cookies" (small alert) ─── */
#tarteaucitronAlertSmall {
  display: none !important; /* on a un lien dans le footer */
}

/* ─── PANEL MODAL DÉTAILLÉ ─────────────────────────────────── */
#tarteaucitronBack {
  background: rgba(7, 5, 3, 0.6) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  z-index: 9998 !important;
}

#tarteaucitron {
  background: #FFFFFF !important;
  border-radius: 24px !important;
  border: 1px solid rgba(26, 20, 16, 0.08) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 1) inset,
    0 40px 100px -30px rgba(26, 20, 16, 0.45) !important;
  max-width: 640px !important;
  width: calc(100% - 40px) !important;
  max-height: 88vh !important;
  margin: 0 auto !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  overflow: hidden !important;
}

#tarteaucitronClosePanel {
  background: transparent !important;
  color: #1A1410 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 8px 14px !important;
  border-radius: 100px !important;
  border: 1px solid rgba(26, 20, 16, 0.15) !important;
  top: 18px !important;
  right: 18px !important;
  position: absolute !important;
  z-index: 10 !important;
  width: auto !important;
  height: auto !important;
}
#tarteaucitronClosePanel:hover {
  background: rgba(26, 20, 16, 0.05) !important;
}

/* Header du panel */
#tarteaucitronInfo {
  background: transparent !important;
  color: #1A1410 !important;
  font-family: 'Cabin', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  padding: 24px 32px !important;
  margin: 0 !important;
  text-align: left !important;
  border: none !important;
  border-bottom: 1px solid rgba(26, 20, 16, 0.08) !important;
  max-width: 100% !important;
  position: relative !important;
}

/* Title in modal */
#tarteaucitron #tarteaucitronServices {
  background: #FFFFFF !important;
  padding: 0 !important;
  margin: 0 !important;
}
#tarteaucitronServicesTitle_mandatory,
.tarteaucitronH2 {
  font-family: 'Fraunces', serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  font-variation-settings: "opsz" 144 !important;
  letter-spacing: -0.01em !important;
  color: #1A1410 !important;
  background: #FAFAFA !important;
  padding: 16px 32px !important;
  margin: 0 !important;
  border: none !important;
  border-top: 1px solid rgba(26, 20, 16, 0.06) !important;
  text-align: left !important;
  width: 100% !important;
  display: block !important;
  cursor: pointer !important;
}

/* Service line items */
.tarteaucitronLine {
  background: #FFFFFF !important;
  padding: 18px 32px !important;
  border-bottom: 1px solid rgba(26, 20, 16, 0.06) !important;
  border-left: none !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.tarteaucitronName {
  font-family: 'Fraunces', serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #1A1410 !important;
  font-variation-settings: "opsz" 144 !important;
  letter-spacing: -0.005em !important;
  line-height: 1.35 !important;
}
.tarteaucitronAsk {
  display: flex !important;
  gap: 8px !important;
  margin-top: 8px !important;
}

.tarteaucitronAllow,
.tarteaucitronDeny {
  font-family: 'Cabin', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 8px 18px !important;
  border-radius: 100px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 250ms cubic-bezier(0.32, 0.72, 0, 1) !important;
  height: auto !important;
  min-width: auto !important;
}

.tarteaucitronAllow {
  background: #D97706 !important;
  color: #FFFFFF !important;
}
.tarteaucitronAllow:hover {
  background: #9A3412 !important;
}
.tarteaucitronDeny {
  background: #1A1410 !important;
  color: #FAF7F0 !important;
}
.tarteaucitronDeny:hover {
  background: #3A2E26 !important;
}

/* Allowed/Disallowed states */
.tarteaucitronIsAllowed .tarteaucitronAllow {
  background: #10B981 !important;
}
.tarteaucitronIsDenied .tarteaucitronDeny {
  background: #B91C1C !important;
}

/* Footer with "Allow all / Deny all" inside modal */
#tarteaucitronMainLineOffset {
  background: #FAFAFA !important;
  padding: 18px 32px !important;
  border-top: 1px solid rgba(26, 20, 16, 0.06) !important;
}
#tarteaucitronAllAllowed,
#tarteaucitronAllDenied {
  font-family: 'Cabin', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 10px 20px !important;
  border-radius: 100px !important;
  border: none !important;
  cursor: pointer !important;
}
#tarteaucitronAllAllowed {
  background: #D97706 !important;
  color: #FFFFFF !important;
}
#tarteaucitronAllDenied {
  background: #1A1410 !important;
  color: #FAF7F0 !important;
  margin-right: 8px !important;
}

/* Detail expand */
.tarteaucitronDetails {
  font-family: 'Cabin', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: #5C4F44 !important;
  background: rgba(26, 20, 16, 0.04) !important;
  padding: 12px 16px !important;
  border-radius: 8px !important;
  margin-top: 8px !important;
  border: none !important;
}

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media (max-width: 640px) {
  body #tarteaucitronRoot #tarteaucitronAlertBig {
    flex-direction: column;
    align-items: stretch;
  }
  #tarteaucitronAlertBig {
    padding: 18px 20px !important;
    bottom: 12px !important;
    width: calc(100% - 24px) !important;
    border-radius: 18px !important;
    gap: 12px !important;
  }
  #tarteaucitronDisclaimerAlert {
    text-align: center !important;
    flex: 0 0 auto !important;
  }
  #tarteaucitronAlertBig button,
  #tarteaucitronAlertBig .tarteaucitronCTAButton {
    width: 100% !important;
    padding: 12px 20px !important;
  }
  #tarteaucitronInfo,
  .tarteaucitronLine,
  #tarteaucitronMainLineOffset { padding: 16px 20px !important; }
}

/* Hide tarteaucitron credit */
#tarteaucitronDisclaimerAlert .tac_activate { display: none !important; }
