/* ===== from main.css lines 488-638 ===== */
    /* ---------- Watchlist sections ---------- */
    .watchlist-section { display: none; margin: 0 0 32px; }
    body.watchlist-mode .watchlist-section { display: block !important; }
    body.watchlist-mode .watchlist-section[hidden] { display: none !important; }

    /* Push the first visible section below the featured hero (mirrors .home-tabs margin on home). */
    body.watchlist-mode.has-featured-hero #continueWatching:not([hidden]),
    body.watchlist-mode.has-featured-hero #continueWatching[hidden] + #watchlistAll:not([hidden]),
    body.watchlist-mode.has-featured-hero #continueWatching[hidden] + #watchlistAll[hidden] + #watchlistFolders:not([hidden]) {
      margin-top: calc(40rem - 150px);
      position: relative;
      z-index: 0;
    }
    @media (min-width: 768px) {
      /* Sync avec hero `min(85vh, 920px)` cf. note in featured-hero.css. */
      body.watchlist-mode.has-featured-hero #continueWatching:not([hidden]),
      body.watchlist-mode.has-featured-hero #continueWatching[hidden] + #watchlistAll:not([hidden]),
      body.watchlist-mode.has-featured-hero #continueWatching[hidden] + #watchlistAll[hidden] + #watchlistFolders:not([hidden]) {
        margin-top: calc(min(85vh, 920px) - 150px);
      }
    }
    .watchlist-section-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin: 0 0 12px;
    }
    .watchlist-section-head .home-section-title { margin: 0; }
    .watchlist-folder-create {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      min-height: var(--control-pill-height);
      box-sizing: border-box;
      padding: 0 16px;
      border: 0;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.12);
      -webkit-backdrop-filter: blur(14px) saturate(1.6) brightness(0.78);
      backdrop-filter: blur(14px) saturate(1.6) brightness(0.78);
      color: #fff;
      font: inherit;
      font-size: var(--fs-sm);
      font-weight: 600;
      cursor: pointer;
      transition: background 0.2s ease, transform 0.2s ease, color 0.2s ease;
    }
    .watchlist-folder-create:hover {
      background: rgba(255, 255, 255, 0.24);
      transform: translateY(-1px);
    }

    /* Folder cards (square) */
    .folder-card {
      flex: 0 0 158px;
      width: 158px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 0;
      border: 0;
      background: transparent;
      color: inherit;
      text-align: left;
      cursor: pointer;
      font-family: inherit;
      -webkit-tap-highlight-color: transparent;
    }
    @media (min-width: 768px) {
      .folder-card { flex-basis: 200px; width: 200px; }
    }
    .folder-card-collage {
      position: relative;
      width: 100%;
      aspect-ratio: 1 / 1;
      border-radius: 14px;
      overflow: hidden;
      background: var(--panel-soft);
      border: 0;
      display: grid;
      gap: 2px;
      transition: transform 0.2s ease;
    }
    .folder-card:hover .folder-card-collage {
      transform: translateY(-2px);
    }
    .folder-card.active .folder-card-collage {
      box-shadow: none;
    }
    .folder-card-thumb {
      background-size: cover;
      background-position: center;
      background-color: var(--panel);
      width: 100%;
      height: 100%;
    }
    .folder-card-collage.count-0 {
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2.4rem;
      color: var(--accent-hover);
      background: rgba(var(--accent-rgb), 0.14);
    }
    .folder-card-collage.count-1 { grid-template-columns: 1fr; grid-template-rows: 1fr; }
    .folder-card-collage.count-2 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; }
    .folder-card-collage.count-3 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
    .folder-card-collage.count-3 .folder-card-thumb:nth-child(1) { grid-column: 1 / 3; }
    .folder-card-collage.count-4 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
    .folder-card-body { display: flex; flex-direction: column; gap: 2px; }
    .folder-card-title {
      font-size: var(--fs-sm);
      font-weight: var(--fw-bold);
      color: var(--text);
      line-height: 1.3;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .folder-card-sub {
      font-size: var(--fs-xs);
      font-weight: var(--fw-medium);
      color: var(--muted);
    }
    .folder-empty-hint {
      margin: 0;
      padding: 20px 8px;
      color: var(--muted);
      font-size: var(--fs-sm);
    }

    .watchlist-folder-open .empty {
      border-color: rgba(var(--accent-rgb), 0.36);
      background: rgba(var(--accent-rgb), 0.14);
      color: var(--text);
    }

    /* Folder open grid */
    .watchlist-folder-open {
      margin-top: 20px;
      padding-top: 20px;
      border-top: 1px solid var(--line);
    }
    .watchlist-folder-open-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin: 0 0 16px;
      flex-wrap: wrap;
    }
    .watchlist-folder-open-head h4 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--text);
    }
    .watchlist-folder-open-actions {
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }
    .watchlist-folder-open-actions .settings-clear,
    .watchlist-folder-open-actions .icon-button {
      border: 0;
    }
    .watchlist-folder-open-actions #watchlistFolderOpenClose {
      font-size: 1.82rem;
      font-weight: 800;
      line-height: 1;
      padding-bottom: 3px;
    }
    .watchlist-folder-open-actions .settings-clear:hover,
    .watchlist-folder-open-actions .settings-clear:focus-visible,
    .watchlist-folder-open-actions .icon-button:hover,
    .watchlist-folder-open-actions .icon-button:focus-visible {
      border: 0;
    }
