      /* Variables globales (couleurs, rayons, ombres...) */
      :root {
        --bg: #050816;
        --bg-card: #0b1020;
        --accent: #ff6b35;
        --accent-soft: rgba(255, 107, 53, 0.15);
        --text: #f5f5f5;
        --text-muted: #a5adc3;
        --border: #1e2435;
        --danger: #ff4b5c;
        --danger-soft: rgba(255, 75, 92, 0.1);
        --radius-lg: 18px;
        --radius-md: 999px;
        --shadow-soft: 0 18px 40px rgba(0, 0, 0, 0.45);
        --hover-panel-bg-top: #050505;
        --hover-panel-bg-bottom: #050505;
        --hover-panel-border: rgba(255, 255, 255, 0.08);

        --page-max-width: 1440px;
        --page-padding: clamp(16px, 3vw, 48px);

        --space-xs: clamp(4px, 0.5vw, 8px);
        --space-sm: clamp(8px, 1vw, 14px);
        --space-md: clamp(14px, 1.5vw, 24px);
        --space-lg: clamp(24px, 3vw, 48px);
        --space-xl: clamp(40px, 5vw, 80px);

        --font-xs: clamp(0.75rem, 0.7vw, 0.85rem);
        --font-sm: clamp(0.85rem, 0.85vw, 1rem);
        --font-md: clamp(1rem, 1vw, 1.15rem);
        --font-lg: clamp(1.2rem, 1.6vw, 1.8rem);
        --font-xl: clamp(1.8rem, 3vw, 3.5rem);

        --radius-sm: 8px;

        /* Largeurs communes carte / affiche / panneau */
        --card-width: 220px;
        --card-width-hover: 220px;
        --poster-height: 260px;
      }

      /* Reset basique */
      * {
        box-sizing: border-box;
      }

      *::before,
      *::after {
        box-sizing: border-box;
      }

      html,
      body {
        width: 100%;
        min-height: 100%;
        overflow-x: hidden;
      }

      img,
      video,
      canvas,
      svg {
        max-width: 100%;
      }

      .sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
      }

      /* Style général de la page */
      body {
        margin: 0;
        padding: 0;
        font-family:
          system-ui,
          -apple-system,
          BlinkMacSystemFont,
          "Segoe UI",
          sans-serif;
        background: var(--bg);
        color: var(--text);
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        overflow-x: hidden;
      }
