.w2g-wrap *, .w2g-wrap *::before, .w2g-wrap *::after {
  box-sizing: border-box !important;
  margin: 0;
  padding: 0;
}

/* Tooltips are rendered by the single JS-managed #w2g-tip element. */
[data-tip]::before,
[data-tip]::after {
  display: none !important;
  content: none !important;
}

.w2g-wrap {
  --blue:      #5092f9;
  --blue-d:    #2d6de8;
  --blue-s:    #eef4ff;
  --blue-m:    #deeaff;
  --ink:       #0d1b2a;
  --ink2:      #6b7a8d;
  --bg:        #f5f6f8;
  --white:     #ffffff;
  --bor:       #e2e8f0;
  --r:         12px;
  --sh:        0 1px 3px rgba(0,0,0,.06), 0 4px 16px rgba(80,146,249,.08);
  --t:         .18s cubic-bezier(.4,0,.2,1);

  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--ink);
  background: transparent;
  max-width: 1100px;
  margin: 0 auto;
  padding: 28px 0 52px;
  -webkit-font-smoothing: antialiased;
}

body.w2g-template-page,
body.w2g-template-page button,
body.w2g-template-page input,
body.w2g-template-page select,
body.w2g-template-page textarea,
.w2g-modal,
.w2g-modal *,
.w2g-wl-modal,
.w2g-wl-modal *,
#w2g-tip,
.w2g-toast {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.w2g-template-page h1,
body.w2g-template-page h2,
body.w2g-template-page h3,
.w2g-det-title,
.w2g-wl-bt,
.w2g-act-btn,
.w2g-abt,
.w2g-wl-modal-title,
.w2g-score-num {
  font-family: 'Poppins', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.w2g-template-page :is(.fa,.fas,.fa-solid,.far,.fa-regular),
.w2g-modal :is(.fa,.fas,.fa-solid,.far,.fa-regular),
.w2g-wl-modal :is(.fa,.fas,.fa-solid,.far,.fa-regular),
#w2g-tip :is(.fa,.fas,.fa-solid,.far,.fa-regular),
.w2g-toast :is(.fa,.fas,.fa-solid,.far,.fa-regular) {
  font-family: "Font Awesome 7 Free", "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
}

body.w2g-template-page :is(.fab,.fa-brands),
.w2g-modal :is(.fab,.fa-brands),
.w2g-wl-modal :is(.fab,.fa-brands),
#w2g-tip :is(.fab,.fa-brands),
.w2g-toast :is(.fab,.fa-brands) {
  font-family: "Font Awesome 7 Brands", "Font Awesome 6 Brands" !important;
  font-weight: 400 !important;
}

body.w2g-template-page :is(.fa,.fas,.fa-solid,.far,.fa-regular,.fab,.fa-brands)::before,
.w2g-modal :is(.fa,.fas,.fa-solid,.far,.fa-regular,.fab,.fa-brands)::before,
.w2g-wl-modal :is(.fa,.fas,.fa-solid,.far,.fa-regular,.fab,.fa-brands)::before {
  font-family: inherit !important;
}

/* HEADER */
.w2g-header { text-align: center; margin-bottom: 28px; }
.w2g-eyebrow {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
  color: var(--blue); background: var(--blue-s); border: 1px solid var(--blue-m);
  border-radius: 20px; padding: 5px 14px; margin-bottom: 14px;
}
.w2g-eyebrow::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--blue); flex-shrink:0; }
.w2g-header h2 {
  font-family:'Poppins',sans-serif !important;
  font-size:clamp(26px,4.5vw,40px) !important;
  font-weight:800 !important; line-height:1.1 !important;
  color:var(--ink) !important; letter-spacing:-.03em !important;
  margin-bottom:10px !important; border:none !important; padding:0 !important;
}
.w2g-header h2 em { font-style:normal; color:var(--blue); }
.w2g-header p { font-size:15px; color:var(--ink2); line-height:1.65; }

/* MAIN CARD */
.w2g-card {
  background: var(--white);
  border: 1px solid var(--bor);
  border-radius: var(--r);
  box-shadow: var(--sh);
  overflow: hidden;
  margin-bottom: 28px;
}

/* TOGGLE BAR */
.w2g-toggle-bar {
  display: flex;
  border-bottom: 1px solid var(--bor);
  background: #fafafa;
}
.w2g-toggle {
  flex: 1; height: 46px;
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: 8px;
  border: none !important; border-top: none !important; border-left: none !important;
  border-right: none !important; border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: none !important; outline: none; box-shadow: none !important;
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600;
  color: var(--ink2); cursor: pointer;
  transition: color var(--t), border-color var(--t);
  padding: 0 !important; margin: 0 !important;
}
.w2g-toggle i { font-size: 13px !important; line-height: 1 !important; }
.w2g-toggle:hover { color: var(--ink) !important; }
.w2g-toggle.active { color: var(--blue) !important; border-bottom-color: var(--blue) !important; }

/* SEARCH PANEL */
.w2g-panel-inner { padding: 20px 22px 22px; }

/* TYPE TABS */
.w2g-type-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.w2g-tab {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  height: 34px; padding: 0 14px !important;
  border-radius: 100px !important; border: 1.5px solid var(--bor) !important;
  background: none !important; color: var(--ink2) !important;
  font-family: 'Inter', sans-serif !important; font-size: 12px !important; font-weight: 600 !important;
  cursor: pointer; transition: all var(--t); white-space: nowrap;
  box-shadow: none !important;
}
.w2g-tab i { font-size: 11px !important; }
.w2g-tab:hover { border-color: var(--blue) !important; color: var(--blue) !important; background: var(--blue-s) !important; }
.w2g-tab.active { border-color: var(--blue) !important; background: var(--blue) !important; color: #fff !important; }

/* SEARCH ROW — no icon inside input */
.w2g-search-row {
  display: flex !important;
  gap: 8px !important;
  align-items: stretch !important;
}

.w2g-query-input {
  flex: 1 !important; min-width: 0 !important;
  height: 48px !important;
  padding: 0 16px !important;
  font-family: 'Inter', sans-serif !important; font-size: 14px !important;
  border: 1.5px solid var(--bor) !important; border-radius: 9px !important;
  background: var(--bg) !important; color: var(--ink) !important;
  outline: none !important;
  -webkit-appearance: none !important; appearance: none !important;
  background-image: none !important;
  box-shadow: none !important;
  display: block !important;
  transition: border-color var(--t), box-shadow var(--t);
}
.w2g-query-input::placeholder { color: var(--ink2) !important; }
.w2g-query-input:focus {
  border-color: var(--blue) !important;
  background: var(--white) !important;
  box-shadow: 0 0 0 3px rgba(80,146,249,.12) !important;
}

#w2g-year {
  width: 110px !important; flex-shrink: 0 !important;
  height: 48px !important; padding: 0 14px !important;
  font-family: 'Inter', sans-serif !important; font-size: 14px !important;
  border: 1.5px solid var(--bor) !important; border-radius: 9px !important;
  background: var(--bg) !important; color: var(--ink) !important;
  outline: none !important;
  -webkit-appearance: none !important; appearance: none !important;
  background-image: none !important;
  box-shadow: none !important;
  transition: border-color var(--t);
}
#w2g-year::placeholder { color: var(--ink2) !important; }
#w2g-year:focus { border-color: var(--blue) !important; background: var(--white) !important; }
#w2g-year::-webkit-inner-spin-button, #w2g-year::-webkit-outer-spin-button { -webkit-appearance: none; }

.w2g-btn-blue {
  height: 48px !important; padding: 0 20px !important; flex-shrink: 0 !important;
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  background: var(--blue) !important; color: #fff !important;
  border: none !important; border-radius: 9px !important;
  font-family: 'Poppins', sans-serif !important; font-size: 13px !important; font-weight: 700 !important;
  cursor: pointer; transition: background var(--t), transform var(--t);
  white-space: nowrap !important; box-shadow: 0 2px 10px rgba(80,146,249,.3) !important;
}
.w2g-btn-blue i { font-size: 12px !important; }
.w2g-btn-blue:hover { background: var(--blue-d) !important; transform: translateY(-1px) !important; }

.w2g-btn-ghost {
  width: 48px !important; height: 48px !important; flex-shrink: 0 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: none !important; border: 1.5px solid var(--bor) !important; border-radius: 9px !important;
  color: var(--ink2) !important; cursor: pointer; transition: all var(--t);
  box-shadow: none !important;
}
.w2g-btn-ghost i { font-size: 15px !important; }
.w2g-btn-ghost:hover { border-color: var(--blue) !important; color: var(--blue) !important; background: var(--blue-s) !important; }

/* FILTER CHIPS */
.w2g-filters { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.w2g-chip {
  display: inline-flex !important; align-items: center !important; gap: 5px !important;
  height: 30px; padding: 0 12px !important;
  border-radius: 100px !important; border: 1px solid var(--bor) !important;
  background: none !important; color: var(--ink2) !important;
  font-family: 'Inter', sans-serif !important; font-size: 12px !important; font-weight: 500 !important;
  cursor: pointer; transition: all var(--t); box-shadow: none !important;
}
.w2g-chip i { font-size: 10px !important; }
.w2g-chip:hover { border-color: var(--blue) !important; color: var(--blue) !important; background: var(--blue-s) !important; }
.w2g-chip.active { background: var(--blue-s) !important; border-color: var(--blue-m) !important; color: var(--blue) !important; }
.w2g-chip.person-active { background: #f0fdf4 !important; border-color: #86efac !important; color: #16a34a !important; }

/* PERSON HINT */
.w2g-person-hint {
  display: inline-flex; align-items: center; gap: 7px; margin-top: 8px;
  padding: 6px 10px; border-radius: 100px;
  background: var(--blue-s); border: 1px solid var(--blue-m);
  font-size: 11px; font-weight: 600; color: var(--blue); line-height: 1.2;
  max-width: 100%; width: auto;
}
.w2g-person-hint i { font-size: 11px; flex-shrink: 0; }

/* WATCHLIST PANEL */
.w2g-panel-wl { overflow: hidden; }
.w2g-wl-tabs-inner {
  display: flex;
  border-bottom: 1px solid var(--bor);
  background: #fafafa;
  overflow-x: auto;
}
.w2g-wl-tab {
  padding: 12px 20px !important; flex-shrink: 0;
  font-family: 'Inter', sans-serif !important; font-size: 13px !important; font-weight: 600 !important;
  border: none !important; border-top: none !important; border-left: none !important;
  border-right: none !important; border-bottom: 2px solid transparent !important;
  border-radius: 0 !important; box-shadow: none !important;
  background: none !important; cursor: pointer; color: var(--ink2) !important;
  transition: color var(--t), border-color var(--t);
  white-space: nowrap; margin: 0 !important;
}
.w2g-wl-tab:hover { color: var(--ink) !important; }
.w2g-wl-tab.active { color: var(--blue) !important; border-bottom-color: var(--blue) !important; }

.w2g-wl-banner {
  position: relative; min-height: 96px; overflow: hidden;
  background: linear-gradient(120deg, #0d1b2a 0%, #1a2e4a 55%, #0f2647 100%);
  display: flex; flex-direction: row; align-items: stretch; padding: 0 24px; gap: 12px;
}
.w2g-wl-bov {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to right, rgba(13,27,42,.97) 20%, rgba(13,27,42,.6) 60%, transparent 100%);
}
.w2g-banner-left {
  position: relative; z-index: 1; display: flex; align-items: center;
  flex: 1; min-width: 0; padding: 20px 0;
}
.w2g-banner-info { min-width: 0; }
.w2g-wl-bt { font-family: 'Poppins', sans-serif; font-size: 18px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; letter-spacing: -.02em; }
.w2g-banner-meta { display: flex; align-items: center; gap: 12px; margin-top: 7px; }
.w2g-wl-bs { font-size: 12px; font-weight: 500; color: rgba(255,255,255,.5); white-space: nowrap; }
.w2g-banner-progress-pill { display: flex; align-items: center; gap: 8px; }
.w2g-progress-track { width: 80px; height: 3px; border-radius: 2px; background: rgba(255,255,255,.15); overflow: hidden; }
.w2g-progress-fill { height: 100%; border-radius: 2px; background: linear-gradient(90deg,#5092f9,#38bdf8); transition: width .5s ease; }
.w2g-progress-pct { font-size: 11px; font-weight: 700; color: rgba(255,255,255,.45); }

.w2g-wl-row {
  display: flex; align-items: center; gap: 8px;
  padding: 7px 18px; border-bottom: 1px solid var(--bor);
  min-height: 38px; transition: background var(--t);
}
.w2g-wl-row:last-child { border-bottom: none; }
.w2g-wl-row:hover { background: #f9fafb; }
.w2g-wl-num { font-size: 11px; color: var(--ink2); min-width: 18px; text-align: right; flex-shrink: 0; }
.w2g-wl-ico { font-size: 12px; flex-shrink: 0; }
.w2g-wl-name { flex: 1; font-size: 13px; font-weight: 500; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.w2g-wl-right { display: flex; align-items: center; gap: 5px; flex-shrink: 0; }
.w2g-wl-prog { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 100px; background: var(--blue-s); border: 1px solid var(--blue-m); color: var(--blue); white-space: nowrap; }
.w2g-ep-step { display: none; align-items: center; gap: 3px; }
.w2g-wl-row:hover .w2g-ep-step { display: flex; }
.w2g-ep-step button { width: 22px !important; height: 22px !important; border-radius: 5px !important; border: 1px solid var(--bor) !important; background: none !important; color: var(--ink2) !important; cursor: pointer; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 9px !important; transition: all var(--t); box-shadow: none !important; }
.w2g-ep-step button:hover { border-color: var(--blue) !important; color: var(--blue) !important; background: var(--blue-s) !important; }
.w2g-wl-acts { display: flex; gap: 3px; opacity: 0; transition: opacity var(--t); }
.w2g-wl-row:hover .w2g-wl-acts { opacity: 1; }
.w2g-wl-abt { width: 24px !important; height: 24px !important; border-radius: 5px !important; border: 1px solid var(--bor) !important; background: none !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer; transition: all var(--t); color: var(--ink2) !important; box-shadow: none !important; }
.w2g-wl-abt i { font-size: 10px !important; }
.w2g-wl-abt.info:hover { border-color: var(--blue) !important; color: var(--blue) !important; background: var(--blue-s) !important; }
.w2g-wl-abt.del:hover { border-color: #fca5a5 !important; color: #ef4444 !important; background: #fef2f2 !important; }
.w2g-wl-legend { display: flex; flex-wrap: wrap; gap: 8px; padding: 9px 18px 11px; border-top: 1px solid var(--bor); }
.w2g-wl-legend span { font-size: 11px; color: var(--ink2); }

/* SPINNER */
.w2g-spinner-wrap, .w2g-spin-wrap { display: flex; justify-content: center; padding: 40px 0; }
.w2g-spinner { width: 32px; height: 32px; border: 2.5px solid var(--bor); border-top-color: var(--blue); border-radius: 50%; animation: wspin .7s linear infinite; }
@keyframes wspin { to { transform: rotate(360deg); } }

/* RESULTS */
.w2g-results-header { display: flex; align-items: center; gap: 9px; margin-bottom: 14px; }
.w2g-results-label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--ink2); }
.w2g-results-count { font-size: 11px; font-weight: 700; padding: 2px 9px; border-radius: 100px; background: var(--blue-s); border: 1px solid var(--blue-m); color: var(--blue); }

/* GRID */
.w2g-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)); gap: 14px; }

/* CARD */
.w2g-card-item { background: var(--white); border: 1px solid var(--bor); border-radius: var(--r); overflow: hidden; cursor: pointer; box-shadow: var(--sh); transition: all var(--t); animation: wfade .25s ease both; }
@keyframes wfade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.w2g-card-item:hover { border-color: var(--blue); box-shadow: 0 4px 20px rgba(80,146,249,.16); transform: translateY(-2px); }
.w2g-cimg { position: relative; aspect-ratio: 2/3; overflow: hidden; background: #eef0f3; }
.w2g-cimg img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.w2g-card-item:hover .w2g-cimg img { transform: scale(1.04); }
.w2g-cno { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--ink2); }
.w2g-cno i { font-size:28px; opacity:.22; }
.w2g-crat { position:absolute; top:7px; right:7px; background:rgba(255,255,255,.94); font-size:11px; font-weight:700; padding:2px 7px; border-radius:100px; }
.w2g-cplay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity var(--t); background:rgba(80,146,249,.08); }
.w2g-card-item:hover .w2g-cplay { opacity:1; }
.w2g-cplay-btn { width:40px; height:40px; border-radius:50%; background:var(--blue); border:none; color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transform:scale(.8); transition:transform var(--t); box-shadow:0 3px 12px rgba(80,146,249,.4); }
.w2g-cplay-btn i { font-size:12px; margin-left:2px; }
.w2g-card-item:hover .w2g-cplay-btn { transform:scale(1); }
.w2g-cinfo { padding:10px 11px 12px; }
.w2g-ctitle { font-size:13px; font-weight:600; color:var(--ink); line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.w2g-cyear { font-size:11px; color:var(--ink2); margin-top:3px; }

/* PERSON CARD */
.w2g-person-card { background:var(--white); border:1px solid var(--bor); border-radius:var(--r); overflow:hidden; cursor:pointer; box-shadow:var(--sh); transition:all var(--t); animation:wfade .25s ease both; display:flex; flex-direction:column; align-items:center; padding:18px 10px 14px; text-align:center; }
.w2g-person-card:hover { border-color:var(--blue); transform:translateY(-2px); }
.w2g-person-photo { width:66px; height:66px; border-radius:50%; overflow:hidden; background:var(--bg); border:2px solid var(--bor); margin-bottom:9px; }
.w2g-person-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.w2g-person-nophoto { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.w2g-person-nophoto i { font-size:22px; opacity:.3; color:var(--ink2); }
.w2g-person-name { font-size:13px; font-weight:600; color:var(--ink); line-height:1.3; }
.w2g-person-dept { font-size:11px; color:var(--ink2); margin-top:2px; }

/* EMPTY */
.w2g-empty { text-align:center; padding:52px 20px; color:var(--ink2); }
.w2g-empty i { font-size:34px; opacity:.2; display:block; margin-bottom:12px; }
.w2g-empty p { font-size:13px; }

/* DETAIL MODAL */
.w2g-modal { display:none; position:fixed; inset:0; z-index:999999; align-items:center; justify-content:center; padding:16px; }
.w2g-modal.open { display:flex; }
.w2g-modal-bd { position:absolute; inset:0; background:rgba(13,27,42,.5); backdrop-filter:blur(4px); }
.w2g-modal-box { position:relative; z-index:1; width:100%; max-width:700px; max-height:92vh; background:var(--white); border:1px solid var(--bor); border-radius:16px; overflow:hidden; box-shadow:0 20px 60px rgba(13,27,42,.15); animation:wmin .22s cubic-bezier(.34,1.3,.64,1) both; display:flex; flex-direction:column; }
@keyframes wmin { from{opacity:0;transform:scale(.95) translateY(10px)} to{opacity:1;transform:scale(1) translateY(0)} }
.w2g-modal-close { position:absolute; top:10px; right:10px; z-index:10; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.9); border:1px solid var(--bor); color:var(--ink2); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all var(--t); }
.w2g-modal-close i { font-size:13px; }
.w2g-modal-close:hover { border-color:var(--blue); color:var(--blue); }
#w2g-modal-content { flex:1; display:flex; flex-direction:column; min-height:0; overflow:hidden; }
#w2g-modal-content::-webkit-scrollbar { width:3px; }
#w2g-modal-content::-webkit-scrollbar-thumb { background:var(--bor); border-radius:2px; }
.w2g-detail-wrap { display:flex; flex-direction:column; flex:1; min-height:0; }
.w2g-detail-scroll { flex:1; overflow-y:auto; min-height:0; }
.w2g-detail-scroll::-webkit-scrollbar { width:3px; }
.w2g-detail-scroll::-webkit-scrollbar-thumb { background:var(--bor); border-radius:2px; }
.w2g-detail-bar { display:flex; gap:8px; padding:12px 16px; border-top:1px solid var(--bor); background:var(--white); flex-shrink:0; }
.w2g-abt { flex:1; min-width:100px; height:42px; display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:7px !important; border-radius:9px !important; font-family:Poppins,sans-serif !important; font-size:12px !important; font-weight:600 !important; cursor:pointer; text-decoration:none; border:1.5px solid transparent !important; transition:all var(--t); }
.w2g-abt i { font-size:12px !important; }
.w2g-abt.prim { background:var(--blue) !important; border-color:var(--blue) !important; color:#fff !important; box-shadow:0 2px 10px rgba(80,146,249,.28) !important; }
.w2g-abt.prim:hover { background:var(--blue-d) !important; border-color:var(--blue-d) !important; transform:translateY(-1px); }
.w2g-abt.acc { background:#f0fdf4 !important; border-color:#86efac !important; color:#16a34a !important; }
.w2g-abt.acc:hover { background:#dcfce7 !important; transform:translateY(-1px); }
.w2g-abt.sec { background:none !important; border-color:var(--bor) !important; color:var(--ink2) !important; }
.w2g-abt.sec:hover { border-color:var(--blue) !important; color:var(--blue) !important; background:var(--blue-s) !important; }

/* DETAIL */
.w2g-det-bwrap { position:relative; height:200px; overflow:hidden; background:linear-gradient(135deg,var(--blue-s),var(--blue-m)); flex-shrink:0; }
.w2g-det-backdrop { width:100%; height:100%; object-fit:cover; display:block; }
.w2g-det-boverlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(255,255,255,0) 20%,rgba(255,255,255,1) 100%); }
.w2g-det-hero { display:flex; gap:18px; padding:0 22px; margin-top:-68px; position:relative; z-index:1; align-items:flex-end; }
.w2g-det-poster { width:108px; min-width:108px; aspect-ratio:2/3; border-radius:10px; overflow:hidden; border:3px solid #fff; box-shadow:0 6px 22px rgba(13,27,42,.16); background:var(--bg); flex-shrink:0; }
.w2g-det-poster img { width:100%; height:100%; object-fit:cover; display:block; }
.w2g-det-hinfo { flex:1; min-width:0; padding-bottom:4px; }
.w2g-det-title { font-family:'Poppins',sans-serif; font-size:clamp(15px,3vw,21px); font-weight:800; line-height:1.15; letter-spacing:-.02em; color:var(--ink); }
.w2g-det-original { font-size:11px; color:var(--ink2); margin-top:2px; font-style:italic; }
.w2g-det-tagline { font-size:12px; color:var(--blue); font-style:italic; margin-top:4px; }
.w2g-pills { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.w2g-pill { font-size:11px; font-weight:600; padding:2px 9px; border-radius:100px; background:var(--bg); border:1px solid var(--bor); color:var(--ink2); }
.w2g-det-body { padding:16px 22px 28px; }
.w2g-score-row { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
.w2g-score-block { display:flex; align-items:center; gap:10px; }
.w2g-score-circle { position:relative; width:58px; height:58px; flex-shrink:0; }
.w2g-score-circle svg { width:58px; height:58px; }
.w2g-score-num { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:'Poppins',sans-serif; font-size:14px; font-weight:800; color:var(--ink); }
.w2g-score-label { font-size:12px; font-weight:700; }
.w2g-score-votes { font-size:11px; color:var(--ink2); margin-top:1px; }
.w2g-stars { display:flex; gap:2px; margin-top:4px; }
.w2g-star { width:11px; height:11px; color:#f59e0b; }
.w2g-star.empty { color:var(--bor); }
.w2g-spoiler-btn { display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:100px; border:1.5px solid var(--bor); background:none; color:var(--ink2); font-family:'Inter',sans-serif; font-size:12px; font-weight:600; cursor:pointer; transition:all var(--t); white-space:nowrap; }
.w2g-spoiler-btn i { font-size:12px; }
.w2g-spoiler-btn:hover, .w2g-spoiler-btn.active { border-color:var(--blue); color:var(--blue); background:var(--blue-s); }
.w2g-section { margin-bottom:20px; }
.w2g-sec-label { display:flex; align-items:center; gap:6px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--ink2); margin-bottom:10px; }
.w2g-sec-label i { font-size:11px; color:var(--blue); }
.w2g-overview { font-size:13px; line-height:1.75; color:var(--ink2); transition:filter .3s; }
.w2g-spoiler-text { transition:filter .3s; }
.w2g-genres { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; }
.w2g-genre { font-size:12px; font-weight:600; padding:4px 12px; border-radius:100px; background:var(--blue-s); border:1px solid var(--blue-m); color:var(--blue); }
.w2g-cast-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(76px,1fr)); gap:10px; }
.w2g-cast-c { text-align:center; }
.w2g-cast-photo { width:56px; height:56px; border-radius:50%; overflow:hidden; margin:0 auto 6px; background:var(--bg); border:1.5px solid var(--bor); }
.w2g-cast-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.w2g-cast-nophoto { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.w2g-cast-nophoto i { font-size:20px; opacity:.3; color:var(--ink2); }
.w2g-cast-name { font-size:11px; font-weight:600; color:var(--ink); line-height:1.3; }
.w2g-cast-role { font-size:10px; color:var(--ink2); margin-top:1px; }
.w2g-info-grid { display:flex; flex-direction:column; }
.w2g-info-row { display:flex; gap:10px; padding:7px 0; border-bottom:1px solid var(--bor); }
.w2g-info-row:last-child { border-bottom:none; }
.w2g-ilabel { color:var(--ink2); font-weight:600; min-width:84px; flex-shrink:0; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.w2g-ival { color:var(--ink); font-size:13px; flex:1; }
.w2g-season-tabs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.w2g-sbtn { display:flex; flex-direction:column; align-items:center; padding:7px 11px; border-radius:9px; border:1.5px solid var(--bor); background:none; color:var(--ink2); cursor:pointer; transition:all var(--t); font-family:'Inter',sans-serif; font-size:13px; font-weight:700; line-height:1.2; }
.w2g-sbtn span { font-size:10px; font-weight:400; }
.w2g-sbtn:hover { border-color:var(--blue); color:var(--blue); background:var(--blue-s); }
.w2g-sbtn.active { border-color:var(--blue); background:var(--blue); color:#fff; }
.w2g-sbtn.active span { color:rgba(255,255,255,.75); }
.w2g-ep-panel { min-height:36px; }
.w2g-ep-hint { font-size:12px; color:var(--ink2); padding:6px 0; }
.w2g-season-ov { font-size:12px; color:var(--ink2); line-height:1.65; margin-bottom:10px; padding:10px 14px; background:var(--blue-s); border:1px solid var(--blue-m); border-radius:9px; transition:filter .3s; }
.w2g-ep-list { display:flex; flex-direction:column; gap:7px; }
.w2g-ep { display:flex; gap:9px; padding:10px; border-radius:9px; background:#fafafa; border:1px solid var(--bor); transition:all var(--t); }
.w2g-ep:hover { border-color:var(--blue); background:var(--blue-s); }
.w2g-ep-still { width:90px; min-width:90px; aspect-ratio:16/9; border-radius:6px; overflow:hidden; background:var(--bor); flex-shrink:0; }
.w2g-ep-still img { width:100%; height:100%; object-fit:cover; display:block; }
.w2g-ep-info { flex:1; min-width:0; }
.w2g-ep-hd { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-bottom:2px; }
.w2g-ep-num { font-size:10px; font-weight:700; padding:1px 6px; border-radius:4px; background:var(--blue); color:#fff; flex-shrink:0; }
.w2g-ep-title { font-size:12px; font-weight:600; color:var(--ink); flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.w2g-ep-rt, .w2g-ep-rat { font-size:10px; color:var(--ink2); flex-shrink:0; }
.w2g-ep-date { font-size:10px; color:var(--ink2); margin-bottom:2px; }
.w2g-ep-ov { font-size:11px; color:var(--ink2); line-height:1.55; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; transition:filter .3s; }
.w2g-det-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:6px; padding-top:18px; border-top:1px solid var(--bor); }
.w2g-act-btn { flex:1; min-width:100px; height:42px; display:inline-flex; align-items:center; justify-content:center; gap:7px; border-radius:9px; font-family:'Poppins',sans-serif; font-size:12px; font-weight:600; cursor:pointer; transition:all var(--t); text-decoration:none; border:1.5px solid transparent; }
.w2g-act-btn i { font-size:12px; }
.w2g-act-btn.primary { background:var(--blue); border-color:var(--blue); color:#fff; box-shadow:0 2px 10px rgba(80,146,249,.28); }
.w2g-act-btn.primary:hover { background:var(--blue-d); border-color:var(--blue-d); transform:translateY(-1px); }
.w2g-act-btn.accent { background:#f0fdf4; border-color:#86efac; color:#16a34a; }
.w2g-act-btn.accent:hover { background:#dcfce7; transform:translateY(-1px); }
.w2g-act-btn.secondary { background:none; border-color:var(--bor); color:var(--ink2); }
.w2g-act-btn.secondary:hover { border-color:var(--blue); color:var(--blue); background:var(--blue-s); }

/* TRAILER */
.w2g-trailer-ov { position:fixed; inset:0; z-index:9999999; display:flex; align-items:center; justify-content:center; padding:16px; opacity:0; transition:opacity .22s; }
.w2g-trailer-ov.open { opacity:1; }
.w2g-trailer-bd { position:absolute; inset:0; background:rgba(0,0,0,.88); }
.w2g-trailer-box { position:relative; z-index:1; width:100%; max-width:880px; border-radius:10px; overflow:hidden; transform:scale(.93); transition:transform .24s cubic-bezier(.34,1.3,.64,1); }
.w2g-trailer-ov.open .w2g-trailer-box { transform:scale(1); }
.w2g-trailer-close { position:absolute; top:8px; right:8px; z-index:10; width:28px; height:28px; border-radius:50%; background:rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.2); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.w2g-trailer-close i { font-size:13px; }
.w2g-trailer-frame { position:relative; padding-bottom:56.25%; height:0; background:#000; }
.w2g-trailer-frame iframe { position:absolute; inset:0; width:100%; height:100%; }

/* WL PICKER */
.w2g-wl-modal { display:none; position:fixed; inset:0; z-index:9999999; align-items:center; justify-content:center; padding:16px; }
.w2g-wl-modal.open { display:flex; }
.w2g-wl-modal-bd { position:absolute; inset:0; background:rgba(13,27,42,.4); backdrop-filter:blur(4px); }
.w2g-wl-modal-box { position:relative; z-index:1; width:100%; max-width:340px; background:var(--white); border:1px solid var(--bor); border-radius:14px; padding:20px; box-shadow:0 12px 40px rgba(13,27,42,.12); animation:wmin .2s cubic-bezier(.34,1.3,.64,1) both; }
.w2g-wl-modal-title { font-family:'Poppins',sans-serif; font-size:14px; font-weight:700; color:var(--ink); margin-bottom:12px; display:flex; align-items:center; gap:6px; }
.w2g-wl-modal-title i { color:var(--blue); font-size:12px; }
.w2g-wl-modal-info { display:flex; align-items:baseline; gap:7px; padding:8px 12px; border-radius:8px; background:var(--bg); border:1px solid var(--bor); margin-bottom:12px; }
.w2g-wl-modal-info strong { font-size:12px; font-weight:600; color:var(--ink); }
.w2g-wl-modal-info span { font-size:11px; color:var(--ink2); }
#w2g-wl-modal-lists { display:flex; flex-direction:column; gap:6px; margin-bottom:10px; }
.w2g-wl-pick-btn { display:flex; align-items:center; justify-content:space-between; padding:10px 13px; border-radius:8px; border:1.5px solid var(--bor); background:none; font-family:'Inter',sans-serif; font-size:12px; font-weight:600; color:var(--ink); cursor:pointer; transition:all var(--t); }
.w2g-wl-pick-btn:hover:not(:disabled):not(.in-list) { border-color:var(--blue); background:var(--blue-s); color:var(--blue); }
.w2g-wl-pick-btn.in-list { border-color:#86efac; background:#f0fdf4; color:#16a34a; cursor:default; }
.w2g-wl-plus { font-size:11px; color:var(--blue); font-weight:700; }
.w2g-wl-check { font-size:11px; color:#16a34a; font-weight:700; }
.w2g-wl-modal-cancel { width:100%; height:36px; border-radius:8px; border:1px solid var(--bor); background:none; font-family:'Inter',sans-serif; font-size:12px; color:var(--ink2); cursor:pointer; transition:all var(--t); }
.w2g-wl-modal-cancel:hover { border-color:var(--blue); color:var(--blue); background:var(--blue-s); }

/* TOAST */
.w2g-toast { position:fixed; bottom:22px; left:50%; transform:translateX(-50%) translateY(10px); z-index:99999999; padding:8px 18px; border-radius:100px; font-family:'Inter',sans-serif; font-size:12px; font-weight:600; background:var(--ink); color:#fff; opacity:0; transition:opacity .2s, transform .2s; white-space:nowrap; pointer-events:none; }
.w2g-toast.visible { opacity:1; transform:translateX(-50%) translateY(0); }
.w2g-toast.warn { background:#f59e0b; }
.w2g-toast.error { background:#ef4444; }

/* RESPONSIVE */
@media (max-width:600px) {
  .w2g-grid { grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:10px; }
  .w2g-search-row { flex-wrap:wrap; }
  #w2g-year { width:100% !important; }
  .w2g-btn-blue { flex:1; }
  .w2g-det-hero { margin-top:-52px; gap:12px; padding:0 14px; }
  .w2g-det-poster { width:86px; min-width:86px; }
  .w2g-det-body { padding:12px 14px 20px; }
  .w2g-ep-still { display:none; }
  .w2g-score-row { flex-direction:column; align-items:flex-start; }
  .w2g-wl-acts { opacity:1; }
  .w2g-ep-step { display:flex; }
}

.w2g-wl-err { display:flex; flex-direction:column; align-items:center; text-align:center; padding:32px 20px; color:var(--ink2); gap:10px; }
.w2g-wl-err i { font-size:28px; color:#f59e0b; opacity:.7; }
.w2g-wl-err p { font-size:13px; line-height:1.6; }
.w2g-wl-err small { font-size:11px; }
.w2g-wl-err code { background:var(--bg); padding:1px 5px; border-radius:4px; font-size:11px; }

.w2g-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px 0 4px}
.w2g-pgbtn{width:36px!important;height:36px!important;border-radius:9px!important;border:1.5px solid #e2e8f0!important;background:#fff!important;color:#6b7a8d!important;cursor:pointer;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:13px!important;transition:all .15s;padding:0!important;margin:0!important;box-shadow:none!important}
.w2g-pgbtn:hover:not(:disabled){border-color:#5092f9!important;color:#5092f9!important;background:#eef4ff!important}
.w2g-pgbtn:disabled{opacity:.35;cursor:default}
.w2g-pginfo{font-size:13px;font-weight:600;color:#0d1b2a}
.w2g-pg-total{font-size:11px;font-weight:400;color:#6b7a8d}

/* ═══════════════════════════════════════════════════════
   W2G v3 — Additions CSS
   1. Mode Éditeur
   2. Animations watchlist
   3. Badge runtime
   4. Tri (select)
   5. Modal remplacement fiche
   ═══════════════════════════════════════════════════════ */

/* ── 1. MODE ÉDITEUR ─────────────────────────────────── */
.w2g-editor-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-left: auto;
  padding: 6px 14px;
  border-radius: 8px;
  font-family: Poppins, sans-serif;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  border: 1.5px solid var(--w2g-border, #e2e8f0);
  background: var(--w2g-card, #f8fafc);
  color: var(--w2g-text-muted, #64748b);
  white-space: nowrap;
  flex-shrink: 0;
}
.w2g-editor-btn:hover:not(:disabled) {
  background: var(--w2g-hover, #f1f5f9);
  border-color: #94a3b8;
  color: var(--w2g-text, #1e293b);
  box-shadow: 0 2px 8px rgba(0,0,0,.07);
}
.w2g-editor-btn.active {
  background: #fef2f2;
  border-color: #fca5a5;
  color: #dc2626;
}
.w2g-editor-btn.active:hover { background:#fee2e2; border-color:#f87171; }
.w2g-editor-btn.blocked,
.w2g-editor-btn:disabled { opacity:.45; cursor:not-allowed; pointer-events:none; }

/* ── 2. ANIMATIONS WATCHLIST — voir section v2 en bas ── */

/* ── 3. BADGE RUNTIME ─────────────────────────────────── */
.w2g-runtime-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 500;
  background: var(--w2g-pill-bg, #f1f5f9);
  color: var(--w2g-text-muted, #64748b);
  border: 1px solid var(--w2g-border, #e2e8f0);
  margin-left: 4px;
  vertical-align: middle;
}
.w2g-runtime-badge i { font-size: 9px; opacity: .7; }

/* ── 4. TRI ──────────────────────────────────────────── */
.w2g-sort-select {
  margin-left: auto;
  padding: 5px 10px;
  border-radius: 7px;
  border: 1.5px solid var(--w2g-border, #e2e8f0);
  background: var(--w2g-card, #f8fafc);
  color: var(--w2g-text, #1e293b);
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
  flex-shrink: 0;
}
.w2g-sort-select:hover,
.w2g-sort-select:focus {
  border-color: #94a3b8;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

/* ── 5. MODAL REMPLACEMENT ───────────────────────────── */
.w2g-replace-ov {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .25s;
}
.w2g-replace-ov.open { opacity: 1; }

.w2g-replace-bd {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(3px);
}

.w2g-replace-box {
  position: relative;
  z-index: 1;
  background: var(--w2g-bg, #ffffff);
  border-radius: 14px;
  width: min(480px, 95vw);
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 24px 64px rgba(0,0,0,.2);
  transform: translateY(20px);
  transition: transform .25s cubic-bezier(.34,1.56,.64,1);
}
.w2g-replace-ov.open .w2g-replace-box { transform: translateY(0); }

.w2g-replace-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px 12px;
  border-bottom: 1px solid var(--w2g-border, #e2e8f0);
  font-size: 13px;
  font-weight: 600;
  gap: 10px;
}
.w2g-replace-hd strong { color: var(--w2g-accent, #6366f1); }
.w2g-replace-close {
  width: 28px; height: 28px;
  border-radius: 6px;
  border: none;
  background: var(--w2g-hover, #f1f5f9);
  color: var(--w2g-text-muted, #64748b);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px;
  transition: background .14s;
  flex-shrink: 0;
}
.w2g-replace-close:hover { background: #fee2e2; color: #dc2626; }

.w2g-replace-type {
  display: flex;
  gap: 8px;
  padding: 12px 20px 8px;
}
.w2g-rtype-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px;
  border-radius: 7px;
  border: 1.5px solid var(--w2g-border, #e2e8f0);
  background: var(--w2g-card, #f8fafc);
  color: var(--w2g-text-muted, #64748b);
  font-size: 12px; font-weight: 600;
  cursor: pointer;
  transition: all .15s;
}
.w2g-rtype-btn.on {
  background: var(--w2g-accent, #6366f1);
  border-color: var(--w2g-accent, #6366f1);
  color: #fff;
}

.w2g-replace-search {
  display: flex;
  gap: 8px;
  padding: 8px 20px 12px;
}
.w2g-replace-input {
  flex: 1;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1.5px solid var(--w2g-border, #e2e8f0);
  background: var(--w2g-card, #f8fafc);
  color: var(--w2g-text, #1e293b);
  font-size: 13px;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.w2g-replace-input:focus {
  border-color: var(--w2g-accent, #6366f1);
  box-shadow: 0 0 0 3px rgba(99,102,241,.12);
}
.w2g-replace-go {
  padding: 8px 14px;
  border-radius: 8px;
  border: none;
  background: var(--w2g-accent, #6366f1);
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  transition: background .15s, transform .1s;
}
.w2g-replace-go:hover { background: #4f46e5; transform: scale(1.04); }

.w2g-replace-results { padding: 0 12px 12px; }
.w2g-replace-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border-radius: 8px;
  margin-bottom: 4px;
  transition: background .13s;
  cursor: default;
}
.w2g-replace-item:hover { background: var(--w2g-hover, #f1f5f9); }
.w2g-replace-item img { width: 44px; height: 60px; object-fit: cover; border-radius: 5px; flex-shrink: 0; }
.w2g-replace-item .w2g-qadd-info strong {
  color: var(--w2g-text,#0f172a);
  font-weight: 800;
}
.w2g-replace-item .w2g-qadd-info span {
  color: var(--w2g-text-muted,#64748b);
}
.w2g-replace-confirm {
  margin-left: auto;
  flex-shrink: 0;
  padding: 6px 12px;
  border-radius: 7px;
  border: none;
  background: #dcfce7;
  color: #16a34a;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  display: flex; align-items: center; gap: 5px;
  transition: background .14s, transform .1s;
}
.w2g-replace-confirm:hover:not(:disabled) { background: #bbf7d0; transform: scale(1.04); }
.w2g-replace-confirm:disabled { opacity: .5; cursor: not-allowed; }

body.w2g-theme-dark .w2g-replace-box {
  background: #111c2d;
  border: 1px solid #243449;
  color: #e5edf7;
}
body.w2g-theme-dark .w2g-replace-hd {
  border-color: #243449;
  color: #e5edf7;
}
body.w2g-theme-dark .w2g-replace-close,
body.w2g-theme-dark .w2g-replace-input,
body.w2g-theme-dark .w2g-replace-item {
  background: #1b2942;
  border-color: #2b3d58;
  color: #e5edf7;
}
body.w2g-theme-dark .w2g-replace-item .w2g-qadd-info strong {
  color: #f8fbff;
}
body.w2g-theme-dark .w2g-replace-input::placeholder,
body.w2g-theme-dark .w2g-replace-item .w2g-qadd-info span {
  color: #8fa3bc;
}
body.w2g-theme-dark .w2g-replace-item:hover {
  background: #223553;
}
body.w2g-theme-dark .w2g-replace-bd {
  background: rgba(2,6,13,.72);
}

/* ── 6. STREAMING FR ─────────────────────────────────── */

.w2g-toast.sync { background:#0f172a;border-left:3px solid #38bdf8; }

/* ── Tooltip custom (évite la troncature native) ─────── */
[data-tip] {
  position: relative;
}
[data-tip]::after {
  content: attr(data-tip);
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  background: #1e293b;
  color: #f8fafc;
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
  padding: 4px 8px;
  border-radius: 5px;
  pointer-events: none;
  opacity: 0;
  transition: opacity .15s;
  z-index: 9999;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
}
[data-tip]:hover::after {
  opacity: 1;
}

/* ── Saga boutons séparés ─────────────────────────────── */
.w2g-saga-btns {
  display: flex;
  align-items: center;
  gap: 4px;
}

.w2g-banner-btns {
  position: relative; z-index: 2;
  display: flex; align-items: center; gap: 6px; flex-shrink: 0;
  align-self: center; margin-left: auto;
}
.w2g-order-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 13px; border-radius: 8px;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.88);
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600;
  cursor: pointer; white-space: nowrap;
  transition: background .15s, border-color .15s, transform .12s;
}
.w2g-order-btn i { font-size: 11px; opacity: .8; }
.w2g-order-btn:hover { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.38); transform: translateY(-1px); }
.w2g-banner-sep {
  width: 1px; height: 22px; background: rgba(255,255,255,.15); flex-shrink: 0;
}
.w2g-sync-btn {
  width: 34px; height: 34px; border-radius: 8px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.8);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: 13px;
  transition: background .15s, border-color .15s, color .15s, transform .12s;
}
.w2g-sync-btn:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.4); color: #fff; transform: translateY(-1px); }
#w2g-wl-content:not(.w2g-editor-active) .w2g-editor-ctrl,
#w2g-mywl-content:not(.w2g-editor-active) .w2g-editor-ctrl { display: none !important; }
#w2g-wl-content:not(.w2g-editor-active) .w2g-wabt:not(.import-personal),
#w2g-mywl-content:not(.w2g-editor-active) .w2g-wabt:not(.import-personal),
#w2g-wl-content:not(.w2g-editor-active) .w2g-wstep,
#w2g-mywl-content:not(.w2g-editor-active) .w2g-wstep,
#w2g-wl-content:not(.w2g-editor-active) .w2g-wstepbtn,
#w2g-mywl-content:not(.w2g-editor-active) .w2g-wstepbtn,
#w2g-wl-content:not(.w2g-editor-active) .w2g-saga-btns,
#w2g-mywl-content:not(.w2g-editor-active) .w2g-saga-btns { display: none !important; }
#w2g-wl-content:not(.w2g-editor-active) .w2g-order-btn,
#w2g-mywl-content:not(.w2g-editor-active) .w2g-order-btn { display: inline-flex !important; }
#w2g-wl-content.w2g-editor-active .w2g-order-btn,
#w2g-mywl-content.w2g-editor-active .w2g-order-btn { display: none !important; }

/* ═══════════════════════════════════════════════════════
   W2G — Animations v2
   ═══════════════════════════════════════════════════════ */

/* ── Keyframes ──────────────────────────────────────────── */
@keyframes w2g-pop-in {
  from { opacity: 0; transform: scale(.72) translateY(4px); }
  to   { opacity: 1; transform: scale(1)   translateY(0); }
}
@keyframes w2g-slide-left {
  from { opacity: 0; transform: translateX(-10px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes w2g-badge-pulse {
  0%,100% { box-shadow: 0 0 0 0 currentColor; }
  50%      { box-shadow: 0 0 0 3px transparent; }
}
@keyframes w2g-shimmer {
  from { background-position: -200% center; }
  to   { background-position:  200% center; }
}
@keyframes w2g-spin-once {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@keyframes w2g-bounce-in {
  0%   { opacity:0; transform: scale(.5); }
  60%  { opacity:1; transform: scale(1.15); }
  80%  { transform: scale(.95); }
  100% { transform: scale(1); }
}

/* ── Rows — entrée décalée ──────────────────────────────── */
@keyframes w2g-row-in {
  from { opacity: 0; transform: translateX(-8px); }
  to   { opacity: 1; transform: translateX(0); }
}
.w2g-wl-row {
  animation: w2g-row-in .2s ease both;
}
.w2g-wl-row:nth-child(1)  { animation-delay: .02s; }
.w2g-wl-row:nth-child(2)  { animation-delay: .05s; }
.w2g-wl-row:nth-child(3)  { animation-delay: .08s; }
.w2g-wl-row:nth-child(4)  { animation-delay: .11s; }
.w2g-wl-row:nth-child(5)  { animation-delay: .14s; }
.w2g-wl-row:nth-child(6)  { animation-delay: .17s; }
.w2g-wl-row:nth-child(7)  { animation-delay: .19s; }
.w2g-wl-row:nth-child(8)  { animation-delay: .21s; }
.w2g-wl-row:nth-child(n+9){ animation-delay: .23s; }
.w2g-wl-row {
  transition: background .15s, box-shadow .15s, transform .12s;
}
.w2g-wl-row:hover {
  transform: translateX(3px);
  box-shadow: inset 3px 0 0 var(--blue);
}

/* ── Badges statut — pop + couleur animée ───────────────── */
.w2g-status,
.w2g-ustatus {
  animation: w2g-pop-in .22s cubic-bezier(.34,1.56,.64,1) both;
  transition: background .18s, color .18s, border-color .18s, transform .12s;
}
.w2g-status:hover,
.w2g-ustatus:hover {
  transform: scale(1.04);
}
.w2g-ustatus.watched  { animation: w2g-bounce-in .3s cubic-bezier(.34,1.56,.64,1) both; }
.w2g-ustatus.watching { animation: w2g-pop-in    .25s cubic-bezier(.34,1.56,.64,1) both; }
.w2g-ustatus.skipped  { animation: w2g-slide-left .2s ease both; }

/* ── Badges type (Film / Série) ─────────────────────────── */
.w2g-type-badge {
  animation: w2g-pop-in .18s cubic-bezier(.34,1.56,.64,1) both;
  transition: transform .12s, opacity .12s;
}

/* ── Badge rating ───────────────────────────────────────── */
.w2g-wrat {
  animation: w2g-pop-in .22s cubic-bezier(.34,1.56,.64,1) both;
  transition: transform .12s;
}
.w2g-wrat:hover { transform: scale(1.08); }

/* ── Badge runtime / saisons ────────────────────────────── */
.w2g-runtime-badge,
.w2g-seasons-badge {
  animation: w2g-pop-in .2s cubic-bezier(.34,1.56,.64,1) both;
  transition: transform .12s, background .15s;
}
.w2g-runtime-badge:hover,
.w2g-seasons-badge:hover { transform: scale(1.06); }

/* ── Badge progression épisode ──────────────────────────── */
.w2g-wprog {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 24px;
  box-sizing: border-box;
  padding: 0 8px;
  line-height: 1;
  animation: w2g-pop-in .2s cubic-bezier(.34,1.56,.64,1) both;
  transition: transform .12s;
}
.w2g-wprog.w2g-ep-control {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 100px !important;
}
.w2g-ep-control .w2g-ep-val {
  padding: 3px 7px;
  line-height: 1;
  min-width: 48px;
  text-align: center;
}
.w2g-ep-control .w2g-wstepbtn {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  font-size: 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.w2g-ep-control .w2g-wstepbtn:hover:not(:disabled) {
  background: rgba(80,146,249,.16) !important;
  color: #fff !important;
  transform: none !important;
}
.w2g-ep-control .w2g-ep-minus { border-right: 1px solid rgba(80,146,249,.24) !important; }
.w2g-ep-control .w2g-ep-plus { border-left: 1px solid rgba(80,146,249,.24) !important; }
.w2g-saga-control .w2g-ep-val { min-width: 42px; }
.w2g-saga-prog .w2g-saga-count {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ── Boutons wabt (actions éditeur) ─────────────────────── */
.w2g-wabt {
  transition: background .12s, color .12s, transform .1s, opacity .14s, border-color .12s;
}
.w2g-wabt:hover:not(:disabled) { transform: scale(1.14); }
.w2g-wabt:active:not(:disabled){ transform: scale(.92); }
.w2g-wabt.active-st {
  animation: w2g-bounce-in .28s cubic-bezier(.34,1.56,.64,1) both;
}

/* ── Boutons step épisode ───────────────────────────────── */
.w2g-wstepbtn {
  transition: background .12s, color .12s, transform .1s, border-color .12s;
}
.w2g-wstepbtn:hover:not(:disabled)  { transform: scale(1.15); }
.w2g-wstepbtn:active:not(:disabled) { transform: scale(.88); }

/* ── Filtres watchlist tabs ─────────────────────────────── */
.w2g-wlpgroup{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.w2g-wlpg-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--w2g-muted,#6b7a8d);padding:2px 2px 0}
body.w2g-theme-dark #w2g-app .w2g-qadd-bar{background:#0f1a2b!important;border-color:#243449!important}
body.w2g-theme-dark #w2g-app .w2g-qadd-input{background:#111c2d!important;border-color:#2b3d58!important;color:#e5edf7!important}
body.w2g-theme-dark #w2g-app .w2g-qadd-input::placeholder{color:#677892!important}
body.w2g-theme-dark #w2g-app .w2g-qadd-close,
body.w2g-theme-dark #w2g-app .w2g-qadd-add{background:#16243a!important;border-color:#2b3d58!important;color:#8fb0ff!important}
body.w2g-theme-dark #w2g-app .w2g-qadd-close:hover,
body.w2g-theme-dark #w2g-app .w2g-qadd-add:hover{background:#203456!important;border-color:#6f93f7!important;color:#fff!important}
body.w2g-theme-dark #w2g-app .w2g-qadd-item{background:#111c2d!important;border-color:#243449!important}
body.w2g-theme-dark #w2g-app .w2g-qadd-item:hover{border-color:#6f93f7!important;background:#16243a!important}
body.w2g-theme-dark #w2g-app .w2g-qadd-info strong{color:#e5edf7!important}
body.w2g-theme-dark #w2g-app .w2g-qadd-info span,
body.w2g-theme-dark #w2g-app .w2g-qadd-empty{color:#8fa3bc!important}
.w2g-wlf {
  transition: background .15s, border-color .15s, color .15s, transform .12s, box-shadow .15s;
}
.w2g-wlf:hover { transform: translateY(-1px); }
.w2g-wlf.on    { animation: w2g-pop-in .18s cubic-bezier(.34,1.56,.64,1) both; }

/* ── Barre de progression banner ────────────────────────── */
.w2g-progress-fill {
  transition: width .6s cubic-bezier(.4,0,.2,1);
  background-size: 200% auto;
  animation: w2g-shimmer 2.5s linear infinite;
  background-image: linear-gradient(90deg, #5092f9 0%, #38bdf8 40%, #5092f9 100%);
}

/* ── Boutons icône banner (sync/qadd) ───────────────────── */
.w2g-sync-btn {
  transition: background .14s, border-color .14s, color .14s, transform .12s;
}
.w2g-sync-btn:hover  { transform: translateY(-2px) scale(1.08); }
.w2g-sync-btn:active { transform: scale(.9); }

/* ── Bouton Mode : ... ──────────────────────────────────── */
.w2g-order-btn {
  transition: background .14s, border-color .14s, transform .12s;
}
.w2g-order-btn:hover  { transform: translateY(-2px); }
.w2g-order-btn:active { transform: scale(.96); }

/* ── Tabs watchlist (Films / Séries…) ──────────────────── */
.w2g-wlt {
  transition: color .15s, border-color .15s, transform .12s;
}
.w2g-wlt:hover { transform: translateY(-1px); }
.w2g-wlt.on i  { animation: w2g-spin-once .3s ease; }

/* ── Bouton Mode éditeur ────────────────────────────────── */
.w2g-editor-btn {
  transition: background .18s, border-color .18s, color .18s, transform .12s, box-shadow .18s;
}
.w2g-editor-btn:hover:not(:disabled) { transform: translateY(-1px); }
.w2g-editor-btn:active:not(:disabled){ transform: scale(.97); }
.w2g-editor-btn.active {
  animation: w2g-pop-in .2s cubic-bezier(.34,1.56,.64,1) both;
}

/* ── Submit pending edits button ───────────────────────── */
@keyframes w2g-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.w2g-submit-btn {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: 100%;
  padding: 8px 20px;
  background: linear-gradient(90deg, #3b82f6 0%, #6366f1 40%, #38bdf8 60%, #3b82f6 100%);
  background-size: 200% auto;
  animation: w2g-shimmer 5s linear infinite;
  color: #fff;
  border: none;
  border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  box-sizing: border-box;
  transition: opacity .15s;
}
.w2g-submit-btn:hover:not(.disabled) { opacity: .88; }
.w2g-submit-btn:active:not(.disabled) { opacity: .75; }
.w2g-submit-btn.disabled { opacity: .5; cursor: not-allowed; pointer-events: none; animation: none; }
.w2g-submit-count {
  background: rgba(255,255,255,.25);
  border-radius: 99px;
  padding: 1px 7px;
  font-size: 11px;
  font-weight: 700;
}

/* ── Poster watchlist ───────────────────────────────────── */
.w2g-wl-poster img {
  transition: transform .25s ease;
}
.w2g-wl-row:hover .w2g-wl-poster img {
  transform: scale(1.06);
}

/* ── Nom cliquable ──────────────────────────────────────── */
.w2g-wname-link {
  transition: color .15s;
}
.w2g-wname-link:hover {
  color: var(--blue) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ── Ranking — barre de filtres dynamique ───────────────── */
.w2g-ranking-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 20px 0;
}
.w2g-rfilter-btn {
  display: inline-flex; align-items: center; gap: 5px;
  height: 30px; padding: 0 12px;
  border-radius: 100px;
  border: 1.5px solid var(--bor);
  background: none; color: var(--ink2);
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 500;
  cursor: pointer;
  transition: all .15s, transform .12s;
}
.w2g-rfilter-btn i { font-size: 10px; }
.w2g-rfilter-btn:hover { border-color: var(--blue); color: var(--blue); background: var(--blue-s); transform: translateY(-1px); }
.w2g-rfilter-btn.on { background: var(--blue); border-color: var(--blue); color: #fff; }
.w2g-rfilter-btn.on:hover { transform: translateY(-1px); }

#w2g-ranking-results {
  margin-top: 14px;
}

/* ═══════════════════════════════════════════════════════
   Animations v3
   ═══════════════════════════════════════════════════════ */

/* ── 1. Skeleton loading ─────────────────────────────── */
@keyframes w2g-shimmer-skel {
  from { background-position: -400px 0; }
  to   { background-position:  400px 0; }
}
.w2g-skel-card {
  background: var(--white, #fff);
  border: 1px solid var(--bor, #e2e8f0);
  border-radius: 12px;
  overflow: hidden;
  animation: wfade .2s ease both;
}
.w2g-skel-img {
  aspect-ratio: 2/3;
  background: linear-gradient(90deg, #f0f2f5 25%, #e2e8f0 50%, #f0f2f5 75%);
  background-size: 800px 100%;
  animation: w2g-shimmer-skel 1.4s infinite linear;
}
.w2g-skel-body { padding: 10px 11px 12px; display: flex; flex-direction: column; gap: 7px; }
.w2g-skel-line {
  border-radius: 4px;
  background: linear-gradient(90deg, #f0f2f5 25%, #e2e8f0 50%, #f0f2f5 75%);
  background-size: 800px 100%;
  animation: w2g-shimmer-skel 1.4s infinite linear;
}
.w2g-skel-title { height: 11px; width: 85%; }
.w2g-skel-year  { height: 9px;  width: 40%; }

/* ── 2. Transition panels ────────────────────────────── */
@keyframes w2g-panel-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes w2g-panel-out {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-6px); }
}
.w2g-panel-in  { animation: w2g-panel-in  .22s cubic-bezier(.4,0,.2,1) both; }
.w2g-panel-out { animation: w2g-panel-out .2s  ease both; pointer-events: none; }

/* ── 3. Ken Burns parallax backdrop ─────────────────── */
@keyframes w2g-kenburns {
  0%   { transform: scale(1.08) translate(0, 0); }
  50%  { transform: scale(1.12) translate(-1.5%, -1%); }
  100% { transform: scale(1.08) translate(0, 0); }
}
.w2g-banner-kb {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  animation: w2g-kenburns 18s ease-in-out infinite;
  opacity: .38;
  pointer-events: none;
  will-change: transform;
}

/* ── 4. Progress fill transition reset ───────────────── */
.w2g-progress-fill {
  transition: width .7s cubic-bezier(.4,0,.2,1) !important;
}

/* ── 5. Poster hover zoom + ombre ───────────────────── */
.w2g-wl-poster {
  overflow: hidden;
  transition: box-shadow .2s;
}
.w2g-wl-poster img {
  transition: transform .28s cubic-bezier(.4,0,.2,1);
  display: block; width: 100%; height: 100%; object-fit: cover;
}
.w2g-wl-row:hover .w2g-wl-poster {
  box-shadow: 0 4px 16px rgba(80,146,249,.25);
}
.w2g-wl-row:hover .w2g-wl-poster img {
  transform: scale(1.12);
}

/* ═══════════════════════════════════════════════════════
   W2G — Nouvelles features
   1. Trailer preview hover
   2. Calendrier des sorties
   ═══════════════════════════════════════════════════════ */

/* ── 1. TRAILER PREVIEW ──────────────────────────────── */
#w2g-trailer-preview {
  border: 1px solid rgba(255,255,255,.1);
}
#w2g-trailer-preview iframe {
  border: none;
  display: block;
}

/* ── 2. CALENDRIER ───────────────────────────────────── */
.w2g-cal-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  padding: 0 2px;
}
.w2g-cal-title {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #0d1b2a;
}
.w2g-cal-prev,
.w2g-cal-next {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1.5px solid #e2e8f0;
  background: #fff;
  color: #6b7a8d;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  transition: all .15s;
}
.w2g-cal-prev:hover,
.w2g-cal-next:hover {
  border-color: #5092f9;
  color: #5092f9;
  background: #eef4ff;
}

.w2g-cal-days-hd {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 6px;
}
.w2g-cal-days-hd span {
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  color: #6b7a8d;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 4px 0;
}

.w2g-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.w2g-cal-cell {
  min-height: 90px;
  border: 1px solid #f0f2f5;
  border-radius: 8px;
  padding: 6px 5px 5px;
  background: #fff;
  transition: background .15s;
  overflow: hidden;
}
.w2g-cal-cell.w2g-cal-empty {
  background: transparent;
  border-color: transparent;
}
.w2g-cal-cell.past {
  background: #fafafa;
}
.w2g-cal-cell.today {
  border-color: #5092f9;
  background: #f5f8ff;
}
.w2g-cal-day {
  font-size: 11px;
  font-weight: 700;
  color: #6b7a8d;
  margin-bottom: 5px;
  line-height: 1;
}
.w2g-cal-cell.today .w2g-cal-day {
  color: #5092f9;
}
.w2g-cal-cell.past .w2g-cal-day {
  opacity: .45;
}

.w2g-cal-items {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.w2g-cal-item {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  border-radius: 5px;
  padding: 2px 4px;
  transition: background .12s;
  min-width: 0;
}
.w2g-cal-item:hover {
  background: #eef4ff;
}
.w2g-cal-item.w2g-cal-tv     { border-left: 2px solid #8b5cf6; }
.w2g-cal-item.w2g-cal-movie  { border-left: 2px solid #5092f9; }
.w2g-cal-item.w2g-cal-anime  { border-left: 2px solid #f59e0b; }

.w2g-cal-poster {
  width: 18px;
  height: 24px;
  border-radius: 3px;
  overflow: hidden;
  flex-shrink: 0;
  background: #eef0f3;
}
.w2g-cal-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.w2g-cal-noposter {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 7px;
  color: #aab0bc;
}
.w2g-cal-item-title {
  font-size: 10px;
  font-weight: 500;
  color: #0d1b2a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}

.w2g-cal-more {
  font-size: 10px;
  color: #5092f9;
  font-weight: 600;
  padding: 1px 4px;
  text-align: center;
}

/* Légende */
.w2g-cal-legend {
  display: flex;
  gap: 14px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.w2g-cal-legend-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: #6b7a8d;
}
.w2g-cal-legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 2px;
}
.w2g-cal-legend-dot.movie { background: #5092f9; }
.w2g-cal-legend-dot.tv    { background: #8b5cf6; }
.w2g-cal-legend-dot.anime { background: #f59e0b; }
.w2g-cal-dot { width:8px; height:8px; border-radius:2px; flex-shrink:0; display:inline-block; }
.w2g-cal-dot.movie { background: #5092f9; }
.w2g-cal-dot.tv    { background: #8b5cf6; }
.w2g-cal-dot.anime { background: #f59e0b; }
.w2g-cal-flt.on .w2g-cal-dot { background: rgba(255,255,255,.9) !important; }

/* Responsive calendrier */
@media (max-width: 600px) {
  .w2g-cal-cell { min-height: 60px; padding: 4px 3px; }
  .w2g-cal-poster { display: none; }
  .w2g-cal-item-title { font-size: 9px; }
}

/* ── SKELETON LOADING watchlist ──────────────────────── */
@keyframes w2g-skel-shine {
  from { background-position: -200px 0; }
  to   { background-position: calc(200px + 100%) 0; }
}
.w2g-skel-banner {
  height: 54px;
  border-radius: 10px 10px 0 0;
  background: linear-gradient(110deg,#e2e8f0 8%,#f1f5f9 18%,#e2e8f0 33%);
  background-size: 200px 100%;
  animation: w2g-skel-shine 1.2s infinite linear;
  margin-bottom: 0;
}
.w2g-skel-list { border: 1px solid #e2e8f0; border-top: none; border-radius: 0 0 10px 10px; background: #fff; overflow: hidden; }
.w2g-skel-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-bottom: .5px solid #f0f2f5;
  animation: w2g-skel-shine 1.2s infinite linear;
  background: linear-gradient(110deg,#f8fafc 8%,#fff 18%,#f8fafc 33%);
  background-size: 200px 100%;
}
.w2g-skel-poster {
  width: 32px; height: 44px;
  border-radius: 4px;
  background: #e2e8f0;
  flex-shrink: 0;
}
.w2g-skel-body { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.w2g-skel-line {
  height: 10px;
  border-radius: 5px;
  background: #e2e8f0;
}
.w2g-skel-title { width: 55%; }
.w2g-skel-sub   { width: 30%; opacity: .6; }
.w2g-skel-right {
  width: 60px; height: 10px;
  border-radius: 5px;
  background: #e2e8f0;
  flex-shrink: 0;
}

/* ── UNDO TOAST suppression ──────────────────────────── */
.w2g-toast-undo {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 8px 8px 8px 18px !important;
  min-width: 280px;
  max-width: 380px;
  white-space: normal !important;
}
.w2g-toast-undo span { flex: 1; font-size: 12px; }
.w2g-undo-btn {
  flex-shrink: 0;
  padding: 5px 12px;
  border-radius: 6px;
  border: 1.5px solid rgba(255,255,255,.3);
  background: rgba(255,255,255,.15);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background .14s;
}
.w2g-undo-btn:hover { background: rgba(255,255,255,.28); }

/* ── SKELETON CALENDRIER ─────────────────────────────── */
.w2g-cal-cell.w2g-cal-skel {
  background: linear-gradient(110deg,#f8fafc 8%,#fff 18%,#f8fafc 33%);
  background-size: 200px 100%;
  animation: w2g-skel-shine 1.2s infinite linear;
}
.w2g-cal-cell.w2g-cal-skel .w2g-skel-line {
  background: #e2e8f0;
  display: block;
}

/* ── BADGE "déjà dans watchlist" sur cartes ─────────── */
.w2g-cin-wl {
  position: absolute;
  top: 6px;
  left: 6px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #16a34a;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  box-shadow: 0 2px 6px rgba(0,0,0,.25);
  z-index: 2;
}

/* ── CALENDRIER — filtres type ───────────────────────── */
.w2g-cal-filters {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.w2g-cal-flt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 13px;
  border-radius: 100px;
  border: 1.5px solid #e2e8f0;
  background: #fff;
  color: #6b7a8d;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
}
.w2g-cal-flt i { font-size: 10px; }
.w2g-cal-flt:hover { border-color: #5092f9; color: #fff; background: #203456; transform: translateY(-1px); }
.w2g-cal-flt.on,
.w2g-cal-flt[data-cft="movie"].on,
.w2g-cal-flt[data-cft="tv"].on,
.w2g-cal-flt[data-cft="anime"].on {
  background: #5092f9;
  border-color: #5092f9;
  color: #fff;
  box-shadow: 0 0 0 1px rgba(255,255,255,.14) inset, 0 10px 24px rgba(80,146,249,.24);
}
.w2g-cal-flt[data-cft="movie"]:not(.on):hover,
.w2g-cal-flt[data-cft="tv"]:not(.on):hover,
.w2g-cal-flt[data-cft="anime"]:not(.on):hover { border-color: #5092f9; color: #fff; background: #203456; }
.w2g-cal-flt.on .w2g-cal-dot{background:rgba(255,255,255,.9)!important}

/* ── CALENDRIER — nav center (titre + aujourd'hui) ───── */
.w2g-cal-nav-center {
  display: flex;
  align-items: center;
  gap: 10px;
}
.w2g-cal-title-now {
  color: #5092f9;
}
.w2g-cal-today {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 100px;
  border: 1.5px solid #deeaff;
  background: #eef4ff;
  color: #5092f9;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
}
.w2g-cal-today:hover { background: #5092f9; color: #fff; border-color: #5092f9; }

/* ── CALENDRIER — badge watchlist sur item ───────────── */
.w2g-cal-poster { position: relative; }
.w2g-cal-wl-dot {
  position: absolute;
  top: -3px;
  right: -3px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #16a34a;
  border: 1.5px solid #fff;
  z-index: 1;
}
.w2g-cal-item.w2g-cal-inwl .w2g-cal-item-title {
  color: #16a34a;
  font-weight: 600;
}

/* ═══════════════════════════════════════════════════════
   W2G — Nouvelles features
   1. Trailer preview hover
   2. Calendrier des sorties
   ═══════════════════════════════════════════════════════ */

/* ── 1. TRAILER PREVIEW ──────────────────────────────── */
#w2g-trailer-preview {
  border: 1px solid rgba(255,255,255,.1);
}
#w2g-trailer-preview iframe {
  border: none;
  display: block;
}

/* ── LOOP ANIMATIONS ──────────────────────────────────────── */

/* Pulse sur le badge "En cours" */
@keyframes w2g-pulse-dot {
  0%, 100% { box-shadow: 0 0 0 0 rgba(34,197,94,.5); }
  50%       { box-shadow: 0 0 0 5px rgba(34,197,94,0); }
}
.w2g-status.watching i,
.w2g-ustatus.watching i {
  animation: w2g-pulse-dot 2s ease-in-out infinite;
  border-radius: 50%;
}

/* Glow vert sur le badge watchlist (bookmark) */
@keyframes w2g-glow-wl {
  0%, 100% { box-shadow: 0 2px 6px rgba(0,0,0,.25); }
  50%       { box-shadow: 0 0 10px 3px rgba(22,163,74,.45); }
}
.w2g-cin-wl {
  animation: w2g-glow-wl 2.8s ease-in-out infinite;
}

/* Float subtil sur le poster dans la modale detail */
@keyframes w2g-float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-5px); }
}
.w2g-dposter {
  animation: w2g-float 4s ease-in-out infinite;
}

/* Shimmer subtil sur les cards au hover */
@keyframes w2g-card-shine {
  0%   { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.w2g-ci:hover .w2g-cimg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.08) 50%, transparent 60%);
  background-size: 200% 100%;
  animation: w2g-card-shine .6s ease forwards;
  pointer-events: none;
  border-radius: inherit;
}

/* Rotation lente sur l'icône sync quand idle */
@keyframes w2g-spin-slow {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.w2g-sync-btn:not([disabled]):hover i.fa-arrows-rotate {
  animation: w2g-spin-slow .6s linear;
}

/* Ping sur le compteur du bouton soumettre */
@keyframes w2g-ping {
  0%    { transform: scale(1); opacity: 1; }
  70%   { transform: scale(1.4); opacity: 0; }
  100%  { transform: scale(1.4); opacity: 0; }
}
.w2g-submit-count {
  position: relative;
}
.w2g-submit-count::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 99px;
  background: rgba(255,255,255,.4);
  animation: w2g-ping 1.8s ease-out infinite;
}

/* ── Flash vert post-submit ───────────────────────────────── */
@keyframes w2g-row-flash {
  0%   { background: rgba(34,197,94,.18); box-shadow: inset 0 0 0 1.5px rgba(34,197,94,.4); }
  100% { background: transparent; box-shadow: none; }
}
.w2g-row-flash {
  animation: w2g-row-flash .8s ease-out forwards !important;
}

/* ── Compteurs filtre — pop au changement ─────────────────── */
@keyframes w2g-count-pop {
  0%   { transform: scale(.7); opacity: 0; }
  60%  { transform: scale(1.2); }
  100% { transform: scale(1);   opacity: 1; }
}
.w2g-wlf-count {
  display: inline-block;
  animation: w2g-count-pop .35s cubic-bezier(.34,1.56,.64,1) both;
}

/* ── Barre de tri watchlist ─────────────────────────────── */
.w2g-wl-sort-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 6px 16px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--bdr);
}
.w2g-wl-sort-bar button,
.w2g-wl-sort-bar .w2g-wlf {
  min-height: 28px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}
.w2g-wl-sort-bar i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1em;
  line-height: 1 !important;
}
.w2g-sort-lbl {
  font-size: 11px;
  font-weight: 700;
  color: var(--ink2);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-right: 4px;
  flex-shrink: 0;
}
.w2g-sf {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
  border: 1.5px solid var(--bdr);
  background: transparent;
  color: var(--ink2);
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s, transform .12s;
  display: flex;
  align-items: center;
  gap: 5px;
}
.w2g-sf:hover { transform: translateY(-1px); color: var(--ink); border-color: var(--acc); }
.w2g-sf.on {
  background: var(--acc);
  border-color: var(--acc);
  color: #fff;
  animation: w2g-pop-in .18s cubic-bezier(.34,1.56,.64,1) both;
}

/* ── Live sync indicator dot ──────────────────────────────── */
@keyframes w2g-dot-pulse {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:.5; transform:scale(.7); }
}
@keyframes w2g-dot-ping {
  0%   { box-shadow:0 0 0 0 rgba(56,189,248,.6); }
  70%  { box-shadow:0 0 0 6px rgba(56,189,248,0); }
  100% { box-shadow:0 0 0 0 rgba(56,189,248,0); }
}
@keyframes w2g-dot-breathe {
  0%,100% { box-shadow:0 0 0 2px rgba(34,197,94,.25); }
  50%      { box-shadow:0 0 0 4px rgba(34,197,94,.5); }
}
@keyframes w2g-dot-fade {
  0%,100% { opacity:.5; }
  50%      { opacity:.2; }
}
@keyframes w2g-dot-error-ping {
  0%   { box-shadow:0 0 0 0 rgba(239,68,68,.7); }
  70%  { box-shadow:0 0 0 6px rgba(239,68,68,0); }
  100% { box-shadow:0 0 0 0 rgba(239,68,68,0); }
}
.w2g-livesync-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
  transition: background .3s;
  cursor: default;
}
.w2g-livesync-dot.on {
  background: #22c55e;
  animation: w2g-dot-breathe 2.5s ease-in-out infinite;
}
.w2g-livesync-dot.off {
  background: #94a3b8;
  animation: w2g-dot-fade 3s ease-in-out infinite;
}
.w2g-livesync-dot.pulse {
  background: #38bdf8;
  animation: w2g-dot-pulse .8s ease-in-out infinite, w2g-dot-ping 1s ease-out infinite;
}
.w2g-livesync-dot.error {
  background: #ef4444;
  animation: w2g-dot-error-ping .9s ease-out infinite;
}

/* ── Suggest panel ────────────────────────────────────────── */
.w2g-suggest-bar { padding: 0 0 18px; display: flex; flex-direction: column; gap: 12px; }
.w2g-suggest-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.w2g-suggest-label { font-size: 11px; font-weight: 700; color: var(--ink2); text-transform: uppercase; letter-spacing: .08em; min-width: 72px; flex-shrink: 0; }
.w2g-suggest-chips { display: flex; flex-wrap: wrap; gap: 5px; position: relative; }
.w2g-genre-more { font-weight: 700; }
.w2g-genre-popup {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  background: #fff;
  border: 1.5px solid #e2e8f0;
  border-radius: 12px;
  padding: 10px;
  box-shadow: 0 8px 24px rgba(13,27,42,.14);
  min-width: 260px;
  max-width: 360px;
  animation: w2g-pop-in .18s cubic-bezier(.34,1.56,.64,1) both;
}
.w2g-sc {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 13px; border-radius: 100px;
  border: 1.5px solid #e2e8f0; background: #fff;
  font-family: Inter, sans-serif; font-size: 12px; font-weight: 600;
  color: #6b7a8d; cursor: pointer;
  transition: all .15s;
}
.w2g-sc i { font-size: 10px; }
.w2g-sc:hover { border-color: #5092f9; color: #5092f9; background: #eef4ff; }
.w2g-sc.on { background: #5092f9; border-color: #5092f9; color: #fff; }

/* ── Copy / Share buttons in detail title ─────────────────── */
.w2g-dtitle-row { display: flex; align-items: flex-start; gap: 8px; }
.w2g-dtitle-actions { display: flex; gap: 5px; flex-shrink: 0; padding-top: 0px; }
.w2g-dtact-btn {
  width: 28px; height: 28px; border-radius: 7px;
  border: 1.5px solid #e2e8f0; background: #f8fafc;
  color: #94a3b8; font-size: 12px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all .15s;
  flex-shrink: 0;
}
.w2g-dtact-btn:hover { background: #eef4ff; border-color: #5092f9; color: #5092f9; transform: scale(1.08); }
.w2g-dtact-btn.copied { background: #f0fdf4 !important; border-color: #86efac !important; color: #16a34a !important; }
/* ── Live sync flash effects ──────────────────────────────── */
@keyframes w2g-row-flash {
  0%   { background: rgba(56,189,248,.35); box-shadow: inset 0 0 0 1.5px rgba(56,189,248,.6); }
  60%  { background: rgba(56,189,248,.12); box-shadow: inset 0 0 0 1px rgba(56,189,248,.2); }
  100% { background: transparent; box-shadow: none; }
}
.w2g-row-flash {
  animation: w2g-row-flash .7s ease-out forwards;
}

@keyframes w2g-screen-flash {
  0%   { opacity: .45; }
  50%  { opacity: .35; }
  100% { opacity: 0; }
}
#w2g-screen-flash {
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at center, #7dd3fc 0%, #38bdf8 50%, transparent 100%);
  opacity: 0;
  z-index: 9999;
}
#w2g-screen-flash.w2g-screen-flash-active {
  animation: w2g-screen-flash 2s ease-out forwards;
}

/* ── Séparateur barre filtres/tri ───────────────────────── */
.w2g-wlf-sep {
  display: inline-flex;
  width: 1.5px;
  height: 18px;
  background: #e2e8f0;
  margin: 0 10px;
  vertical-align: middle;
  flex-shrink: 0;
  align-self: center;
}
/* ── Ranking type badge (Film / Série) ──────────────────── */
.w2g-rank-badge {
  position: absolute;
  bottom: 7px;
  left: 7px;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 7px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 4px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  pointer-events: none;
}
.w2g-rank-badge.tv    { background: rgba(56,189,248,.85); color: #fff; }
.w2g-rank-badge.movie { background: rgba(99,102,241,.85); color: #fff; }

/* ── Episode popup ──────────────────────────────────────── */
.w2g-ep-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .22s;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(3px);
}
.w2g-ep-popup-overlay.open { opacity: 1; }
.w2g-ep-popup-bd { display: none; }
.w2g-ep-popup-box {
  position: relative;
  background: var(--w2g-card,#fff);
  border-radius: 14px;
  width: 420px;
  max-width: calc(100vw - 32px);
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  overflow: hidden;
  transform: translateY(10px);
  transition: transform .22s;
}
.w2g-ep-popup-overlay.open .w2g-ep-popup-box { transform: translateY(0); }
.w2g-ep-popup-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid var(--bdr,#e2e8f0);
}
.w2g-ep-popup-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--acc,#6366f1);
}
.w2g-ep-popup-close {
  width: 28px; height: 28px;
  border-radius: 50%;
  border: none;
  background: var(--w2g-bg2,#f1f5f9);
  color: var(--ink2,#64748b);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px;
  transition: background .15s;
}
.w2g-ep-popup-close:hover { background: var(--bdr,#e2e8f0); }
.w2g-ep-popup-still {
  width: 100%;
  max-height: 200px;
  object-fit: cover;
  display: block;
}
.w2g-ep-popup-info { padding: 14px 16px; }
.w2g-ep-popup-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink,#0d1b2a);
  margin-bottom: 8px;
}
.w2g-ep-popup-metas {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.w2g-ep-popup-meta {
  font-size: 12px;
  color: var(--ink2,#64748b);
  display: flex;
  align-items: center;
  gap: 4px;
}
.w2g-ep-popup-ov {
  font-size: 13px;
  color: var(--ink2,#64748b);
  line-height: 1.6;
  margin: 0 0 0 0;
  cursor: pointer;
  transition: filter .2s;
  border-radius: 4px;
  position: relative;
  z-index: 0;
}

.w2g-ep-popup-hd-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.w2g-ep-popup-series {
  font-size: 11px;
  font-weight: 600;
  color: var(--ink2,#64748b);
  text-transform: uppercase;
  letter-spacing: .05em;
}
.w2g-ep-popup-season {
  font-size: 11px;
  font-weight: 600;
  color: var(--acc,#6366f1);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 4px;
}

/* ── Episode popup actions ──────────────────────────────── */
.w2g-ep-popup-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  position: relative;
  z-index: 2;
}
.w2g-ep-popup-open,
.w2g-ep-popup-share {
  flex: 1;
  padding: 8px 12px;
  border-radius: 8px;
  border: none;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: background .15s, transform .1s;
}
.w2g-ep-popup-open {
  background: var(--acc,#6366f1);
  color: #fff;
}
.w2g-ep-popup-open:hover { filter: brightness(1.1); }
.w2g-ep-popup-share {
  background: var(--w2g-bg2,#f1f5f9);
  color: var(--ink2,#64748b);
  border: 1.5px solid var(--bdr,#e2e8f0);
}
.w2g-ep-popup-share:hover { background: var(--bdr,#e2e8f0); }

/* ── Episode popup synopsis ─────────────────────────────── */
.w2g-ep-popup-synopsis {
  margin-top: 10px;
  cursor: pointer;
  border-radius: 8px;
  overflow: hidden;
  border: 1.5px solid var(--bdr,#e2e8f0);
}
.w2g-ep-popup-spoiler-lbl {
  font-size: 11px;
  font-weight: 600;
  color: var(--ink2,#64748b);
  padding: 6px 10px;
  background: var(--w2g-bg2,#f1f5f9);
  display: flex;
  align-items: center;
  gap: 5px;
  border-bottom: 1.5px solid var(--bdr,#e2e8f0);
}
.w2g-ep-popup-synopsis .w2g-ep-popup-ov {
  padding: 8px 10px;
  margin: 0;
}

/* ── Collection / Saga popup ────────────────────────────── */
.w2g-col-backdrop { width:100%; max-height:160px; overflow:hidden; }
.w2g-col-backdrop img { width:100%; height:160px; object-fit:cover; display:block; }
.w2g-col-overview {
  font-size:13px; color:var(--ink2,#64748b); line-height:1.6; margin:0;
}
.w2g-col-list {
  padding: 8px 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 360px;
  overflow-y: auto;
}
.w2g-col-film {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 8px;
  border-radius: 8px;
  cursor: pointer;
  transition: background .15s;
}
.w2g-col-film:hover { background: var(--w2g-bg2,#f1f5f9); }
.w2g-col-film.in-wl { background: #f0fdf4; }
.w2g-col-poster {
  position: relative;
  flex-shrink: 0;
  width: 36px; height: 50px;
  border-radius: 4px;
  overflow: hidden;
  background: var(--w2g-bg2,#f1f5f9);
}
.w2g-col-poster img { width:100%; height:100%; object-fit:cover; }
.w2g-col-wl-dot {
  position: absolute;
  bottom: 2px; right: 2px;
  font-size: 8px;
  color: #16a34a;
}
.w2g-col-info { flex: 1; min-width: 0; }
.w2g-col-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink,#0d1b2a);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.w2g-col-meta {
  display: flex;
  gap: 10px;
  font-size: 11px;
  color: var(--ink2,#64748b);
  margin-top: 2px;
}
.w2g-col-meta i { color: #f59e0b; }

/* ── Collection film detail button ──────────────────────── */
.w2g-col-detail-btn {
  flex-shrink: 0;
  width: 30px; height: 30px;
  border-radius: 50%;
  border: 1.5px solid var(--bdr,#e2e8f0);
  background: transparent;
  color: var(--ink2,#64748b);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px;
  opacity: 0;
  transition: opacity .15s, background .15s, color .15s;
}
.w2g-col-film:hover .w2g-col-detail-btn { opacity: 1; }
.w2g-col-detail-btn:hover { background: var(--acc,#6366f1); color: #fff; border-color: var(--acc,#6366f1); }

/* ── Certification pill ─────────────────────────────────── */
.w2g-pill-certif {
  background: var(--ink,#0d1b2a);
  color: #fff;
  font-weight: 700;
  font-size: 10px;
  padding: 2px 7px;
  border-radius: 4px;
  letter-spacing: .03em;
}

/* ── Similar slider ─────────────────────────────────────── */
.w2g-sim-slider-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
}
.w2g-similar-grid {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  flex: 1;
  padding: 4px 2px;
}
.w2g-similar-grid::-webkit-scrollbar { display: none; }
.w2g-sim-arrow {
  flex-shrink: 0;
  width: 30px; height: 30px;
  border-radius: 50%;
  border: 1.5px solid var(--bdr,#e2e8f0);
  background: var(--w2g-card,#fff);
  color: var(--ink,#0d1b2a);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px;
  transition: opacity .2s, background .15s;
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
}
.w2g-sim-arrow:hover { background: var(--acc,#6366f1); color: #fff; border-color: var(--acc,#6366f1); }
.w2g-sim-card {
  cursor: pointer;
  animation: w2g-pop-in .2s both;
  flex-shrink: 0;
  width: calc(25% - 8px);
  min-width: 80px;
  scroll-snap-align: start;
}
.w2g-sim-card:hover .w2g-sim-img img { transform: scale(1.04); }
.w2g-sim-img {
  position: relative;
  aspect-ratio: 2/3;
  border-radius: 8px;
  overflow: hidden;
  background: var(--w2g-bg2,#f1f5f9);
  margin-bottom: 5px;
}
.w2g-sim-img img { width:100%; height:100%; object-fit:cover; transition:transform .3s; display:block; }
.w2g-sim-title {
  font-size: 11px;
  font-weight: 600;
  color: var(--ink,#0d1b2a);
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  display: -webkit-box;
}
.w2g-sim-year {
  font-size: 10px;
  color: var(--ink2,#64748b);
  margin-top: 2px;
}
/* ── Trailer circle loader ──────────────────────────────── */
.w2g-trailer-loader {
  position: fixed;
  z-index: 99990;
  width: 48px; height: 48px;
  border-radius: 50%;
  background: rgba(15,15,20,.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  opacity: 0;
  transform: scale(.75);
  transition: opacity .3s, transform .3s cubic-bezier(.34,1.56,.64,1);
  pointer-events: none;
}
.w2g-trailer-loader.visible { opacity: 1; transform: scale(1); }
.w2g-tl-ring {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
}
.w2g-tl-play {
  font-size: 13px;
  color: rgba(255,255,255,.9);
  position: relative;
  z-index: 1;
  padding-left: 2px;
}
.w2g-trailer-preview {
  position: fixed;
  z-index: 99990;
  width: 380px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 40px rgba(0,0,0,.45);
  opacity: 0;
  transition: opacity .25s;
  background: #000;
}
.w2g-tl-mute {
  position: absolute;
  bottom: 8px; right: 8px;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: rgba(0,0,0,.6);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px;
  z-index: 2;
}

/* ── Studio search ──────────────────────────────────────── */
.w2g-studio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 12px;
  margin-top: 8px;
}
.w2g-studio-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 14px 10px;
  border-radius: 12px;
  border: 1.5px solid var(--bdr,#e2e8f0);
  background: var(--w2g-card,#fff);
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s, transform .15s;
  animation: w2g-pop-in .2s both;
  text-align: center;
}
.w2g-studio-card:hover {
  border-color: var(--acc,#6366f1);
  box-shadow: 0 4px 16px rgba(99,102,241,.12);
  transform: translateY(-2px);
}
.w2g-studio-logo {
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.w2g-studio-logo img {
  max-height: 48px;
  max-width: 110px;
  object-fit: contain;
  filter: var(--studio-logo-filter, none);
}
.w2g-studio-nologo {
  font-size: 28px;
  color: var(--ink2,#64748b);
}
.w2g-studio-name {
  font-size: 12px;
  font-weight: 700;
  color: var(--ink,#0d1b2a);
}
.w2g-studio-country {
  font-size: 10px;
  color: var(--ink2,#64748b);
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* ── Filmography navigation ─────────────────────────────── */
.w2g-filmog-hd {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--bdr,#e2e8f0);
  position: sticky;
  top: 0;
  background: var(--w2g-card,#fff);
  z-index: 10;
}
.w2g-filmog-back {
  width: 34px; height: 34px;
  border-radius: 50%;
  border: 1.5px solid var(--bdr,#e2e8f0);
  background: transparent;
  color: var(--ink,#0d1b2a);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px;
  flex-shrink: 0;
  transition: background .15s, border-color .15s;
}
.w2g-filmog-back:hover { background: var(--acc,#6366f1); color: #fff; border-color: var(--acc,#6366f1); }
.w2g-filmog-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink,#0d1b2a);
  display: flex;
  align-items: center;
  gap: 8px;
}
.w2g-filmog-grid { min-height: 200px; }
.w2g-cc-link:hover { opacity: .8; }
.w2g-crew-link {
  cursor: pointer;
  color: var(--acc,#6366f1);
  font-weight: 600;
  transition: opacity .15s;
}
.w2g-crew-link:hover { opacity: .75; }

/* ── Dynamic genre chips popup ──────────────────────────── */
.w2g-chips-popup {
  position: fixed;
  z-index: 99999;
  background: var(--w2g-card,#fff);
  border: 1.5px solid var(--bdr,#e2e8f0);
  border-radius: 12px;
  padding: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 320px;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
body.w2g-theme-dark .w2g-chips-popup {
  background: #111c2d !important;
  border-color: #6f93f7 !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.45) !important;
}
body.w2g-theme-dark .w2g-chips-popup .w2g-chip {
  background: #16243a !important;
  border-color: #2b3d58 !important;
  color: #dbe7f4 !important;
}
body.w2g-theme-dark .w2g-chips-popup .w2g-chip:hover {
  background: #203456 !important;
  border-color: #6f93f7 !important;
  color: #fff !important;
}
body.w2g-theme-dark .w2g-chips-popup .w2g-chip.on {
  background: #5092f9 !important;
  border-color: #5092f9 !important;
  color: #fff !important;
}

/* ── Search clear button ────────────────────────────────── */
#w2g-clear-btn {
  position: absolute;
  right: 44px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px; height: 16px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px;
  transition: color .15s;
  z-index: 2;
  padding: 0;
}
#w2g-clear-btn:hover { color: #475569; }

/* ── Search history dropdown ────────────────────────────── */
.w2g-search-history {
  position: fixed;
  background: var(--w2g-card,#fff);
  border: 1.5px solid var(--bdr,#e2e8f0);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
  z-index: 9999;
  overflow: hidden;
  min-width: 260px;
}
.w2g-sh-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px 6px;
  font-size: 11px;
  font-weight: 700;
  color: var(--ink2,#64748b);
  text-transform: uppercase;
  letter-spacing: .05em;
}
.w2g-sh-clear {
  font-size: 11px;
  font-weight: 600;
  color: var(--acc,#6366f1);
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
}
.w2g-sh-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  cursor: pointer;
  font-size: 13px;
  color: var(--ink,#0d1b2a);
  transition: background .12s;
}
.w2g-sh-item:hover { background: var(--w2g-bg2,#f1f5f9); }
.w2g-sh-item i { color: var(--ink2,#64748b); font-size: 11px; flex-shrink:0; }
.w2g-sh-item span { flex: 1; }
.w2g-sh-del {
  background: none; border: none; cursor: pointer;
  color: var(--ink2,#64748b); font-size: 11px; padding: 2px 4px;
  opacity: 0; transition: opacity .15s;
}
.w2g-sh-item:hover .w2g-sh-del { opacity: 1; }

/* ── New dot ────────────────────────────────────────────── */
.w2g-wl-meta {
  display: flex;
  align-items: center;
  gap: 11px;
  flex-wrap: wrap;
  font-size: 11px;
  line-height: 1.25;
  color: var(--muted,#8a97aa);
}
.w2g-wright {
  text-align: right;
}
.w2g-wright-info {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  min-width: 150px;
}
.w2g-wright-info .w2g-wl-meta {
  justify-content: flex-end;
}
.w2g-wacts {
  width: 0;
  overflow: hidden;
  pointer-events: none;
}
.w2g-wl-row:hover .w2g-wacts,
.w2g-editor-active .w2g-wacts {
  width: auto;
  overflow: visible;
  pointer-events: auto;
}
.w2g-wl-meta span,
.w2g-wl-added {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 15px;
}
.w2g-wl-meta i,
.w2g-wl-added i {
  width: 13px;
  min-width: 13px;
  font-size: 11px;
  line-height: 1;
  color: var(--muted,#9fb0c9);
  text-align: center;
}
.w2g-wabt.import-personal {
  border-color: #bfdbfe !important;
  color: #5092f9 !important;
  background: #eef4ff !important;
}
.w2g-wabt.import-personal:hover {
  background: #dbeafe !important;
  border-color: #5092f9 !important;
}
.w2g-wabt.import-personal.imported {
  background: #dcfce7 !important;
  border-color: #86efac !important;
  color: #16a34a !important;
}
body.w2g-theme-dark #w2g-app .w2g-chip.on,
body.w2g-theme-dark #w2g-app .w2g-tt.on {
  background: #5092f9 !important;
  border-color: #5092f9 !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.18) inset, 0 10px 26px rgba(80,146,249,.28) !important;
}
body.w2g-theme-dark #w2g-app .w2g-chip:hover,
body.w2g-theme-dark #w2g-app .w2g-tt:hover {
  background: #203456 !important;
  border-color: #5092f9 !important;
  color: #fff !important;
}
#w2g-app .w2g-tt.on,
#w2g-app .w2g-chip.on,
#w2g-app .w2g-wlt.on,
#w2g-app .w2g-wlf.on,
#w2g-app .w2g-sc.on,
#w2g-app .w2g-rtype-btn.on,
#w2g-app .w2g-rfilter-btn.on,
#w2g-app .w2g-cal-flt.on {
  background: #5092f9 !important;
  border-color: #5092f9 !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.14) inset, 0 10px 24px rgba(80,146,249,.24) !important;
}
#w2g-app :is(.w2g-pbt,.w2g-tt,.w2g-chip,.w2g-wlt,.w2g-wlf,.w2g-sc,.w2g-rtype-btn,.w2g-rfilter-btn,.w2g-cal-flt).on,
body.w2g-theme-dark #w2g-app :is(.w2g-pbt,.w2g-tt,.w2g-chip,.w2g-wlt,.w2g-wlf,.w2g-sc,.w2g-rtype-btn,.w2g-rfilter-btn,.w2g-cal-flt).on,
body.w2g-theme-dark .w2g-chips-popup .w2g-chip.on {
  background: #5092f9 !important;
  border-color: #5092f9 !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.14) inset, 0 10px 24px rgba(80,146,249,.26) !important;
}
#w2g-app :is(.w2g-tt,.w2g-chip,.w2g-wlt,.w2g-wlf,.w2g-sc,.w2g-rfilter-btn,.w2g-cal-flt):hover,
body.w2g-theme-dark #w2g-app :is(.w2g-tt,.w2g-chip,.w2g-wlt,.w2g-wlf,.w2g-sc,.w2g-rfilter-btn,.w2g-cal-flt):hover,
body.w2g-theme-dark .w2g-chips-popup .w2g-chip:hover {
  background: #203456 !important;
  border-color: #5092f9 !important;
  color: #fff !important;
}
#w2g-app .w2g-cal-flt.on .w2g-cal-dot,
body.w2g-theme-dark #w2g-app .w2g-cal-flt.on .w2g-cal-dot {
  background: rgba(255,255,255,.9) !important;
}
#w2g-app button:is(.w2g-pbt,.w2g-tt,.w2g-chip,.w2g-wlt,.w2g-wlf,.w2g-sc,.w2g-rtype-btn,.w2g-rfilter-btn,.w2g-cal-flt).on,
#w2g-app button:is(.w2g-chip,.w2g-tab,.w2g-toggle).active,
#w2g-app button:is(.w2g-chip).person-active,
body.w2g-theme-dark #w2g-app button:is(.w2g-pbt,.w2g-tt,.w2g-chip,.w2g-wlt,.w2g-wlf,.w2g-sc,.w2g-rtype-btn,.w2g-rfilter-btn,.w2g-cal-flt).on,
body.w2g-theme-dark #w2g-app button:is(.w2g-chip,.w2g-tab,.w2g-toggle).active,
body.w2g-theme-dark #w2g-app button:is(.w2g-chip).person-active,
body.w2g-theme-dark :is(.w2g-chips-popup,.w2g-genre-popup) button:is(.w2g-chip,.w2g-sc).on {
  background: #5092f9 !important;
  border-color: #5092f9 !important;
  color: #fff !important;
  font-weight: 700 !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.14) inset, 0 10px 24px rgba(80,146,249,.26) !important;
}
#w2g-app button:is(.w2g-tt,.w2g-chip,.w2g-wlt,.w2g-wlf,.w2g-sc,.w2g-rtype-btn,.w2g-rfilter-btn,.w2g-cal-flt):hover,
body.w2g-theme-dark #w2g-app button:is(.w2g-tt,.w2g-chip,.w2g-wlt,.w2g-wlf,.w2g-sc,.w2g-rtype-btn,.w2g-rfilter-btn,.w2g-cal-flt):hover,
body.w2g-theme-dark :is(.w2g-chips-popup,.w2g-genre-popup) button:is(.w2g-chip,.w2g-sc):hover {
  background: #203456 !important;
  border-color: #5092f9 !important;
  color: #fff !important;
}

/* ── Collection link in detail ──────────────────────────── */
.w2g-collection-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1.5px solid var(--bdr,#e2e8f0);
  background: var(--w2g-bg2,#f8fafc);
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink,#0d1b2a);
  transition: border-color .15s, background .15s;
  margin-top: 4px;
}
.w2g-collection-link:hover { border-color: var(--acc,#6366f1); background: #eef2ff; }
.w2g-collection-link span { flex: 1; }
.w2g-clink-arrow { color: var(--ink2,#64748b); font-size: 11px; }

/* ── History button ─────────────────────────────────────── */
#w2g-btn-hist {
  width: 46px!important; height: 46px!important;
  flex-shrink: 0;
  background: #fff!important;
  border: 1.5px solid #e2e8f0!important;
  border-radius: 9px!important;
  display: inline-flex!important;
  align-items: center!important;
  justify-content: center!important;
  cursor: pointer;
  color: #6b7a8d!important;
  font-size: 15px!important;
  padding: 0!important;
  margin: 0!important;
  box-shadow: none!important;
  transition: border-color .15s, color .15s;
}
#w2g-btn-hist:hover { border-color: #5092f9!important; color: #5092f9!important; }

/* ── Random button pulse glow ───────────────────────────── */
@keyframes w2g-rnd-pulse {
  0%, 100% { opacity: 0; transform: scale(1); }
  50%       { opacity: .6; transform: scale(1.12); }
}
#w2g-btn-rnd {
  position: relative!important;
  overflow: visible!important;
  z-index: 0!important;
}
#w2g-btn-rnd::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: 11px;
  border: 1.5px solid rgba(80,146,249,.5);
  animation: w2g-rnd-pulse 2.5s ease-in-out infinite;
  pointer-events: none;
  z-index: -1;
}

/* ── Random button hover ────────────────────────────────── */
#w2g-btn-rnd:hover {
  border-color: #5092f9!important;
  color: #5092f9!important;
}

/* ── Person profile ─────────────────────────────────────── */
.w2g-person-profile {
  display: flex;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--bdr,#e2e8f0);
  background: var(--w2g-bg2,#f8fafc);
}
.w2g-person-photo {
  width: 80px; height: 110px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
.w2g-person-photo-empty {
  width: 80px; height: 110px;
  border-radius: 10px;
  background: var(--bdr,#e2e8f0);
  display: flex; align-items: center; justify-content: center;
  font-size: 28px;
  color: var(--ink2,#94a3b8);
  flex-shrink: 0;
}
.w2g-person-info { flex: 1; min-width: 0; }
.w2g-person-dept {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--acc,#6366f1);
  margin-bottom: 6px;
}
.w2g-person-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12px;
  color: var(--ink2,#64748b);
  margin-bottom: 8px;
}
.w2g-person-meta span { display: flex; align-items: center; gap: 5px; }
.w2g-person-bio {
  font-size: 12px;
  color: var(--ink2,#64748b);
  line-height: 1.6;
  margin: 0;
}
.w2g-filmog-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--ink2,#64748b);
  padding: 14px 16px 6px;
}

#w2g-app .w2g-pbt.on,
#w2g-app .w2g-tt.on,
#w2g-app .w2g-chip.on,
#w2g-app .w2g-wlt.on,
#w2g-app .w2g-wlf.on,
#w2g-app .w2g-sc.on,
#w2g-app .w2g-rtype-btn.on,
#w2g-app .w2g-rfilter-btn.on,
#w2g-app .w2g-cal-flt.on,
#w2g-app .w2g-chip.active,
#w2g-app .w2g-tab.active,
#w2g-app .w2g-toggle.active,
#w2g-app .w2g-chip.person-active,
body.w2g-theme-dark #w2g-app .w2g-pbt.on,
body.w2g-theme-dark #w2g-app .w2g-tt.on,
body.w2g-theme-dark #w2g-app .w2g-chip.on,
body.w2g-theme-dark #w2g-app .w2g-wlt.on,
body.w2g-theme-dark #w2g-app .w2g-wlf.on,
body.w2g-theme-dark #w2g-app .w2g-sc.on,
body.w2g-theme-dark #w2g-app .w2g-rtype-btn.on,
body.w2g-theme-dark #w2g-app .w2g-rfilter-btn.on,
body.w2g-theme-dark #w2g-app .w2g-cal-flt.on,
body.w2g-theme-dark #w2g-app .w2g-chip.active,
body.w2g-theme-dark #w2g-app .w2g-tab.active,
body.w2g-theme-dark #w2g-app .w2g-toggle.active,
body.w2g-theme-dark #w2g-app .w2g-chip.person-active,
body.w2g-theme-dark .w2g-chips-popup .w2g-chip.on,
body.w2g-theme-dark .w2g-genre-popup .w2g-sc.on {
  background: #5092f9 !important;
  border-color: #5092f9 !important;
  color: #fff !important;
  font-weight: 700 !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.14) inset, 0 10px 24px rgba(80,146,249,.26) !important;
}
#w2g-app .w2g-tt:hover,
#w2g-app .w2g-chip:hover,
#w2g-app .w2g-wlt:hover,
#w2g-app .w2g-wlf:hover,
#w2g-app .w2g-sc:hover,
#w2g-app .w2g-rtype-btn:hover,
#w2g-app .w2g-rfilter-btn:hover,
#w2g-app .w2g-cal-flt:hover,
body.w2g-theme-dark #w2g-app .w2g-tt:hover,
body.w2g-theme-dark #w2g-app .w2g-chip:hover,
body.w2g-theme-dark #w2g-app .w2g-wlt:hover,
body.w2g-theme-dark #w2g-app .w2g-wlf:hover,
body.w2g-theme-dark #w2g-app .w2g-sc:hover,
body.w2g-theme-dark #w2g-app .w2g-rtype-btn:hover,
body.w2g-theme-dark #w2g-app .w2g-rfilter-btn:hover,
body.w2g-theme-dark #w2g-app .w2g-cal-flt:hover,
body.w2g-theme-dark .w2g-chips-popup .w2g-chip:hover,
body.w2g-theme-dark .w2g-genre-popup .w2g-sc:hover {
  background: #203456 !important;
  border-color: #5092f9 !important;
  color: #fff !important;
}
body.w2g-theme-dark #w2g-app .w2g-person-hint {
  background: rgba(80,146,249,.1) !important;
  border-color: rgba(80,146,249,.28) !important;
  color: #8fb0ff !important;
  box-shadow: none !important;
}
#w2g-app .w2g-wlf.on i,
#w2g-app .w2g-wlf.on .w2g-sort-arrow,
body.w2g-theme-dark #w2g-app .w2g-wlf.on i,
body.w2g-theme-dark #w2g-app .w2g-wlf.on .w2g-sort-arrow {
  color: #fff !important;
  opacity: 1 !important;
}
#w2g-app .w2g-wlf.on .w2g-wlf-count,
body.w2g-theme-dark #w2g-app .w2g-wlf.on .w2g-wlf-count {
  background: rgba(255,255,255,.22) !important;
  color: #fff !important;
}
.w2g-sort-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 10px;
  margin-left: 1px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

/* Dark theme polish: scrollbars and popup frames */
body.w2g-theme-dark #w2g-app,
body.w2g-theme-dark #w2g-app *,
body.w2g-theme-dark .w2g-modal,
body.w2g-theme-dark .w2g-modal *,
body.w2g-theme-dark .w2g-wlm,
body.w2g-theme-dark .w2g-wlm *,
body.w2g-theme-dark .w2g-ep-popup-overlay,
body.w2g-theme-dark .w2g-ep-popup-overlay * {
  scrollbar-color: #6f93f7 #0b1424 !important;
  scrollbar-width: thin !important;
}

body.w2g-theme-dark #w2g-app ::-webkit-scrollbar,
body.w2g-theme-dark .w2g-modal ::-webkit-scrollbar,
body.w2g-theme-dark .w2g-wlm ::-webkit-scrollbar,
body.w2g-theme-dark .w2g-ep-popup-overlay ::-webkit-scrollbar {
  width: 8px !important;
  height: 8px !important;
}

body.w2g-theme-dark #w2g-app ::-webkit-scrollbar-track,
body.w2g-theme-dark .w2g-modal ::-webkit-scrollbar-track,
body.w2g-theme-dark .w2g-wlm ::-webkit-scrollbar-track,
body.w2g-theme-dark .w2g-ep-popup-overlay ::-webkit-scrollbar-track {
  background: #0b1424 !important;
  border-radius: 999px !important;
}

body.w2g-theme-dark #w2g-app ::-webkit-scrollbar-thumb,
body.w2g-theme-dark .w2g-modal ::-webkit-scrollbar-thumb,
body.w2g-theme-dark .w2g-wlm ::-webkit-scrollbar-thumb,
body.w2g-theme-dark .w2g-ep-popup-overlay ::-webkit-scrollbar-thumb,
body.w2g-theme-dark #w2g-modal-content::-webkit-scrollbar-thumb,
body.w2g-theme-dark #w2g-mcontent::-webkit-scrollbar-thumb,
body.w2g-theme-dark .w2g-detail-scroll::-webkit-scrollbar-thumb,
body.w2g-theme-dark .w2g-col-list::-webkit-scrollbar-thumb,
body.w2g-theme-dark #w2g-results::-webkit-scrollbar-thumb,
body.w2g-theme-dark #w2g-suggestions::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #8fb0ff, #5092f9) !important;
  border: 2px solid #0b1424 !important;
  border-radius: 999px !important;
}

body.w2g-theme-dark #w2g-app ::-webkit-scrollbar-thumb:hover,
body.w2g-theme-dark .w2g-modal ::-webkit-scrollbar-thumb:hover,
body.w2g-theme-dark .w2g-wlm ::-webkit-scrollbar-thumb:hover,
body.w2g-theme-dark .w2g-ep-popup-overlay ::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #b8caff, #6f93f7) !important;
}

body.w2g-theme-dark .w2g-modal .w2g-mbox,
body.w2g-theme-dark .w2g-modal .w2g-modal-box,
body.w2g-theme-dark .w2g-wlm .w2g-wlmbox,
body.w2g-theme-dark .w2g-wlm .w2g-wl-modal-box,
body.w2g-theme-dark .w2g-ep-popup-overlay .w2g-ep-popup-box {
  border-color: #2b3d58 !important;
  box-shadow:
    0 24px 72px rgba(0,0,0,.52),
    0 0 0 1px rgba(111,147,247,.18) !important;
}

body.w2g-theme-dark .w2g-modal .w2g-mclose,
body.w2g-theme-dark .w2g-modal .w2g-modal-close,
body.w2g-theme-dark .w2g-ep-popup-overlay .w2g-ep-popup-close {
  border-color: #2b3d58 !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.34) !important;
}

/* Dark theme polish: quick action icons */
body.w2g-theme-dark #w2g-app :is(.w2g-sync-btn, .w2g-qadd-toggle, [id^="w2g-sync-"], button[id^="w2g-qadd-"]) {
  background: rgba(15,26,43,.9) !important;
  border: 1px solid rgba(143,176,255,.38) !important;
  color: #f8fbff !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.38), 0 0 0 1px rgba(111,147,247,.14) inset !important;
}

body.w2g-theme-dark #w2g-app :is(.w2g-sync-btn, .w2g-qadd-toggle, [id^="w2g-sync-"], button[id^="w2g-qadd-"]) i {
  color: #f8fbff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.55) !important;
}

body.w2g-theme-dark #w2g-app :is(.w2g-sync-btn, .w2g-qadd-toggle, [id^="w2g-sync-"], button[id^="w2g-qadd-"]):hover {
  background: #203456 !important;
  border-color: #8fb0ff !important;
  color: #fff !important;
}

/* Standalone template: Salient no longer bumps icon sizing, so W2G owns it. */
body.w2g-template-page #w2g-app :is(
  .w2g-tab,
  .w2g-toggle,
  .w2g-btn-blue,
  .w2g-btn-ghost,
  .w2g-chip,
  .w2g-wlt,
  .w2g-wlf,
  .w2g-sf,
  .w2g-sc,
  .w2g-rfilter-btn,
  .w2g-cal-flt,
  .w2g-order-btn,
  .w2g-sync-btn,
  .w2g-qadd-toggle,
  .w2g-abt,
  .w2g-act-btn,
  .w2g-spoiler-btn,
  .w2g-sec-label,
  .w2g-wl-modal-title,
  .w2g-runtime-badge,
  .w2g-person-hint
) :is(.fa,.fas,.fa-solid,.far,.fa-regular,.fab,.fa-brands) {
  width: 14px !important;
  min-width: 14px !important;
  height: 14px !important;
  font-size: 13px !important;
  line-height: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
}

body.w2g-template-page #w2g-app :is(.w2g-wl-meta,.w2g-wl-added,.w2g-col-meta,.w2g-ep-popup-meta,.w2g-sh-item) :is(.fa,.fas,.fa-solid,.far,.fa-regular,.fab,.fa-brands) {
  width: 14px !important;
  min-width: 14px !important;
  height: 14px !important;
  font-size: 12px !important;
  line-height: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
}

body.w2g-template-page #w2g-app .w2g-sec-label :is(.fa,.fas,.fa-solid,.far,.fa-regular,.fab,.fa-brands) {
  color: var(--blue) !important;
}

body.w2g-template-page #w2g-app .w2g-type-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  line-height: 1 !important;
}

body.w2g-template-page #w2g-app .w2g-type-badge :is(.fa,.fas,.fa-solid,.far,.fa-regular,.fab,.fa-brands) {
  width: 15px !important;
  min-width: 15px !important;
  height: 15px !important;
  font-size: 13px !important;
  line-height: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
}

body.w2g-template-page #w2g-app :is(.w2g-status,.w2g-ustatus) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  line-height: 1 !important;
  overflow: visible !important;
}

body.w2g-template-page #w2g-app :is(.w2g-status,.w2g-ustatus) :is(.fa,.fas,.fa-solid,.far,.fa-regular,.fab,.fa-brands) {
  width: 15px !important;
  min-width: 15px !important;
  height: 15px !important;
  font-size: 13px !important;
  line-height: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
}

body.w2g-template-page #w2g-app :is(.w2g-status.watching,.w2g-ustatus.watching) i {
  animation: w2g-pulse-dot 2s ease-in-out infinite !important;
  border-radius: 50% !important;
}

body.w2g-template-page #w2g-app .w2g-wl-filters {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.w2g-template-page #w2g-app .w2g-wl-filters :is(.w2g-wlf,.w2g-sf,.w2g-sort-lbl) {
  min-height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

body.w2g-template-page #w2g-app .w2g-wl-filters :is(.w2g-wlf,.w2g-sf) {
  gap: 6px !important;
}

body.w2g-template-page #w2g-app .w2g-wl-filters .w2g-sort-lbl {
  width: 18px !important;
  min-width: 18px !important;
  margin: 0 2px 0 0 !important;
  padding: 0 !important;
}

body.w2g-template-page #w2g-app .w2g-wl-filters :is(.w2g-wlf,.w2g-sf,.w2g-sort-lbl) :is(.fa,.fas,.fa-solid,.far,.fa-regular,.fab,.fa-brands) {
  width: 15px !important;
  min-width: 15px !important;
  height: 15px !important;
  font-size: 13px !important;
  line-height: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
  flex-shrink: 0 !important;
}

body.w2g-template-page #w2g-enter-badge {
  min-width: 24px !important;
  height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 6px !important;
  border: 1px solid rgba(143,176,255,.36) !important;
  background: rgba(20,34,56,.92) !important;
  color: #e7efff !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06) !important;
  font: 800 13px/1 Inter, sans-serif !important;
}

body.w2g-theme-dark #w2g-enter-badge {
  border-color: rgba(143,176,255,.42) !important;
  background: #14233b !important;
  color: #f8fbff !important;
}

body.w2g-template-page #w2g-app :is(.w2g-rtype-btn,.w2g-rfilter-btn) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  line-height: 1 !important;
}

body.w2g-template-page #w2g-app :is(.w2g-rtype-btn,.w2g-rfilter-btn) :is(.fa,.fas,.fa-solid,.far,.fa-regular,.fab,.fa-brands) {
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  font-size: 14px !important;
  line-height: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  opacity: 1 !important;
  flex-shrink: 0 !important;
  transform: translateY(0) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.w2g-template-page #w2g-app :is(
  .w2g-pbt,
  .w2g-tab,
  .w2g-chip,
  .w2g-wlt,
  .w2g-sc,
  .w2g-rtype-btn,
  .w2g-rfilter-btn,
  .w2g-btn-blue,
  .w2g-btn-ghost
) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  line-height: 1 !important;
}

body.w2g-template-page #w2g-app :is(
  .w2g-pbt,
  .w2g-tab,
  .w2g-chip,
  .w2g-wlt,
  .w2g-sc,
  .w2g-rtype-btn,
  .w2g-rfilter-btn,
  .w2g-btn-blue,
  .w2g-btn-ghost
) :is(.fa,.fas,.fa-solid,.far,.fa-regular,.fab,.fa-brands) {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  font-size: 16px !important;
  line-height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  opacity: 1 !important;
  flex-shrink: 0 !important;
  transform: none !important;
  color: currentColor !important;
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 7 Free" !important;
  font-weight: 900 !important;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
