/* Mode Halloween South District RP */
    :root {
      --sd-neon: #ff7518 !important;
      --sd-neon-rgb: 255, 117, 24 !important;
      --theme-color: #ff7518 !important;
      --accent-color: #ff7518 !important;
      --cp-green: #ff7518 !important;
      --cp-green-glow: 0 0 25px rgba(255, 117, 24, 0.6) !important;
      --reg-accent: #ff7518 !important;
      --reg-tier-accent-soft: rgba(255, 117, 24, 0.85) !important;
    }
    ::selection {
      background: #ff7518 !important;
      color: #080a0f !important;
    }

    /* Effets Ambiance Halloween : Vacillement & Lueur de lanterne */
    @keyframes sd-halloween-lantern-pulse {
      0%, 100% {
        filter: drop-shadow(0 0 14px rgba(255, 117, 24, 0.45)) drop-shadow(0 4px 12px rgba(0, 0, 0, 0.7)) !important;
      }
      25% {
        filter: drop-shadow(0 0 25px rgba(255, 117, 24, 0.8)) drop-shadow(0 0 8px rgba(255, 180, 50, 0.4)) drop-shadow(0 4px 12px rgba(0, 0, 0, 0.7)) !important;
      }
      50% {
        filter: drop-shadow(0 0 13px rgba(255, 117, 24, 0.4)) drop-shadow(0 4px 12px rgba(0, 0, 0, 0.7)) !important;
      }
      75% {
        filter: drop-shadow(0 0 28px rgba(255, 117, 24, 0.85)) drop-shadow(0 0 10px rgba(255, 150, 30, 0.5)) drop-shadow(0 4px 12px rgba(0, 0, 0, 0.7)) !important;
      }
    }

    @keyframes sd-halloween-shell-pulse {
      0%, 100% {
        box-shadow: 0 25px 70px rgba(0, 0, 0, 0.8), 0 0 35px rgba(255, 117, 24, 0.12), 0 0 0 1px rgba(255, 255, 255, 0.05) !important;
      }
      50% {
        box-shadow: 0 25px 70px rgba(0, 0, 0, 0.8), 0 0 65px rgba(255, 117, 24, 0.25), 0 0 0 1px rgba(255, 117, 24, 0.2) !important;
      }
    }

    .cp-shell {
      animation: sd-halloween-shell-pulse 6s ease-in-out infinite !important;
    }

    .cp-nav__logo img,
    .cp-nav__brand-mobile img {
      animation: sd-halloween-lantern-pulse 4.5s ease-in-out infinite !important;
    }

    .cp-shiny-btn:hover {
      box-shadow: 0 0 22px rgba(255, 117, 24, 0.5) !important;
    }

    /* Fenêtre Connexion / Espace Compte (Halloween) */
    .sd-account-modal__panel {
      border: 1px solid rgba(255, 117, 24, 0.3) !important;
      box-shadow: 0 24px 80px rgba(0, 0, 0, 0.9), 0 0 40px rgba(255, 117, 24, 0.12) !important;
    }
    .sd-account-modal__brand:after {
      background: radial-gradient(circle at 50% 62%, rgba(255, 117, 24, 0.22), transparent 65%) !important;
    }
    .sd-account-tabs button.is-active {
      background: rgba(255, 117, 24, 0.18) !important;
      border-color: rgba(255, 117, 24, 0.6) !important;
      color: #ff7518 !important;
      box-shadow: 0 0 14px rgba(255, 117, 24, 0.25) !important;
    }
    .sd-account-form button[type="submit"] {
      background: #ff7518 !important;
      color: #071612 !important;
      box-shadow: 0 4px 18px rgba(255, 117, 24, 0.4) !important;
      transition: all 0.2s ease !important;
    }
    .sd-account-form button[type="submit"]:hover {
      background: #ff8533 !important;
      box-shadow: 0 6px 24px rgba(255, 117, 24, 0.6) !important;
      transform: translateY(-1px) !important;
    }
    .sd-account-form input:focus {
      border-color: rgba(255, 117, 24, 0.75) !important;
      box-shadow: 0 0 0 3px rgba(255, 117, 24, 0.22) !important;
    }

    /* Toiles d'araignÃƒÂ©es discrÃƒÂ¨tes d'Halloween dans les coins */
    .sd-cobweb {
      position: absolute;
      top: 0;
      width: 95px;
      height: 95px;
      pointer-events: none;
      z-index: 999;
      opacity: 0.75;
      transition: opacity 0.3s ease;
    }
    .sd-cobweb--left {
      left: 0;
    }
    .sd-cobweb--right {
      right: 0;
      transform: scaleX(-1);
    }

    /* Chauves-souris d'ambiance d'Halloween - Battement articulÃƒÂ© 3D rÃƒÂ©aliste */
    @keyframes sd-body-flutter {
      0%, 100% {
        transform: translateY(0px) rotate(0deg);
      }
      30% {
        transform: translateY(-4px) rotate(-1deg);
      }
      75% {
        transform: translateY(3px) rotate(1deg);
      }
    }

    @keyframes sd-wing-l-realistic {
      0% {
        transform: rotateZ(-28deg) rotateY(-20deg) scaleX(0.9);
      }
      35% {
        transform: rotateZ(34deg) rotateY(15deg) scaleX(1);
      }
      55% {
        transform: rotateZ(20deg) rotateY(10deg) scaleX(0.98);
      }
      100% {
        transform: rotateZ(-28deg) rotateY(-20deg) scaleX(0.9);
      }
    }

    @keyframes sd-wing-r-realistic {
      0% {
        transform: rotateZ(28deg) rotateY(20deg) scaleX(0.9);
      }
      35% {
        transform: rotateZ(-34deg) rotateY(-15deg) scaleX(1);
      }
      55% {
        transform: rotateZ(-20deg) rotateY(-10deg) scaleX(0.98);
      }
      100% {
        transform: rotateZ(28deg) rotateY(20deg) scaleX(0.9);
      }
    }

    @keyframes sd-fly-bat-1 {
      0% {
        transform: translate(-70px, 45vh) rotate(18deg) scale(0.9);
        opacity: 0;
      }
      4% { opacity: 0.9; }
      40% {
        transform: translate(45vw, 22vh) rotate(-6deg) scale(0.95);
      }
      80% {
        transform: translate(85vw, 12vh) rotate(12deg) scale(0.85);
        opacity: 0.9;
      }
      100% {
        transform: translate(calc(100vw + 70px), 8vh) rotate(18deg) scale(0.8);
        opacity: 0;
      }
    }

    @keyframes sd-fly-bat-2 {
      0% {
        transform: translate(calc(100vw + 60px), 25vh) rotate(-18deg) scale(0.7);
        opacity: 0;
      }
      4% { opacity: 0.85; }
      45% {
        transform: translate(50vw, 38vh) rotate(9deg) scale(0.75);
      }
      85% {
        transform: translate(15vw, 24vh) rotate(-12deg) scale(0.7);
        opacity: 0.85;
      }
      100% {
        transform: translate(-70px, 20vh) rotate(-18deg) scale(0.65);
        opacity: 0;
      }
    }

    @keyframes sd-fly-bat-3 {
      0% {
        transform: translate(-60px, 14vh) rotate(22deg) scale(0.55);
        opacity: 0;
      }
      4% { opacity: 0.75; }
      50% {
        transform: translate(55vw, 9vh) rotate(-10deg) scale(0.6);
      }
      85% {
        transform: translate(90vw, 17vh) rotate(14deg) scale(0.55);
        opacity: 0.75;
      }
      100% {
        transform: translate(calc(100vw + 60px), 15vh) rotate(20deg) scale(0.5);
        opacity: 0;
      }
    }

    .sd-bat {
      position: fixed;
      top: 0;
      left: 0;
      pointer-events: none;
      z-index: 9998;
      opacity: 0;
    }
    .sd-bat-anim {
      width: 100%;
      height: 100%;
      position: relative;
      filter: drop-shadow(0 0 10px rgba(255, 117, 24, 0.85)) drop-shadow(0 4px 12px rgba(0, 0, 0, 0.8));
      animation: sd-body-flutter 0.35s ease-in-out infinite;
    }
    .sd-bat-anim svg {
      width: 100%;
      height: 100%;
      overflow: visible;
      display: block;
    }
    .sd-wing-left {
      transform-origin: 47px 22px;
      animation: sd-wing-l-realistic 0.35s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .sd-wing-right {
      transform-origin: 53px 22px;
      animation: sd-wing-r-realistic 0.35s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    .sd-bat--1 {
      width: 58px;
      height: 29px;
      animation: sd-fly-bat-1 14s cubic-bezier(0.4, 0, 0.2, 1) infinite;
      animation-delay: 1.5s;
    }
    .sd-bat--1 .sd-wing-left,
    .sd-bat--1 .sd-wing-right,
    .sd-bat--1 .sd-bat-anim {
      animation-duration: 0.35s;
    }

    .sd-bat--2 {
      width: 44px;
      height: 22px;
      animation: sd-fly-bat-2 18s cubic-bezier(0.4, 0, 0.2, 1) infinite;
      animation-delay: 8s;
    }
    .sd-bat--2 .sd-wing-left,
    .sd-bat--2 .sd-wing-right,
    .sd-bat--2 .sd-bat-anim {
      animation-duration: 0.28s;
    }

    .sd-bat--3 {
      width: 32px;
      height: 16px;
      animation: sd-fly-bat-3 22s cubic-bezier(0.4, 0, 0.2, 1) infinite;
      animation-delay: 15s;
    }
    .sd-bat--3 .sd-wing-left,
    .sd-bat--3 .sd-wing-right,
    .sd-bat--3 .sd-bat-anim {
      animation-duration: 0.23s;
    }