/* =========================================================
 * Saint-Symphorien — widgets flottants
 * Accessibilité (Sienna) + gestion des cookies (tarteaucitron)
 *
 * Feuille chargée en fin de page, APRÈS les styles injectés par
 * tarteaucitron : à spécificité égale, elle l'emporte. Sienna
 * injecte ses styles en « adoptedStyleSheets » (toujours en
 * dernier) : ses règles sont donc surclassées par des sélecteurs
 * plus spécifiques (html body …) + !important.
 *
 * Pictos et motifs en SVG inline (data URI) : zéro requête.
 * Ne pas modifier ce fichier à la main pour les icônes : elles
 * sont décrites ici dans les variables --sms-ic-*.
 * ======================================================= */

:root {
  --sms-ic-a11y:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10.1'/%3E%3Ccircle cx='12' cy='6.9' r='1.55' fill='%23000' stroke='none'/%3E%3Cpath d='M6.5 9.6c1.8.5 3.7.75 5.5.75s3.7-.25 5.5-.75M12 10.35v3.55m0 0-2.25 4.5M12 13.9l2.25 4.5'/%3E%3C/svg%3E");
  --sms-ic-cookie:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2.2a9.8 9.8 0 1 0 9.8 9.9 3.3 3.3 0 0 1-3.9-3.2 3.3 3.3 0 0 1-3.6-3.4A3.3 3.3 0 0 1 12 2.2ZM6.85 9a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0ZM12.5 11.7a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0ZM7.4 15.3a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0 -2.4 0ZM14 16.4a1.4 1.4 0 1 0 2.8 0a1.4 1.4 0 1 0 -2.8 0ZM10.8 18.6a0.8 0.8 0 1 0 1.6 0a0.8 0.8 0 1 0 -1.6 0ZM4.85 12.6a0.75 0.75 0 1 0 1.5 0a0.75 0.75 0 1 0 -1.5 0Z'/%3E%3C/svg%3E");
  --sms-ic-close:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E");
  --sms-ic-sliders: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h9M17 7h3M4 17h3M11 17h9'/%3E%3Ccircle cx='15' cy='7' r='2.2'/%3E%3Ccircle cx='9' cy='17' r='2.2'/%3E%3C/svg%3E");

  --fab-size: 58px;
  --fab-gap: 22px;
  --fab-ring: 4px;
  --fab-shadow: 0 14px 30px -10px rgba(31, 42, 17, .65), 0 3px 8px rgba(31, 42, 17, .22);
  --sheet-shadow: 0 40px 100px -28px rgba(31, 42, 17, .7), 0 0 0 1px rgba(40, 54, 24, .08);
  --ease-spring: cubic-bezier(.34, 1.56, .64, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
}
@media (max-width: 768px) {
  :root { --fab-size: 52px; --fab-gap: 14px; --fab-ring: 3px; }
}

/* =========================================================
 * 1. Boutons flottants circulaires (même famille visuelle)
 *    — Accessibilité : en bas à droite
 *    — Cookies       : en bas à gauche
 * ======================================================= */
html body .asw-widget .asw-menu-btn,
html body div#tarteaucitronRoot div#tarteaucitronIcon button#tarteaucitronManager {
  position: relative;
  box-sizing: border-box !important;
  width: var(--fab-size) !important;
  height: var(--fab-size) !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center;
  border: 0 !important;
  border-radius: 50% !important;
  outline: 0 !important;
  color: var(--cream) !important;
  background:
    radial-gradient(120% 120% at 28% 18%, #4b5e2c 0%, var(--green) 58%, #1d2811 100%) !important;
  box-shadow:
    inset 0 0 0 1.5px rgba(254, 250, 224, .18),
    inset 0 -6px 12px rgba(0, 0, 0, .18),
    0 0 0 var(--fab-ring) var(--cream),
    0 0 0 calc(var(--fab-ring) + 1px) rgba(40, 54, 24, .18),
    var(--fab-shadow) !important;
  cursor: pointer;
  text-decoration: none !important;
  transform: none;
  transition: transform .35s var(--ease-spring), box-shadow .3s ease !important;
  -webkit-tap-highlight-color: transparent;
  animation: sms-fab-in .6s var(--ease-spring) both;
}
/* Pictogramme dessiné en masque : couleur = currentColor */
html body .asw-widget .asw-menu-btn::before,
html body div#tarteaucitronRoot div#tarteaucitronIcon button#tarteaucitronManager::before {
  content: "";
  width: calc(var(--fab-size) * .56);
  height: calc(var(--fab-size) * .56);
  background: currentColor;
  -webkit-mask: var(--sms-ic-a11y) center / contain no-repeat;
          mask: var(--sms-ic-a11y) center / contain no-repeat;
  transition: transform .45s var(--ease-spring);
}
html body div#tarteaucitronRoot div#tarteaucitronIcon button#tarteaucitronManager::before {
  width: calc(var(--fab-size) * .58);
  height: calc(var(--fab-size) * .58);
  -webkit-mask-image: var(--sms-ic-cookie);
          mask-image: var(--sms-ic-cookie);
}
/* Les icônes d'origine sont masquées */
html body .asw-widget .asw-menu-btn > svg,
html body div#tarteaucitronRoot div#tarteaucitronIcon button#tarteaucitronManager > img {
  display: none !important;
}

/* Survol / focus */
html body .asw-widget .asw-menu-btn:hover,
html body div#tarteaucitronRoot div#tarteaucitronIcon button#tarteaucitronManager:hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow:
    inset 0 0 0 1.5px rgba(254, 250, 224, .25),
    inset 0 -6px 12px rgba(0, 0, 0, .18),
    0 0 0 var(--fab-ring) var(--cream),
    0 0 0 calc(var(--fab-ring) + 1px) rgba(40, 54, 24, .18),
    0 20px 38px -12px rgba(31, 42, 17, .7), 0 4px 10px rgba(31, 42, 17, .25) !important;
}
html body .asw-widget .asw-menu-btn:hover::before { transform: scale(1.06); }
html body div#tarteaucitronRoot div#tarteaucitronIcon button#tarteaucitronManager:hover::before { transform: rotate(-18deg); }
html body .asw-widget .asw-menu-btn:active,
html body div#tarteaucitronRoot div#tarteaucitronIcon button#tarteaucitronManager:active {
  transform: scale(.96);
}
html body .asw-widget .asw-menu-btn:focus-visible,
html body div#tarteaucitronRoot div#tarteaucitronIcon button#tarteaucitronManager:focus-visible {
  outline: 3px solid var(--maroon) !important;
  outline-offset: calc(var(--fab-ring) + 3px) !important;
}

/* Étiquette qui glisse au survol (souris uniquement) */
html body .asw-widget .asw-menu-btn::after,
html body div#tarteaucitronRoot div#tarteaucitronIcon button#tarteaucitronManager::after {
  position: absolute;
  top: 50%;
  padding: 9px 14px;
  border-radius: 999px;
  background: var(--green);
  color: var(--cream);
  font: 600 13px/1 var(--font-body);
  letter-spacing: .01em;
  white-space: nowrap;
  box-shadow: 0 10px 24px -8px rgba(31, 42, 17, .55);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .3s var(--ease-out);
}
html body .asw-widget .asw-menu-btn::after {
  content: "Accessibilité";
  right: calc(100% + var(--fab-ring) + 12px);
  transform: translate(8px, -50%);
}
html body div#tarteaucitronRoot div#tarteaucitronIcon button#tarteaucitronManager::after {
  content: "Gérer les cookies";
  left: calc(100% + var(--fab-ring) + 12px);
  transform: translate(-8px, -50%);
}
@media (hover: hover) {
  html body .asw-widget .asw-menu-btn:hover::after,
  html body .asw-widget .asw-menu-btn:focus-visible::after,
  html body div#tarteaucitronRoot div#tarteaucitronIcon button#tarteaucitronManager:hover::after,
  html body div#tarteaucitronRoot div#tarteaucitronIcon button#tarteaucitronManager:focus-visible::after {
    opacity: 1;
    transform: translate(0, -50%);
  }
}
@media (hover: none) {
  html body .asw-widget .asw-menu-btn::after,
  html body div#tarteaucitronRoot div#tarteaucitronIcon button#tarteaucitronManager::after { display: none; }
}

/* Panneau d'accessibilité ouvert : le bouton cookie s'efface */
html body.sms-a11y-open div#tarteaucitronRoot div#tarteaucitronIcon { visibility: hidden !important; }

/* Positions */
html body .asw-widget .asw-menu-btn {
  position: fixed !important;
  top: auto !important;
  left: auto !important;
  right: var(--fab-gap) !important;
  bottom: var(--fab-gap) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronIcon {
  top: auto !important;
  right: auto !important;
  left: var(--fab-gap) !important;
  bottom: var(--fab-gap) !important;
  padding: 0 !important;
  background: none !important;
  line-height: 0;
}

@keyframes sms-fab-in {
  from { opacity: 0; transform: translateY(14px) scale(.6); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html body .asw-widget .asw-menu-btn,
  html body div#tarteaucitronRoot div#tarteaucitronIcon button#tarteaucitronManager { animation: none; }
}
@media print {
  .asw-widget, #tarteaucitronRoot { display: none !important; }
}

/* =========================================================
 * 2. Panneau d'accessibilité (Sienna)
 * ======================================================= */
html body .asw-menu {
  --asw-primary: #283618;
  --asw-primary-subtle: rgba(40, 54, 24, .10);
  --asw-primary-faint: rgba(40, 54, 24, .06);
  --asw-menu-text: var(--ink);
  --asw-font-family: var(--font-body);
  --sms-tile: #f7f4e4;

  top: 14px !important;
  bottom: 14px !important;
  left: auto !important;
  right: 14px !important;
  width: 440px !important;
  max-width: calc(100% - 28px) !important;
  height: auto !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background: var(--cream) !important;
  -webkit-backdrop-filter: none !important;
          backdrop-filter: none !important;
  box-shadow: var(--sheet-shadow) !important;
  animation: sms-sheet-in .5s var(--ease-out);
}
@keyframes sms-sheet-in {
  from { opacity: 0; transform: translateX(28px) scale(.98); }
  to   { opacity: 1; transform: none; }
}

/* Voile */
html body .asw-overlay {
  background: rgba(31, 42, 17, .42) !important;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  animation: sms-fade-in .3s ease;
}
@keyframes sms-fade-in { from { opacity: 0; } to { opacity: 1; } }

/* En-tête vert, filigrane de pin parasol */
html body .asw-menu .asw-menu-header {
  position: relative;
  height: 92px !important;
  padding: 0 20px 0 28px !important;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 260' fill='none' stroke='rgba(254,250,224,.09)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 86c-12-14 2-34 22-30 2-18 26-28 42-18 10-16 38-18 50-4 16-10 40-4 44 14 20-2 34 16 26 32-6 12-22 14-34 10-10 10-30 12-44 4-12 10-34 10-46 2-12 8-32 8-42 2-8 4-14 0-18-12Z'/%3E%3Cpath d='M58 70c10-4 20-2 26 4M110 52c10-2 20 2 24 10M150 70c8 0 14 4 16 10'/%3E%3Cpath d='M112 100c-4 30 8 58 2 92-3 18-10 32-12 52'/%3E%3Cpath d='M112 112c-12-4-22-8-30-14M114 120c12-6 22-12 30-20M114 150c8-4 14-10 18-18'/%3E%3Cpath d='M70 244h90'/%3E%3C/svg%3E") right -34px bottom -150px / 170px auto no-repeat,
    radial-gradient(140% 160% at 0% 0%, #3d4e22 0%, var(--green) 55%, #1d2811 100%) !important;
  box-shadow: none !important;
}
html body .asw-menu .asw-menu-title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-display) !important;
  font-weight: 400 !important;
  min-width: 0;
  font-size: 19px !important;
  letter-spacing: .01em !important;
  line-height: 1.15 !important;
  color: var(--cream) !important;
  text-decoration: none !important;
  cursor: default;
}
html body .asw-menu .asw-menu-title::before {
  content: "";
  flex: none;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fefae0' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10.1'/%3E%3Ccircle cx='12' cy='6.9' r='1.55' fill='%23fefae0' stroke='none'/%3E%3Cpath d='M6.5 9.6c1.8.5 3.7.75 5.5.75s3.7-.25 5.5-.75M12 10.35v3.55m0 0-2.25 4.5M12 13.9l2.25 4.5'/%3E%3C/svg%3E") center / 24px no-repeat,
    rgba(254, 250, 224, .14);
  box-shadow: inset 0 0 0 1.5px rgba(254, 250, 224, .25);
}
html body .asw-menu .asw-menu-header { gap: 12px; }
html body .asw-menu .asw-menu-header > div { gap: 10px !important; flex: none; }
html body .asw-menu .asw-menu-header .asw-menu-reset,
html body .asw-menu .asw-menu-header .asw-menu-close {
  flex: none;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(254, 250, 224, .12) !important;
  box-shadow: inset 0 0 0 1.5px rgba(254, 250, 224, .28);
  opacity: 1 !important;
  transition: background .2s ease, transform .3s var(--ease-spring) !important;
}
html body .asw-menu .asw-menu-header .asw-menu-reset:hover,
html body .asw-menu .asw-menu-header .asw-menu-close:hover {
  background: rgba(254, 250, 224, .24) !important;
}
html body .asw-menu .asw-menu-header .asw-menu-close:hover { transform: rotate(90deg); }
html body .asw-menu .asw-menu-header .asw-menu-reset:hover { transform: rotate(-60deg); }
html body .asw-menu .asw-menu-header svg {
  fill: var(--cream) !important;
  width: 22px !important; height: 22px !important;
  min-width: 22px !important; min-height: 22px !important;
  max-width: 22px !important; max-height: 22px !important;
}
html body .asw-menu .asw-menu-header .asw-menu-reset:focus-visible,
html body .asw-menu .asw-menu-header .asw-menu-close:focus-visible {
  outline: 3px solid var(--cream) !important;
  outline-offset: 2px !important;
}

/* Contenu défilant */
html body .asw-menu .asw-menu-content {
  padding: 22px 0 6px !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(40, 54, 24, .25) transparent;
}

/* Cartes */
html body .asw-menu .asw-card {
  margin: 0 18px 16px !important;
  padding: 20px 18px 18px !important;
  border-radius: 22px !important;
  background: var(--white) !important;
  border: 1px solid rgba(40, 54, 24, .07) !important;
  box-shadow: 0 1px 2px rgba(40, 54, 24, .05), 0 14px 30px -22px rgba(40, 54, 24, .4) !important;
}
html body .asw-menu .asw-card-title {
  justify-content: flex-start !important;
  gap: 10px;
  padding: 0 0 14px !important;
  opacity: 1 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  color: var(--maroon) !important;
}
html body .asw-menu .asw-card-title > span { color: var(--maroon) !important; }
html body .asw-menu .asw-card-title::before {
  content: "";
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: var(--olive);
}
/* Liens « En savoir plus » (site anglais externe) et choix de langue : retirés */
html body .asw-menu .asw-info-icon,
html body .asw-menu .asw-card:has(#asw-language) { display: none !important; }

/* Profils */
html body .asw-menu .asw-items.profiles { gap: 12px !important; }
html body .asw-menu .asw-profile-btn {
  border-radius: 18px !important;
  padding: 14px !important;
  gap: 10px !important;
  background: var(--sms-tile) !important;
  border: 2px solid transparent !important;
  box-shadow: none !important;
  transition: border-color .2s ease, background .2s ease, transform .25s var(--ease-out) !important;
}
html body .asw-menu .asw-profile-btn:hover {
  border-color: rgba(40, 54, 24, .22) !important;
  transform: translateY(-2px);
}
html body .asw-menu .asw-profile-btn.asw-selected {
  border-color: var(--green) !important;
  background: rgba(96, 108, 56, .12) !important;
}
html body .asw-menu .asw-profile-icon {
  width: 44px !important; height: 44px !important; min-width: 44px !important;
  border-radius: 14px !important;
  background: var(--white) !important;
  box-shadow: 0 4px 12px -6px rgba(40, 54, 24, .35) !important;
}
html body .asw-menu .asw-profile-btn.asw-selected .asw-profile-icon { background: var(--green) !important; }
html body .asw-menu .asw-profile-icon svg { fill: var(--green-mid) !important; color: var(--green-mid) !important; }
html body .asw-menu .asw-profile-btn.asw-selected .asw-profile-icon svg { fill: var(--cream) !important; color: var(--cream) !important; }
html body .asw-menu .asw-profile-title { color: var(--green) !important; font-size: 14px !important; line-height: 1.25 !important; }
html body .asw-menu .asw-profile-desc { color: #5d5d48 !important; font-size: 12.5px !important; line-height: 1.4 !important; }
html body .asw-menu .asw-profile-toggle {
  top: 14px !important; right: 14px !important;
  width: 38px !important; height: 22px !important;
  background: rgba(40, 54, 24, .18) !important;
}
html body .asw-menu .asw-profile-btn.asw-selected .asw-profile-toggle { background: var(--green) !important; }

/* Tuiles d'options */
html body .asw-menu .asw-items { gap: 10px !important; }
html body .asw-menu .asw-btn {
  aspect-ratio: auto !important;
  min-height: 104px;
  padding: 14px 8px 12px !important;
  gap: 9px !important;
  border-radius: 18px !important;
  background: var(--sms-tile) !important;
  border: 2px solid transparent !important;
  box-shadow: none !important;
  transition: border-color .2s ease, background .2s ease, transform .25s var(--ease-out) !important;
}
html body .asw-menu .asw-btn:hover {
  border-color: rgba(40, 54, 24, .22) !important;
  box-shadow: 0 10px 22px -14px rgba(40, 54, 24, .45) !important;
  transform: translateY(-2px) !important;
}
html body .asw-menu .asw-btn svg {
  width: 28px !important; height: 28px !important;
  min-width: 28px !important; min-height: 28px !important;
  max-width: 28px !important; max-height: 28px !important;
  fill: var(--green-mid) !important;
}
html body .asw-menu .asw-btn .asw-translate {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  color: var(--green) !important;
}
html body .asw-menu .asw-btn.asw-selected {
  background: var(--green) !important;
  border-color: var(--green) !important;
}
html body .asw-menu .asw-btn.asw-selected svg,
html body .asw-menu .asw-btn.asw-selected span,
html body .asw-menu .asw-btn.asw-selected .asw-translate {
  fill: var(--cream) !important;
  color: var(--cream) !important;
}
html body .asw-menu .asw-btn.asw-selected::after {
  top: 8px !important; right: 8px !important;
  width: 20px !important; height: 20px !important;
  border: 0 !important;
  font-size: 11px !important;
  color: var(--green) !important;
  background: var(--cream) !important;
  box-shadow: none !important;
}

/* Taille du texte */
html body .asw-menu .asw-adjust-font {
  margin-bottom: 12px !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: var(--sms-tile) !important;
}
html body .asw-menu .asw-adjust-font .asw-label div { color: var(--green) !important; font-size: 14px !important; }
html body .asw-menu .asw-adjust-font .asw-label svg { fill: var(--green-mid) !important; }
html body .asw-menu .asw-adjust-font > div { margin-top: 14px !important; }
html body .asw-menu .asw-adjust-font div[role="button"] {
  width: 44px !important; height: 44px !important;
  background: var(--green) !important;
  border: 0 !important;
  transition: transform .25s var(--ease-spring), background .2s ease !important;
}
html body .asw-menu .asw-adjust-font div[role="button"]:hover { background: var(--green-mid) !important; transform: scale(1.06); }
html body .asw-menu .asw-adjust-font div[role="button"] svg { fill: var(--cream) !important; }
html body .asw-menu .asw-amount {
  font-family: var(--font-display) !important;
  font-weight: 400 !important;
  font-size: 22px !important;
  color: var(--green) !important;
}

/* Bouton « Réinitialiser » (bas du contenu) : carte nue */
html body .asw-menu .asw-card:has(.asw-menu-reset-footer-btn) {
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body .asw-menu .asw-menu-reset-footer-btn {
  border: 0 !important;
  border-radius: 999px !important;
  height: 44px;
  padding: 0 20px !important;
  background: transparent !important;
  color: var(--maroon) !important;
  box-shadow: inset 0 0 0 1.5px var(--maroon) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  text-transform: none;
  transition: background .2s ease, color .2s ease !important;
}
html body .asw-menu .asw-menu-reset-footer-btn:hover,
html body .asw-menu .asw-menu-reset-footer-btn:focus-visible {
  background: var(--maroon) !important;
  color: var(--cream) !important;
}

/* Pied du panneau : déclaration d'accessibilité uniquement */
html body .asw-menu .asw-footer {
  justify-content: center !important;
  padding: 16px 24px 18px !important;
  background: var(--cream) !important;
  border-top: 1px solid rgba(40, 54, 24, .1) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
          backdrop-filter: none !important;
}
html body .asw-menu #asw-statement-link {
  opacity: 1 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--green) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--olive) !important;
  text-underline-offset: 4px;
  text-decoration-thickness: 2px !important;
}
html body .asw-menu #asw-statement-link:hover { text-decoration-color: var(--green) !important; }
/* Crédit « Sienna Accessibility » : retiré en JS, masqué ici par sécurité */
html body .asw-menu .asw-footer-powered {
  visibility: hidden !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* Focus clavier dans le panneau */
html body .asw-menu button:focus-visible,
html body .asw-menu a:focus-visible,
html body .asw-menu [role="button"]:focus-visible {
  outline: 3px solid var(--maroon) !important;
  outline-offset: 2px !important;
}

@media (max-width: 560px) {
  html body .asw-menu {
    top: 8px !important; bottom: 8px !important; right: 8px !important;
    width: calc(100% - 16px) !important; max-width: none !important;
    border-radius: 24px !important;
  }
  html body .asw-menu .asw-card { margin: 0 12px 12px !important; }
  html body .asw-menu .asw-menu-header { height: 80px !important; padding: 0 14px 0 20px !important; }
}
@media (max-width: 420px) {
  html body .asw-menu .asw-items.profiles { grid-template-columns: 1fr !important; }
}

/* =========================================================
 * 3. Bandeau de consentement (tarteaucitron, mode « middle »)
 * ======================================================= */
/* Voile + flou derrière le bandeau et le panneau */
html body div#tarteaucitronRoot.tarteaucitronSize-middle.tarteaucitronBeforeVisible::before,
html body.tarteaucitron-modal-open div#tarteaucitronRoot::before {
  background: rgba(31, 42, 17, .5) !important;
  -webkit-backdrop-filter: blur(6px) saturate(.9);
          backdrop-filter: blur(6px) saturate(.9);
  opacity: 1 !important;
}
html body div#tarteaucitronRoot button#tarteaucitronBack {
  background: rgba(31, 42, 17, .5) !important;
  opacity: 1 !important;
}

html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig {
  box-sizing: border-box !important;
  width: min(580px, calc(100% - 32px)) !important;
  min-width: 0 !important;
  max-height: calc(100% - 32px);
  overflow-y: auto;
  padding: 0 36px 92px !important;
  border: 0 !important;
  border-radius: 30px !important;
  text-align: center !important;
  color: var(--ink) !important;
  font-family: var(--font-body) !important;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 620 100'%3E%3Cg fill='rgba(170,166,113,.22)'%3E%3Cellipse cx='5.0' cy='53.9' rx='11.7' ry='7.2'/%3E%3Cellipse cx='19.0' cy='51.2' rx='12.3' ry='7.0'/%3E%3Cellipse cx='33.0' cy='48.9' rx='12.3' ry='6.6'/%3E%3Cellipse cx='47.0' cy='49.8' rx='11.5' ry='6.7'/%3E%3Cellipse cx='61.0' cy='52.0' rx='12.8' ry='6.8'/%3E%3Cellipse cx='75.0' cy='53.7' rx='12.5' ry='7.4'/%3E%3Cellipse cx='41.2' cy='44.0' rx='28.0' ry='9.9'/%3E%3Cpath d='M38.9 54.9C39.7 70.6 41.8 87.6 42.0 100H46.0C46.2 87.6 41.9 70.6 41.1 54.9Z'/%3E%3Cpath d='M40.0 58.8l-12.6 -9.9M40.4 60.8l14.0 -10.9' fill='none' stroke='rgba(170,166,113,.22)' stroke-width='1.3' stroke-linecap='round'/%3E%3Cellipse cx='72.0' cy='35.4' rx='16.5' ry='10.4'/%3E%3Cellipse cx='91.2' cy='31.0' rx='17.3' ry='10.0'/%3E%3Cellipse cx='110.4' cy='28.2' rx='16.0' ry='9.9'/%3E%3Cellipse cx='129.6' cy='29.8' rx='16.1' ry='10.2'/%3E%3Cellipse cx='148.8' cy='32.5' rx='16.5' ry='10.2'/%3E%3Cellipse cx='168.0' cy='34.2' rx='15.9' ry='10.0'/%3E%3Cellipse cx='118.5' cy='20.4' rx='38.4' ry='14.1'/%3E%3Cpath d='M118.5 35.9C117.5 58.3 111.9 82.4 112.2 100H117.8C118.1 82.4 120.5 58.3 121.5 35.9Z'/%3E%3Cpath d='M120.0 41.6l-17.3 -14.1M119.5 44.4l19.2 -15.5' fill='none' stroke='rgba(170,166,113,.22)' stroke-width='1.8' stroke-linecap='round'/%3E%3Cellipse cx='173.0' cy='60.7' rx='11.1' ry='6.1'/%3E%3Cellipse cx='185.8' cy='58.6' rx='11.2' ry='6.1'/%3E%3Cellipse cx='198.6' cy='57.2' rx='11.6' ry='5.9'/%3E%3Cellipse cx='211.4' cy='56.6' rx='11.3' ry='6.6'/%3E%3Cellipse cx='224.2' cy='58.9' rx='10.9' ry='6.6'/%3E%3Cellipse cx='237.0' cy='59.3' rx='11.1' ry='6.4'/%3E%3Cellipse cx='205.9' cy='51.2' rx='25.6' ry='8.6'/%3E%3Cpath d='M204.1 60.7C204.7 74.4 206.1 89.2 206.3 100H209.7C209.9 89.2 206.5 74.4 205.9 60.7Z'/%3E%3Cpath d='M205.0 64.1l-11.5 -8.6M205.3 65.9l12.8 -9.5' fill='none' stroke='rgba(170,166,113,.22)' stroke-width='1.1' stroke-linecap='round'/%3E%3Cellipse cx='232.0' cy='43.2' rx='15.0' ry='8.5'/%3E%3Cellipse cx='249.2' cy='41.8' rx='15.4' ry='8.8'/%3E%3Cellipse cx='266.4' cy='39.6' rx='14.7' ry='9.0'/%3E%3Cellipse cx='283.6' cy='38.9' rx='15.1' ry='8.7'/%3E%3Cellipse cx='300.8' cy='42.2' rx='15.7' ry='8.7'/%3E%3Cellipse cx='318.0' cy='44.5' rx='14.2' ry='8.9'/%3E%3Cellipse cx='276.8' cy='31.3' rx='34.4' ry='12.2'/%3E%3Cpath d='M273.7 44.7C274.9 64.0 278.3 84.8 278.6 100H283.4C283.7 84.8 277.5 64.0 276.3 44.7Z'/%3E%3Cpath d='M275.0 49.5l-15.5 -12.2M275.6 52.0l17.2 -13.4' fill='none' stroke='rgba(170,166,113,.22)' stroke-width='1.6' stroke-linecap='round'/%3E%3Cellipse cx='332.0' cy='66.5' rx='10.7' ry='5.5'/%3E%3Cellipse cx='343.2' cy='64.0' rx='9.7' ry='5.4'/%3E%3Cellipse cx='354.4' cy='61.8' rx='9.8' ry='4.9'/%3E%3Cellipse cx='365.6' cy='62.0' rx='9.1' ry='5.6'/%3E%3Cellipse cx='376.8' cy='63.6' rx='9.4' ry='5.2'/%3E%3Cellipse cx='388.0' cy='67.0' rx='9.2' ry='5.3'/%3E%3Cellipse cx='359.1' cy='58.4' rx='22.4' ry='7.4'/%3E%3Cpath d='M359.2 66.5C358.6 78.2 355.4 90.8 355.6 100H358.4C358.6 90.8 360.2 78.2 360.8 66.5Z'/%3E%3Cpath d='M360.0 69.5l-10.1 -7.4M359.7 70.9l11.2 -8.1' fill='none' stroke='rgba(170,166,113,.22)' stroke-width='1.0' stroke-linecap='round'/%3E%3Cellipse cx='378.0' cy='32.4' rx='18.7' ry='10.8'/%3E%3Cellipse cx='398.8' cy='29.9' rx='17.7' ry='10.5'/%3E%3Cellipse cx='419.6' cy='25.5' rx='18.7' ry='11.1'/%3E%3Cellipse cx='440.4' cy='25.0' rx='17.5' ry='10.3'/%3E%3Cellipse cx='461.2' cy='28.4' rx='18.0' ry='10.7'/%3E%3Cellipse cx='482.0' cy='31.7' rx='17.2' ry='10.5'/%3E%3Cellipse cx='428.2' cy='16.8' rx='41.6' ry='14.7'/%3E%3Cpath d='M428.4 33.0C427.2 56.4 420.8 81.6 421.1 100H426.9C427.2 81.6 430.4 56.4 431.6 33.0Z'/%3E%3Cpath d='M430.0 38.9l-18.7 -14.7M429.4 41.9l20.8 -16.2' fill='none' stroke='rgba(170,166,113,.22)' stroke-width='1.9' stroke-linecap='round'/%3E%3Cellipse cx='484.0' cy='55.5' rx='12.7' ry='7.2'/%3E%3Cellipse cx='498.4' cy='54.2' rx='12.6' ry='7.0'/%3E%3Cellipse cx='512.8' cy='52.0' rx='11.8' ry='7.3'/%3E%3Cellipse cx='527.2' cy='52.3' rx='13.2' ry='7.2'/%3E%3Cellipse cx='541.6' cy='53.5' rx='12.4' ry='6.6'/%3E%3Cellipse cx='556.0' cy='56.2' rx='11.8' ry='6.7'/%3E%3Cellipse cx='521.2' cy='45.8' rx='28.8' ry='9.6'/%3E%3Cpath d='M519.0 56.3C519.8 71.6 521.9 88.0 522.1 100H525.9C526.1 88.0 521.8 71.6 521.0 56.3Z'/%3E%3Cpath d='M520.0 60.2l-13.0 -9.6M520.4 62.1l14.4 -10.6' fill='none' stroke='rgba(170,166,113,.22)' stroke-width='1.3' stroke-linecap='round'/%3E%3Cellipse cx='562.0' cy='69.9' rx='7.6' ry='4.5'/%3E%3Cellipse cx='571.2' cy='68.1' rx='7.3' ry='4.3'/%3E%3Cellipse cx='580.4' cy='66.8' rx='7.9' ry='4.1'/%3E%3Cellipse cx='589.6' cy='68.6' rx='8.4' ry='4.2'/%3E%3Cellipse cx='598.8' cy='68.6' rx='7.9' ry='4.5'/%3E%3Cellipse cx='608.0' cy='69.7' rx='8.8' ry='4.9'/%3E%3Cellipse cx='584.4' cy='63.8' rx='18.4' ry='6.4'/%3E%3Cpath d='M584.2 70.9C583.8 81.0 581.4 92.0 581.6 100H584.4C584.6 92.0 585.4 81.0 585.8 70.9Z'/%3E%3Cpath d='M585.0 73.4l-8.3 -6.4M584.8 74.7l9.2 -7.0' fill='none' stroke='rgba(170,166,113,.22)' stroke-width='1.0' stroke-linecap='round'/%3E%3Crect x='0' y='98.6' width='620' height='1.4'/%3E%3C/g%3E%3C/svg%3E") center bottom -1px / 620px 70px repeat-x,
    linear-gradient(180deg, #fffdf0 0%, var(--cream) 100%) !important;
  box-shadow: var(--sheet-shadow) !important;
  animation: sms-pop-in .55s var(--ease-out) both;
}
/* Mise en grille pendant l'affichage seulement : tarteaucitron masque
   le bandeau par un style en ligne « display: none ». */
html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig[style*="display: block"] {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  column-gap: 12px;
  align-content: start;
}
html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig::before,
html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig span#tarteaucitronDisclaimerAlert,
html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig button#tarteaucitronCloseAlert,
html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig button#tarteaucitronPrivacyUrl {
  grid-column: 1 / -1;
  justify-self: center;
}
html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig span#tarteaucitronDisclaimerAlert { justify-self: stretch; }
@keyframes sms-pop-in {
  from { opacity: 0; transform: translateY(18px) scale(.97); }
  to   { opacity: 1; transform: none; }
}
/* Pastille cookie en tête (remplace « ☝️ 🍪 ») */
html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig::before {
  content: "" !important;
  display: block;
  width: 76px;
  height: 76px;
  margin: 38px auto 18px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fefae0' d='M12 2.2a9.8 9.8 0 1 0 9.8 9.9 3.3 3.3 0 0 1-3.9-3.2 3.3 3.3 0 0 1-3.6-3.4A3.3 3.3 0 0 1 12 2.2Z'/%3E%3Cg fill='%23283618'%3E%3Ccircle cx='8.2' cy='9' r='1.35'/%3E%3Ccircle cx='13.6' cy='11.7' r='1.1'/%3E%3Ccircle cx='8.6' cy='15.3' r='1.2'/%3E%3Ccircle cx='15.4' cy='16.4' r='1.4'/%3E%3Ccircle cx='11.6' cy='18.6' r='0.8'/%3E%3Ccircle cx='5.6' cy='12.6' r='0.75'/%3E%3C/g%3E%3C/svg%3E") center / 46px no-repeat,
    radial-gradient(120% 120% at 28% 18%, #4b5e2c 0%, var(--green) 58%, #1d2811 100%);
  box-shadow:
    0 0 0 6px rgba(170, 166, 113, .28),
    0 16px 30px -12px rgba(31, 42, 17, .6);
  font-size: 0 !important;
}
html body div#tarteaucitronRoot.tarteaucitronSize-middle span#tarteaucitronDisclaimerAlert {
  display: block !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  text-align: center !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #45452f !important;
}
html body div#tarteaucitronRoot div#tarteaucitronAlertBig .sms-tac-title {
  display: block;
  text-align: center !important;
  margin: 0 0 10px;
  font-family: var(--font-display) !important;
  font-weight: 400 !important;
  font-size: clamp(22px, 4.6vw, 28px) !important;
  line-height: 1.2 !important;
  color: var(--green) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronAlertBig .sms-tac-text {
  display: block;
  max-width: 46ch;
  margin: 0 auto;
  text-align: center !important;
  font-size: 15.5px !important;
  color: #4a4a36 !important;
}
/* Liste des partenaires en pastilles */
html body div#tarteaucitronRoot div#tarteaucitronAlertBig div.tarteaucitronPartnersList {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  max-width: none !important;
  margin: 18px auto 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  text-align: center !important;
}
html body div#tarteaucitronRoot div#tarteaucitronAlertBig div.tarteaucitronPartnersList b {
  display: inline-block !important;
  margin: 0 4px 0 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--maroon) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronAlertBig div.tarteaucitronPartnersList ul {
  display: contents !important;
}
html body div#tarteaucitronRoot div#tarteaucitronAlertBig div.tarteaucitronPartnersList ul li {
  list-style: none !important;
  margin: 0 !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: rgba(170, 166, 113, .26) !important;
  color: var(--green) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* Boutons : « Tout accepter » et « Tout refuser » strictement équivalents
   (recommandation CNIL : refuser doit être aussi simple qu'accepter). */
html body div#tarteaucitronRoot div#tarteaucitronAlertBig button.tarteaucitronCTAButton,
html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig button#tarteaucitronPersonalize2,
html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig button#tarteaucitronAllDenied2 {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 46px;
  min-height: 0;
  margin: 0 !important;
  padding: 0 18px !important;
  vertical-align: top;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--green) !important;
  color: var(--cream) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  box-shadow: 0 6px 14px -10px rgba(31, 42, 17, .8) !important;
  transition: background .2s ease, transform .3s var(--ease-spring), box-shadow .2s ease !important;
}
html body div#tarteaucitronRoot div#tarteaucitronAlertBig button.tarteaucitronCTAButton:hover,
html body div#tarteaucitronRoot div#tarteaucitronAlertBig button.tarteaucitronCTAButton:focus-visible {
  background: var(--green-soft) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 18px -10px rgba(31, 42, 17, .8) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronAlertBig .tarteaucitronCheck,
html body div#tarteaucitronRoot div#tarteaucitronAlertBig .tarteaucitronCross { display: none !important; }

/* « Personnaliser » : lien-bouton avec picto réglages */
html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig button#tarteaucitronCloseAlert {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: auto !important;
  margin: 16px auto 0 !important;
  padding: 8px 16px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(40, 54, 24, .07) !important;
  color: var(--green) !important;
  font-family: var(--font-body) !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transition: background .2s ease !important;
}
html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig button#tarteaucitronCloseAlert::before {
  content: "";
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--sms-ic-sliders) center / contain no-repeat;
          mask: var(--sms-ic-sliders) center / contain no-repeat;
}
html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig button#tarteaucitronCloseAlert:hover,
html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig button#tarteaucitronCloseAlert:focus-visible {
  background: rgba(40, 54, 24, .14) !important;
}

/* Politique de confidentialité */
html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig button#tarteaucitronPrivacyUrl {
  display: block !important;
  width: auto !important;
  margin: 12px auto 0 !important;
  padding: 4px 6px !important;
  background: none !important;
  border: 0 !important;
  color: var(--maroon) !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Croix de fermeture */
html body div#tarteaucitronRoot div#tarteaucitronAlertBig button#tarteaucitronCloseCross {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(40, 54, 24, .07) !important;
  color: var(--green) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  transition: background .2s ease, transform .3s var(--ease-spring) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronAlertBig button#tarteaucitronCloseCross > span[aria-hidden] { display: none !important; }
html body div#tarteaucitronRoot div#tarteaucitronAlertBig button#tarteaucitronCloseCross::before {
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--sms-ic-close) center / contain no-repeat;
          mask: var(--sms-ic-close) center / contain no-repeat;
}
html body div#tarteaucitronRoot div#tarteaucitronAlertBig button#tarteaucitronCloseCross:hover {
  background: rgba(40, 54, 24, .14) !important;
  transform: rotate(90deg);
}

html body div#tarteaucitronRoot button:focus-visible,
html body div#tarteaucitronRoot a:focus-visible {
  outline: 3px solid var(--maroon) !important;
  outline-offset: 3px !important;
}

@media (max-width: 560px) {
  html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig {
    padding: 0 22px 80px !important;
    border-radius: 26px !important;
  }
  html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig::before {
    width: 64px; height: 64px; margin: 30px auto 14px;
    background-size: 38px auto, auto;
  }
  html body div#tarteaucitronRoot div#tarteaucitronAlertBig button.tarteaucitronCTAButton,
  html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig button#tarteaucitronPersonalize2,
  html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig button#tarteaucitronAllDenied2 {
    margin: 0 0 10px !important;
  }
  html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig[style*="display: block"] { grid-template-columns: 1fr; }
  html body div#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig button#tarteaucitronCloseAlert { margin-top: 6px !important; }
}

/* =========================================================
 * 4. Panneau de gestion des cookies
 * ======================================================= */
html body div#tarteaucitronRoot div#tarteaucitron {
  box-sizing: border-box;
  left: 0 !important;
  right: 0 !important;
  width: min(760px, calc(100% - 32px)) !important;
  max-height: min(88vh, 900px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  background: var(--cream) !important;
  box-shadow: var(--sheet-shadow) !important;
  font-family: var(--font-body) !important;
}
html body div#tarteaucitronRoot div#tarteaucitron div#tarteaucitronServices {
  height: auto !important;
  max-height: min(88vh, 900px) !important;
  margin: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border-radius: 0 !important;
  background: var(--cream) !important;
  box-shadow: none !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(40, 54, 24, .25) transparent;
}

/* Bouton Fermer : pastille ronde dans l'en-tête */
html body div#tarteaucitronRoot div#tarteaucitron button#tarteaucitronClosePanel {
  position: absolute !important;
  z-index: 3;
  top: 20px !important;
  right: 20px !important;
  left: auto !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(254, 250, 224, .14) !important;
  box-shadow: inset 0 0 0 1.5px rgba(254, 250, 224, .3) !important;
  color: var(--cream) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  transition: background .2s ease, transform .3s var(--ease-spring) !important;
}
html body div#tarteaucitronRoot div#tarteaucitron button#tarteaucitronClosePanel::before {
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--sms-ic-close) center / contain no-repeat;
          mask: var(--sms-ic-close) center / contain no-repeat;
}
html body div#tarteaucitronRoot div#tarteaucitron button#tarteaucitronClosePanel:hover {
  background: rgba(254, 250, 224, .26) !important;
  transform: rotate(90deg);
}
html body div#tarteaucitronRoot div#tarteaucitron button#tarteaucitronClosePanel:focus-visible {
  outline-color: var(--cream) !important;
}

/* En-tête vert : titre, texte, préférences globales */
html body div#tarteaucitronRoot div#tarteaucitronServices div.tarteaucitronMainLine {
  display: grid !important;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0 20px;
  margin: 0 !important;
  padding: 38px 40px 26px !important;
  border: 0 !important;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 260' fill='none' stroke='rgba(254,250,224,.09)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 86c-12-14 2-34 22-30 2-18 26-28 42-18 10-16 38-18 50-4 16-10 40-4 44 14 20-2 34 16 26 32-6 12-22 14-34 10-10 10-30 12-44 4-12 10-34 10-46 2-12 8-32 8-42 2-8 4-14 0-18-12Z'/%3E%3Cpath d='M58 70c10-4 20-2 26 4M110 52c10-2 20 2 24 10M150 70c8 0 14 4 16 10'/%3E%3Cpath d='M112 100c-4 30 8 58 2 92-3 18-10 32-12 52'/%3E%3Cpath d='M112 112c-12-4-22-8-30-14M114 120c12-6 22-12 30-20M114 150c8-4 14-10 18-18'/%3E%3Cpath d='M70 244h90'/%3E%3C/svg%3E") right 76px top -92px / 165px auto no-repeat,
    radial-gradient(140% 160% at 0% 0%, #3d4e22 0%, var(--green) 55%, #1d2811 100%) !important;
  color: var(--cream) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices div.tarteaucitronMainLine::before {
  /* pastille cookie */
  content: "";
  grid-column: 1 / -1;
  width: 52px;
  height: 52px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23283618' d='M12 2.2a9.8 9.8 0 1 0 9.8 9.9 3.3 3.3 0 0 1-3.9-3.2 3.3 3.3 0 0 1-3.6-3.4A3.3 3.3 0 0 1 12 2.2Z'/%3E%3Cg fill='%23fefae0'%3E%3Ccircle cx='8.2' cy='9' r='1.35'/%3E%3Ccircle cx='13.6' cy='11.7' r='1.1'/%3E%3Ccircle cx='8.6' cy='15.3' r='1.2'/%3E%3Ccircle cx='15.4' cy='16.4' r='1.4'/%3E%3Ccircle cx='11.6' cy='18.6' r='0.8'/%3E%3Ccircle cx='5.6' cy='12.6' r='0.75'/%3E%3C/g%3E%3C/svg%3E") center / 30px no-repeat, var(--cream);
  box-shadow: 0 0 0 5px rgba(254, 250, 224, .14);
}
html body div#tarteaucitronRoot div#tarteaucitronServices div.tarteaucitronMainLine .tarteaucitronH1 {
  grid-column: 1 / -1;
  display: block !important;
  margin: 0 0 10px !important;
  padding-right: 54px;
  text-align: left !important;
  font-family: var(--font-display) !important;
  font-weight: 400 !important;
  font-size: clamp(22px, 3.4vw, 28px) !important;
  line-height: 1.2 !important;
  color: var(--cream) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices div.tarteaucitronMainLine div#tarteaucitronInfo {
  grid-column: 1 / -1;
  display: block !important;
  position: static !important;
  max-width: 60ch !important;
  width: auto !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  text-align: left !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: rgba(254, 250, 224, .86) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices div.tarteaucitronMainLine div#tarteaucitronInfo p {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: rgba(254, 250, 224, .86) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices div#tarteaucitronInfo br { display: none; }
html body div#tarteaucitronRoot div#tarteaucitronServices button#tarteaucitronPrivacyUrlDialog {
  display: inline !important;
  margin: 0 0 0 6px !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  color: var(--cream) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-decoration-color: var(--olive) !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 2px !important;
}
/* Ligne « Préférences pour tous les services » : barre translucide */
html body div#tarteaucitronRoot div#tarteaucitronServices div.tarteaucitronMainLine .tarteaucitronName {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices div.tarteaucitronMainLine .tarteaucitronName .tarteaucitronH2 {
  margin: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--cream) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices div.tarteaucitronMainLine .tarteaucitronAsk {
  float: none !important;
  display: flex !important;
  gap: 8px;
  margin: 0 !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices div.tarteaucitronMainLine .tarteaucitronAsk button {
  height: 40px;
  min-height: 0;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(254, 250, 224, .14) !important;
  box-shadow: inset 0 0 0 1.5px rgba(254, 250, 224, .35) !important;
  color: var(--cream) !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: background .2s ease, color .2s ease !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices div.tarteaucitronMainLine .tarteaucitronAsk button:hover,
html body div#tarteaucitronRoot div#tarteaucitronServices div.tarteaucitronMainLine .tarteaucitronAsk button:focus-visible {
  background: var(--cream) !important;
  color: var(--green) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices div.tarteaucitronMainLine .tarteaucitronAsk button span { display: none !important; }

/* Corps : catégories et services */
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronBorder {
  padding: 26px 28px 8px !important;
  background: var(--cream) !important;
  border: 0 !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronBorder > ul { margin: 0 !important; padding: 0 !important; }
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronBorder > ul > li {
  margin: 0 0 22px !important;
  padding: 0 !important;
  list-style: none !important;
  background: none !important;
  border: 0 !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronTitle,
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronTitle button {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin: 0 0 6px !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  text-align: left !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronTitle::before {
  content: "";
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: var(--olive);
}
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronTitle .asCatToggleBtn {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--maroon) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronDetails,
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronDetailsInline {
  display: block !important;
  position: static !important;
  max-width: none !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  background: none !important;
  color: #5d5d48 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronBorder ul ul { margin: 0 !important; padding: 0 !important; }

/* Carte de service */
html body div#tarteaucitronRoot div#tarteaucitronServices li.tarteaucitronLine {
  display: grid !important;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px 18px;
  margin: 0 0 10px !important;
  padding: 16px 16px 16px 20px !important;
  list-style: none !important;
  border: 1px solid rgba(40, 54, 24, .08) !important;
  border-radius: 20px !important;
  background: var(--white) !important;
  box-shadow: 0 1px 2px rgba(40, 54, 24, .04), 0 12px 26px -20px rgba(40, 54, 24, .45) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices li.tarteaucitronLine::after { display: none !important; }
html body div#tarteaucitronRoot div#tarteaucitronServices li.tarteaucitronLine .tarteaucitronName {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices li.tarteaucitronLine .tarteaucitronH3 {
  display: block;
  margin: 0 0 6px !important;
  font-family: var(--font-body) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--green) !important;
}
/* Ligne « cookies obligatoires » : texte simple + mention « toujours actif » */
html body div#tarteaucitronRoot div#tarteaucitronServices #tarteaucitronServices_mandatory li.tarteaucitronLine .tarteaucitronH3 {
  margin: 0 !important;
  font-weight: 500 !important;
  font-size: 14.5px !important;
  color: var(--ink) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices #tarteaucitronServices_mandatory li.tarteaucitronLine::before {
  content: "Toujours actifs";
  order: 2;
  grid-column: 2;
  grid-row: 1;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(96, 108, 56, .14);
  color: var(--green);
  font-size: 12.5px;
  font-weight: 700;
  white-space: nowrap;
}
html body div#tarteaucitronRoot div#tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronListCookies,
html body div#tarteaucitronRoot div#tarteaucitronServices #tarteaucitronServices_mandatory br { display: none !important; }

/* Statut + liens */
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronStatusInfo {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin: 0 0 6px !important;
  padding: 0 !important;
  background: none !important;
  font-size: 13px !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices .tacCurrentStatus {
  display: inline-flex !important;
  flex: none;
  width: auto !important;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 8px !important;
  border-radius: 999px;
  background: rgba(40, 54, 24, .07);
  color: #5d5d48 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: capitalize;
}
html body div#tarteaucitronRoot div#tarteaucitronServices .tacCurrentStatus::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--olive);
}
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronIsAllowed .tacCurrentStatus { background: rgba(96, 108, 56, .16); color: var(--green) !important; }
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronIsAllowed .tacCurrentStatus::before { background: var(--green-mid); }
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronIsDenied .tacCurrentStatus { background: rgba(111, 29, 27, .1); color: var(--maroon) !important; }
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronIsDenied .tacCurrentStatus::before { background: var(--maroon); }
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronListCookies {
  color: #6b6b55 !important;
  font-size: 12.5px !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronReadmoreSeparator { color: #a3a38a !important; }
html body div#tarteaucitronRoot div#tarteaucitronServices a.tarteaucitronReadmoreInfo,
html body div#tarteaucitronRoot div#tarteaucitronServices a.tarteaucitronReadmoreOfficial {
  color: var(--maroon) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

/* Interrupteur Autoriser / Interdire (contrôle segmenté) */
html body div#tarteaucitronRoot div#tarteaucitronServices li.tarteaucitronLine .tarteaucitronAsk {
  float: none !important;
  display: inline-flex !important;
  gap: 4px;
  margin: 0 !important;
  padding: 4px !important;
  border-radius: 999px;
  background: rgba(40, 54, 24, .07);
}
html body div#tarteaucitronRoot div#tarteaucitronServices li.tarteaucitronLine .tarteaucitronAsk button {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  height: 36px;
  min-height: 0;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #4a4a36 !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  opacity: 1 !important;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices li.tarteaucitronLine .tarteaucitronAsk button:hover { background: rgba(254, 250, 224, .9) !important; }
html body div#tarteaucitronRoot div#tarteaucitronServices li.tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAsk button.tarteaucitronAllow {
  background: var(--green) !important;
  color: var(--cream) !important;
  box-shadow: 0 6px 14px -8px rgba(31, 42, 17, .9) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices li.tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronAsk button.tarteaucitronDeny {
  background: var(--maroon) !important;
  color: var(--cream) !important;
  box-shadow: 0 6px 14px -8px rgba(86, 21, 18, .9) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronAsk .tarteaucitronCheck,
html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronAsk .tarteaucitronCross { display: none !important; }

/* Pied : bouton Enregistrer collant + crédit discret */
html body div#tarteaucitronRoot div#tarteaucitronServices a.tarteaucitronSelfLink {
  display: block !important;
  margin: 4px auto 0 !important;
  padding: 6px 0 !important;
  text-align: center !important;
  opacity: .45;
  background: none !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices a.tarteaucitronSelfLink img { height: 16px !important; width: auto !important; }
html body div#tarteaucitronRoot div#tarteaucitronServices div#tarteaucitronSave {
  position: sticky;
  bottom: 0;
  z-index: 2;
  margin: 0 !important;
  padding: 14px 28px 18px !important;
  text-align: center !important;
  background: linear-gradient(180deg, rgba(254, 250, 224, 0) 0%, var(--cream) 34%) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices button#tarteaucitronSaveButton {
  box-sizing: border-box !important;
  width: 100%;
  height: 46px;
  min-height: 0;
  margin: 0 !important;
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--green) !important;
  color: var(--cream) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  box-shadow: 0 6px 14px -10px rgba(31, 42, 17, .8) !important;
  transition: background .2s ease, transform .3s var(--ease-spring) !important;
}
html body div#tarteaucitronRoot div#tarteaucitronServices button#tarteaucitronSaveButton:hover,
html body div#tarteaucitronRoot div#tarteaucitronServices button#tarteaucitronSaveButton:focus-visible {
  background: var(--green-soft) !important;
  transform: translateY(-2px);
}
html body div#tarteaucitronRoot div#tarteaucitronPercentage { background: var(--olive) !important; }

@media (max-width: 767px) {
  html body div#tarteaucitronRoot div#tarteaucitron {
    width: 100% !important;
    max-height: 100% !important;
    height: 100% !important;
    border-radius: 0 !important;
  }
  html body div#tarteaucitronRoot div#tarteaucitron div#tarteaucitronServices { max-height: 100% !important; height: 100% !important; }
  html body div#tarteaucitronRoot div#tarteaucitronServices div.tarteaucitronMainLine {
    grid-template-columns: 1fr;
    padding: 30px 22px 22px !important;
    gap: 12px;
  }
  html body div#tarteaucitronRoot div#tarteaucitronServices div.tarteaucitronMainLine div#tarteaucitronInfo { margin-bottom: 6px !important; }
  html body div#tarteaucitronRoot div#tarteaucitronServices .tarteaucitronBorder { padding: 22px 14px 6px !important; }
  html body div#tarteaucitronRoot div#tarteaucitronServices li.tarteaucitronLine { grid-template-columns: 1fr; padding: 16px !important; }
  html body div#tarteaucitronRoot div#tarteaucitronServices #tarteaucitronServices_mandatory li.tarteaucitronLine::before { grid-column: 1; grid-row: 2; justify-self: start; }
  html body div#tarteaucitronRoot div#tarteaucitronServices li.tarteaucitronLine .tarteaucitronAsk { justify-self: start; }
  html body div#tarteaucitronRoot div#tarteaucitronServices div#tarteaucitronSave { padding: 12px 14px 16px !important; }
}
