/* Bandeau cookies Label Cravate (R1b). Tous les sélecteurs commencent par #lcc ou .lcc : le thème ne les touche pas. */
#lcc[hidden], #lcc .lcc-choix[hidden] { display: none !important; }

#lcc {
  box-sizing: border-box;
  width: 100%;
  background: #fff;
  color: #1a1a1a;
  font: 400 15px/1.5 Arial, Helvetica, sans-serif;
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
  border-top: 3px solid #1a1a1a;
  z-index: 2147483000;
}
#lcc *, #lcc *::before, #lcc *::after { box-sizing: border-box; }

/* en bas de l'écran, sans voile ni blocage de la page */
#lcc.lcc--bas { position: fixed; left: 0; right: 0; bottom: 0; max-height: 85vh; overflow-y: auto; box-shadow: 0 -2px 12px rgba(0, 0, 0, .18); }
/* panier, commande, confirmation : dans le flux, en haut de page, jamais par-dessus un bouton */
#lcc.lcc--flux { position: static; border-bottom: 1px solid #1a1a1a; }

#lcc .lcc-contenu { max-width: 960px; margin: 0 auto; padding: 14px 16px 16px; }
#lcc .lcc-titre { margin: 0 0 6px; padding: 0; font: 700 18px/1.3 Arial, Helvetica, sans-serif; color: #1a1a1a; text-transform: none; letter-spacing: 0; }
#lcc .lcc-texte { margin: 0 0 12px; padding: 0; font-size: 15px; line-height: 1.5; color: #1a1a1a; }
#lcc .lcc-lien { color: #0b3d91; text-decoration: underline; }

#lcc .lcc-boutons { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; }
/* les trois choix ont exactement le même aspect */
#lcc .lcc-btn {
  flex: 1 1 0;
  min-width: 140px;
  min-height: 44px;
  margin: 0;
  padding: 10px 14px;
  background: #fff;
  color: #1a1a1a;
  border: 2px solid #1a1a1a;
  border-radius: 4px;
  font: 700 15px/1.2 Arial, Helvetica, sans-serif;
  text-transform: none;
  letter-spacing: 0;
  text-shadow: none;
  box-shadow: none;
  cursor: pointer;
}
#lcc .lcc-btn:hover { background: #1a1a1a; color: #fff; }
#lcc a:focus-visible, #lcc .lcc-btn:focus-visible, #lcc input:focus-visible, #lcc:focus-visible, .lcc-gerer:focus-visible { outline: 3px solid #0b57d0; outline-offset: 2px; }
#lcc:focus { outline: none; }
#lcc:focus-visible { outline: 3px solid #0b57d0; outline-offset: -3px; }

#lcc .lcc-choix { margin: 14px 0 0; padding: 0; border: 0; min-width: 0; }
#lcc .lcc-legende { margin: 0 0 8px; padding: 0; font-weight: 700; font-size: 15px; color: #1a1a1a; }
#lcc .lcc-case { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 10px; padding: 0; font-weight: 400; cursor: pointer; }
#lcc .lcc-case input { flex: 0 0 22px; width: 22px; height: 22px; margin: 2px 0 0; }
#lcc .lcc-aide { display: block; font-size: 14px; color: #3d3d3d; }
#lcc .lcc-enregistrer { flex: none; width: 100%; max-width: 320px; margin-top: 4px; }

/* lien « Gérer mes cookies » du pied de page : bande claire à part, lisible quelle que soit la couleur du pied */
.lcc-pied { background: #f2f2f2; color: #1a1a1a; text-align: center; padding: 10px 16px; }
.lcc-gerer { margin: 0; padding: 6px 8px; background: none; border: 0; color: #0b3d91; font: 400 14px/1.4 Arial, Helvetica, sans-serif; text-decoration: underline; cursor: pointer; }

@media (max-width: 600px) {
  #lcc .lcc-contenu { padding: 12px 12px 14px; }
  #lcc .lcc-boutons { flex-direction: column; }
  #lcc .lcc-btn { flex: none; width: 100%; }
  #lcc .lcc-enregistrer { max-width: none; }
  #lcc .lcc-titre { font-size: 17px; }
}
