/* Thème Ludilon pour CookieConsent v3 (vendor/cookieconsent/cookieconsent.css). */
#cc-main {
  --cc-font-family: 'Quicksand', system-ui, sans-serif;
  --cc-modal-border-radius: 20px;
  --cc-btn-border-radius: 999px;
  --cc-bg: #ffffff;
  --cc-primary-color: #16352B;
  --cc-secondary-color: #5A6B64;
  --cc-link-color: #006149;

  --cc-btn-primary-bg: #006149;
  --cc-btn-primary-color: #ffffff;
  --cc-btn-primary-border-color: #006149;
  --cc-btn-primary-hover-bg: #004b38;
  --cc-btn-primary-hover-color: #ffffff;
  --cc-btn-primary-hover-border-color: #004b38;

  --cc-btn-secondary-bg: transparent;
  --cc-btn-secondary-color: #006149;
  --cc-btn-secondary-border-color: #006149;
  --cc-btn-secondary-hover-bg: #EAF8E7;
  --cc-btn-secondary-hover-color: #004b38;
  --cc-btn-secondary-hover-border-color: #004b38;

  --cc-separator-border-color: #DCE3E0;
  --cc-toggle-on-bg: #006149;
  --cc-toggle-off-bg: #B7C3BE;
  --cc-toggle-readonly-bg: #A4E9B9;
  --cc-toggle-readonly-knob-icon-color: #006149;
  --cc-cookie-category-block-bg: #EAF8E7;
  --cc-cookie-category-block-border: #CAF0C7;
  --cc-cookie-category-block-hover-bg: #CAF0C7;
  --cc-cookie-category-block-hover-border: #A4E9B9;
  --cc-cookie-category-expanded-block-bg: #F6FCF5;
  --cc-cookie-category-expanded-block-hover-bg: #EAF8E7;
  --cc-footer-bg: #F7F9F8;
  --cc-footer-color: #5A6B64;
  --cc-footer-border-color: #DCE3E0;
  --cc-overlay-bg: rgba(22, 53, 43, .55);
}

#cc-main .cm__title,
#cc-main .pm__title,
#cc-main .pm__section-title {
  font-family: 'Baloo 2', system-ui, sans-serif;
  font-weight: 700;
}
#cc-main .cm__title { font-size: 1.3em; line-height: 1.2; color: #006149; }
#cc-main .cm__desc { font-size: .95em; font-weight: 500; }
#cc-main .cm__btn,
#cc-main .pm__btn {
  font-family: 'Baloo 2', system-ui, sans-serif;
  font-weight: 700;
  font-size: .95em;
  border-width: 2px;
}
#cc-main .pm__badge { background: #FAEDC7; color: #6E4260; font-family: 'Quicksand', sans-serif; }
#cc-main .cm__footer a, #cc-main .pm a { font-weight: 600; }
#cc-main .lud-cc-monkey { display: block; height: auto; }
#cc-main .cm__btn--close {
  background: transparent; border: 0; border-radius: 999px;
  top: .6em; right: .6em; width: 2.2em; height: 2.2em;
}
#cc-main .cm__btn--close svg { stroke: #5A6B64; }
#cc-main .cm__btn--close:hover { background: rgba(0,0,0,.06); }
/* Les blocs de catégories reprennent par défaut le rayon des boutons (pilule), ce qui
   rogne le texte une fois dépliés : on leur garde un arrondi léger. */
#cc-main .pm__section,
#cc-main .pm__section--toggle,
#cc-main .pm__section-title { border-radius: 14px; }
#cc-main .pm__section--toggle .pm__section-desc-wrapper { border-radius: 0 0 14px 14px; }
/* Mobile : « J'accepte » et « Je refuse » côte à côte, même poids. */
@media (max-width: 640px) {
  #cc-main .cm__btn-group:first-child { flex-direction: row !important; gap: .5rem; }
  #cc-main .cm__btn-group:first-child .cm__btn { flex: 1; }
  #cc-main .cm__btn-group:first-child .cm__btn + .cm__btn { margin: 0 !important; }
  #cc-main .cm__desc { font-size: .9em; }
}

/* Bandeau « bulle de dialogue » : nuage centré, le singe parle depuis la gauche, boutons banane. */
#cc-main .cm {
  --cc-bg: #EAF8E7;
  --cc-separator-border-color: #CAF0C7;
  --cc-footer-bg: #EAF8E7;
  --cc-footer-border-color: #CAF0C7;
  --cc-btn-primary-bg: #F3D373;
  --cc-btn-primary-color: #16352B;
  --cc-btn-primary-border-color: #E9B63F;
  --cc-btn-primary-hover-bg: #E9B63F;
  --cc-btn-primary-hover-color: #16352B;
  --cc-btn-primary-hover-border-color: #E9B63F;
  border: 2px solid #A4E9B9;
  box-shadow: 0 16px 40px rgba(0, 97, 73, .18);
  max-width: 52rem;
}
#cc-main .cm__texts { position: relative; padding-left: 130px; min-height: 120px; }
#cc-main .cm .lud-cc-monkey {
  position: absolute; left: 18px; top: 50%; width: 100px;
  transform: translateY(-40%) rotate(-8deg);
  animation: lud-wobble 2.4s ease-in-out 2 .6s;
}
/* Pointe de la bulle */
#cc-main .cm__texts::before {
  content: ''; position: absolute; left: 118px; top: 46%;
  border: 10px solid transparent; border-right-color: #fff;
}
#cc-main .cm__title, #cc-main .cm__desc {
  background: #fff; margin-left: 0;
}
#cc-main .cm__title { border-radius: 16px 16px 0 0; padding-top: .8em !important; padding-bottom: .4em !important; margin-bottom: 0 !important; }
#cc-main .cm__desc  { border-radius: 0 0 16px 16px; margin: 0 0 1em !important; padding-top: 0 !important; max-height: none; }
#cc-main .cm__texts { padding-top: 1em; }
#cc-main .cm.cm--cloud .cm__btn { min-width: 14em; }
@keyframes lud-wobble { 0%,100% { transform: translateY(-40%) rotate(-8deg); } 50% { transform: translateY(-44%) rotate(4deg); } }
@media (max-width: 640px) {
  #cc-main .cm.cm--cloud .cm__btn { min-width: 0; }
  #cc-main .cm__texts { padding-left: 0; padding-top: 70px; }
  #cc-main .cm .lud-cc-monkey { left: 50%; top: 4px; width: 80px; transform: translateX(-50%); animation: none; }
  #cc-main .cm__texts::before { left: 50%; top: 54px; border-right-color: transparent; border-bottom-color: #fff; transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) { #cc-main .cm .lud-cc-monkey { animation: none; } }
