/**
 * Folies Secrètes — Bannière cookies premium 1A-quater
 * STACK LOCKED préprod (2026-05-26) — switches modale
 * priority 535 — Logique RGPD inchangée.
 */

#lgcookieslaw_modal .lgcookieslaw-slider-option-left,
#lgcookieslaw_modal .lgcookieslaw-slider-option-right {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

#lgcookieslaw_modal .lgcookieslaw-section-checkbox {
  overflow: visible !important;
}

#lgcookieslaw_modal .lgcookieslaw-switch {
  position: relative !important;
  display: inline-block !important;
  width: 48px !important;
  height: 26px !important;
  min-width: 48px !important;
  min-height: 26px !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}

/* Masquer rendus PrestaShop / checkbox natifs (carré blanc parasite) */
#lgcookieslaw_modal .lgcookieslaw-switch input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  clip: rect(0, 0, 0, 0) !important;
  pointer-events: none !important;
}

#lgcookieslaw_modal .lgcookieslaw-switch div.checker,
#lgcookieslaw_modal .lgcookieslaw-switch div.checker span,
#lgcookieslaw_modal .lgcookieslaw-switch div.checker input,
#lgcookieslaw_modal .lgcookieslaw-switch .checker {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* Track */
#lgcookieslaw_modal .lgcookieslaw-slider {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 999px !important;
  background: #e6e2dc !important;
  border: 1px solid rgba(26, 23, 22, 0.1) !important;
  box-shadow: inset 0 1px 2px rgba(26, 23, 22, 0.07) !important;
  cursor: pointer !important;
  transition: background 0.28s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.28s ease, box-shadow 0.28s ease !important;
}

/* Thumb rond — pas de carré */
#lgcookieslaw_modal .lgcookieslaw-slider::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  width: 20px !important;
  height: 20px !important;
  left: 3px !important;
  top: 50% !important;
  bottom: auto !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 2px 8px rgba(26, 23, 22, 0.16) !important;
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.28s ease !important;
  transform: translate(0, -50%) !important;
  -webkit-transform: translate(0, -50%) !important;
}

/* OFF — Personnalisation par défaut si non coché côté module */
#lgcookieslaw_modal input:not(:checked) + .lgcookieslaw-slider {
  background: #e6e2dc !important;
  border-color: rgba(26, 23, 22, 0.1) !important;
}

#lgcookieslaw_modal input:not(:checked) + .lgcookieslaw-slider::before,
#lgcookieslaw_modal .lgcookieslaw-slider:not(.lgcookieslaw-slider-checked)::before {
  transform: translate(0, -50%) !important;
  -webkit-transform: translate(0, -50%) !important;
}

/* ON — olive premium */
#lgcookieslaw_modal input:checked + .lgcookieslaw-slider,
#lgcookieslaw_modal .lgcookieslaw-slider.lgcookieslaw-slider-checked {
  background: linear-gradient(135deg, #9ca584 0%, #6f765c 100%) !important;
  border-color: #6f765c !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}

#lgcookieslaw_modal input:checked + .lgcookieslaw-slider::before,
#lgcookieslaw_modal .lgcookieslaw-slider.lgcookieslaw-slider-checked::before {
  transform: translate(22px, -50%) !important;
  -webkit-transform: translate(22px, -50%) !important;
  box-shadow: 0 3px 10px rgba(26, 23, 22, 0.2) !important;
}

/* Fonctionnel (obligatoire) — toujours ON, non cliquable */
#lgcookieslaw_modal .lgcookieslaw-section input:disabled + .lgcookieslaw-slider,
#lgcookieslaw_modal .lgcookieslaw-section input[disabled] + .lgcookieslaw-slider {
  background: linear-gradient(135deg, #9ca584 0%, #6f765c 100%) !important;
  border-color: #6f765c !important;
  opacity: 0.92 !important;
  cursor: not-allowed !important;
}

#lgcookieslaw_modal .lgcookieslaw-section input:disabled + .lgcookieslaw-slider::before,
#lgcookieslaw_modal .lgcookieslaw-section input[disabled] + .lgcookieslaw-slider::before {
  transform: translate(22px, -50%) !important;
  -webkit-transform: translate(22px, -50%) !important;
}

#lgcookieslaw_modal .lgcookieslaw-section input:disabled ~ .lgcookieslaw-slider-option-right,
#lgcookieslaw_modal .lgcookieslaw-section input[disabled] ~ .lgcookieslaw-slider-option-left {
  display: none !important;
}

/* Focus accessible sans halo carré */
#lgcookieslaw_modal .lgcookieslaw-switch:focus-within .lgcookieslaw-slider {
  outline: 2px solid rgba(111, 118, 92, 0.45) !important;
  outline-offset: 2px !important;
}

@media (max-width: 767px) {
  #lgcookieslaw_modal .lgcookieslaw-switch {
    width: 46px !important;
    height: 26px !important;
  }

  #lgcookieslaw_modal .lgcookieslaw-slider::before {
    width: 20px !important;
    height: 20px !important;
  }

  #lgcookieslaw_modal input:checked + .lgcookieslaw-slider::before,
  #lgcookieslaw_modal .lgcookieslaw-slider.lgcookieslaw-slider-checked::before,
  #lgcookieslaw_modal .lgcookieslaw-section input:disabled + .lgcookieslaw-slider::before {
    transform: translate(20px, -50%) !important;
    -webkit-transform: translate(20px, -50%) !important;
  }
}
