:root {
  --bg: #07070a;
  --bg-soft: #111116;
  --card: rgba(255, 255, 255, 0.055);
  --card-strong: rgba(255, 255, 255, 0.095);
  --text: #f7f7fb;
  --muted: #a7a7b2;
  --line: rgba(255, 255, 255, 0.12);
  --accent: #ff2d55;
  --accent-2: #7c3cff;
  --radius: 22px;
  --shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 15% 10%, rgba(255, 45, 85, 0.22), transparent 30rem),
    radial-gradient(circle at 90% 0%, rgba(124, 60, 255, 0.18), transparent 32rem),
    var(--bg);
  color: var(--text);
}

a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 76px;
  padding: 0 4vw;
  background: rgba(7, 7, 10, 0.78);
  backdrop-filter: blur(22px);
  border-bottom: 1px solid var(--line);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  font-weight: 900;
  letter-spacing: -.03em;
  font-size: clamp(1.3rem, 2vw, 1.85rem);
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow: 0 10px 35px rgba(255, 45, 85, .28);
}

.desktop-nav {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .35rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .035);
}

.desktop-nav a {
  padding: .68rem 1rem;
  border-radius: 999px;
  color: var(--muted);
  font-weight: 750;
}
.desktop-nav a.active,
.desktop-nav a:hover {
  color: var(--text);
  background: var(--card-strong);
}

.top-actions {
  display: flex;
  align-items: center;
  gap: .65rem;
}
.icon-btn, .profile-btn, .hamburger, .close-btn, .ghost-link {
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--text);
  border-radius: 999px;
}
.icon-btn { width: 44px; height: 44px; font-size: 1.5rem; }
.profile-btn { padding: .75rem 1rem; font-weight: 800; }
.hamburger {
  display: none;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
}
.hamburger span { width: 18px; height: 2px; background: var(--text); display: block; margin: 3px auto; }

.mobile-panel {
  position: fixed;
  inset: 0 0 0 auto;
  width: min(360px, 86vw);
  transform: translateX(110%);
  transition: transform .25s ease;
  background: rgba(10, 10, 14, .96);
  backdrop-filter: blur(22px);
  z-index: 50;
  padding: 5rem 1.2rem 1.2rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
  box-shadow: var(--shadow);
}
.mobile-panel.open { transform: translateX(0); }
.mobile-panel a, .ghost-link {
  padding: 1rem;
  border-radius: 16px;
  background: var(--card);
  font-weight: 800;
  text-align: left;
}
.close-btn {
  width: 44px;
  height: 44px;
  font-size: 1.6rem;
  position: absolute;
  right: 1rem;
  top: 1rem;
}

main { padding-bottom: 3rem; }
.hero {
  min-height: min(720px, 78vh);
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.hero-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7,7,10,.96) 0%, rgba(7,7,10,.55) 48%, rgba(7,7,10,.18) 100%),
    linear-gradient(0deg, var(--bg) 0%, transparent 42%),
    radial-gradient(circle at 78% 38%, rgba(255, 255, 255, .20), transparent 9rem),
    linear-gradient(135deg, #21112b, #101a2e 48%, #141417);
}
.hero-bg::after {
  content: "STREAMLAND";
  position: absolute;
  right: -2vw;
  bottom: 8vh;
  font-size: clamp(5rem, 13vw, 14rem);
  font-weight: 950;
  letter-spacing: -.08em;
  opacity: .055;
}
.hero-content {
  position: relative;
  width: min(780px, 92vw);
  padding: 10rem 4vw 5rem;
}
.eyebrow { color: var(--accent); text-transform: uppercase; font-weight: 900; letter-spacing: .12em; }
h1 { font-size: clamp(2.6rem, 8vw, 6.5rem); line-height: .88; letter-spacing: -.07em; margin: .4rem 0 1rem; }
h2 { font-size: clamp(1.6rem, 3.5vw, 2.4rem); letter-spacing: -.045em; }
.meta { color: var(--muted); font-weight: 800; }
.meta span { color: #72e0a0; }
.hero-text { color: #d7d7df; font-size: clamp(1rem, 2.2vw, 1.35rem); line-height: 1.55; max-width: 650px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 1.6rem; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border: 1px solid transparent;
  border-radius: 16px;
  padding: .95rem 1.35rem;
  font-weight: 900;
  color: var(--text);
}
.btn.primary { background: var(--text); color: #08080a; }
.btn.secondary { background: var(--card-strong); border-color: var(--line); color: var(--text); }

.quick-tabs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1rem;
  padding: 1.8rem 4vw .7rem;
}
.quick-tabs a, .quick-tabs button {
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--text);
  padding: 1rem;
  border-radius: 18px;
  font-weight: 900;
  text-align: center;
}
.quick-tabs a:hover, .quick-tabs button:hover { background: var(--card-strong); }

.content-section { padding: 1.2rem 4vw; }
.section-title { display: flex; align-items: end; justify-content: space-between; margin-bottom: .9rem; gap: 1rem; }
.section-title h2 { margin: 0; }
.section-title a { color: var(--muted); font-weight: 800; }
.card-row, .ranked-row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(230px, 1fr);
  gap: 1rem;
  overflow-x: auto;
  padding: .2rem .1rem 1rem;
  scrollbar-width: thin;
}
.content-card {
  min-height: 320px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
  background: linear-gradient(135deg, var(--g1), var(--g2));
  box-shadow: inset 0 -120px 90px rgba(0,0,0,.55);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1rem;
  isolation: isolate;
}
.content-card::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 17px;
  z-index: -1;
}
.content-card::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -40px;
  top: 25px;
  border-radius: 48% 52% 42% 58%;
  background: rgba(255,255,255,.13);
  filter: blur(.3px);
  z-index: -1;
}
.content-card h3 { margin: 0 0 .35rem; font-size: 1.2rem; }
.content-card p { margin: 0; color: #dddde5; line-height: 1.35; }
.badge {
  position: absolute;
  left: 1rem;
  top: 1rem;
  background: var(--accent);
  padding: .35rem .55rem;
  border-radius: 10px;
  font-weight: 950;
  font-size: .78rem;
}
.card-actions { display: flex; gap: .5rem; margin-top: 1rem; }
.card-actions a, .card-actions button {
  border: 1px solid var(--line);
  background: rgba(0,0,0,.38);
  color: var(--text);
  border-radius: 12px;
  padding: .55rem .72rem;
  font-weight: 850;
}
.ranked-card { padding-left: 4.4rem; min-height: 250px; }
.rank-number {
  position: absolute;
  left: .55rem;
  bottom: .55rem;
  font-size: 7rem;
  font-weight: 950;
  line-height: .8;
  color: transparent;
  -webkit-text-stroke: 2px rgba(255,255,255,.35);
}

.collection-grid, .grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.collection-card {
  min-height: 150px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(255,45,85,.22), rgba(124,60,255,.15)), var(--card);
  padding: 1.2rem;
  display: flex;
  align-items: end;
  font-weight: 950;
  font-size: 1.2rem;
}

.catalog-page, .explore-page, .legal-page { padding: 2rem 4vw; }
.catalog-hero, .explore-head, .legal-page {
  margin: 1rem 0 1.5rem;
  padding: clamp(1.2rem, 4vw, 3rem);
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) + 10px);
  background: linear-gradient(135deg, rgba(255,45,85,.18), rgba(124,60,255,.12)), var(--card);
}
.catalog-hero h1, .explore-head h1, .legal-page h1 { margin-bottom: .7rem; }
.catalog-hero p, .explore-head p, .legal-page p { color: var(--muted); line-height: 1.6; }
.filters {
  display: grid;
  grid-template-columns: 1fr 220px 220px;
  gap: .9rem;
  margin-bottom: 1rem;
}
.filters input, .filters select, .auth-form input, .support-form input, .support-form select, .support-form textarea, .search-overlay input {
  width: 100%;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.07);
  color: var(--text);
  border-radius: 16px;
  padding: .95rem 1rem;
  outline: none;
}
.filters select option { background: #111116; }
.catalog-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.catalog-grid .content-card { min-height: 330px; }

.explore-tabs { grid-template-columns: repeat(4, 1fr); padding: 0 0 1.2rem; }
.explore-list { display: grid; gap: .85rem; }
.list-item {
  width: 100%;
  text-align: left;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.055);
  color: var(--text);
  border-radius: var(--radius);
  padding: 1rem;
  display: grid;
  grid-template-columns: 68px 1fr;
  align-items: center;
  gap: 1rem;
}
.list-item span {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.055);
  border: 1px solid var(--line);
  border-radius: 18px;
  font-size: 1.55rem;
}
.list-item h3 { margin: 0 0 .25rem; font-size: 1.35rem; }
.list-item p { margin: 0; color: var(--muted); }
.panel-section {
  margin-top: 1.6rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
  padding: 1.2rem;
}
.support-form { display: grid; gap: .85rem; }
.support-form textarea { min-height: 140px; resize: vertical; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.setting-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.05);
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  font-weight: 850;
}

.player-page { padding: 1.2rem 4vw; }
.video-shell {
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) + 10px);
  overflow: hidden;
  background: #030305;
  box-shadow: var(--shadow);
}
.video-placeholder {
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, #1e1028, #101a2e 46%, #171717);
  display: grid;
  place-items: center;
  position: relative;
}
.video-placeholder::after {
  content: "LECTEUR DÉMO";
  position: absolute;
  inset: auto 0 2rem;
  text-align: center;
  font-size: clamp(2rem, 8vw, 7rem);
  font-weight: 950;
  letter-spacing: -.08em;
  opacity: .08;
}
.play-big {
  width: 94px;
  height: 94px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.9);
  color: #060608;
  font-size: 2rem;
  z-index: 1;
}
.player-controls {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 1rem;
  align-items: center;
  padding: .9rem;
}
.player-controls button { border: 0; border-radius: 12px; padding: .7rem .9rem; }
.progress { height: 8px; border-radius: 999px; background: rgba(255,255,255,.18); overflow: hidden; }
.progress span { display: block; width: 34%; height: 100%; background: var(--accent); }
.player-info { padding: 1.3rem 0; max-width: 850px; }
.player-info p { color: var(--muted); line-height: 1.6; }

.search-overlay {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: none;
  padding: min(7rem, 18vh) 4vw 2rem;
  background: rgba(5,5,7,.96);
  backdrop-filter: blur(20px);
}
.search-overlay.open { display: block; }
.search-overlay label { display: block; font-size: clamp(1.7rem, 5vw, 3.6rem); font-weight: 950; letter-spacing: -.06em; margin-bottom: 1rem; }
.search-overlay input { font-size: 1.2rem; }
.search-results { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .8rem; margin-top: 1rem; }
.result-item {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 1rem;
  background: var(--card);
}
.result-item p { color: var(--muted); margin: .25rem 0 0; }

.auth-dialog {
  width: min(460px, 92vw);
  border: 1px solid var(--line);
  border-radius: 26px;
  background: rgba(13,13,18,.97);
  color: var(--text);
  padding: 1.3rem;
  box-shadow: var(--shadow);
}
.auth-dialog::backdrop { background: rgba(0,0,0,.65); backdrop-filter: blur(7px); }
.auth-dialog .close-btn { position: absolute; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin: 2.7rem 0 1rem; }
.auth-tabs button, .social-auth button {
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--text);
  border-radius: 14px;
  padding: .85rem;
  font-weight: 850;
}
.auth-tabs button.active { background: var(--accent); }
.auth-form { display: none; gap: .75rem; }
.auth-form.active { display: grid; }
.auth-form h3 { margin: .2rem 0; font-size: 1.5rem; }
.social-auth { display: grid; gap: .6rem; margin-top: .9rem; }
.tiny { color: var(--muted); font-size: .85rem; line-height: 1.45; }
.toast {
  position: fixed;
  left: 50%;
  bottom: 1.2rem;
  transform: translate(-50%, 140%);
  background: var(--text);
  color: #07070a;
  padding: .85rem 1rem;
  border-radius: 999px;
  font-weight: 900;
  z-index: 80;
  transition: transform .25s ease;
}
.toast.show { transform: translate(-50%, 0); }

.footer {
  padding: 2rem 4vw;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: var(--muted);
}
.footer a { font-weight: 850; color: var(--text); }

body.light {
  --bg: #f6f6fb;
  --bg-soft: #ffffff;
  --card: rgba(0, 0, 0, 0.05);
  --card-strong: rgba(0, 0, 0, 0.09);
  --text: #111116;
  --muted: #5f6170;
  --line: rgba(0, 0, 0, 0.12);
  color-scheme: light;
}
body.light .topbar { background: rgba(246,246,251,.82); }
body.light .hero-bg { background: linear-gradient(90deg, rgba(246,246,251,.96), rgba(246,246,251,.55)), linear-gradient(135deg, #ffe4ec, #e7e2ff); }

@media (max-width: 980px) {
  .desktop-nav { display: none; }
  .hamburger { display: block; }
  .quick-tabs, .explore-tabs { grid-template-columns: repeat(2, 1fr); }
  .collection-grid { grid-template-columns: repeat(2, 1fr); }
  .filters { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .topbar { min-height: 68px; padding: 0 1rem; }
  .profile-btn { display: none; }
  .hero { min-height: 72vh; }
  .hero-content { padding: 6rem 1rem 3rem; }
  .quick-tabs { padding-inline: 1rem; gap: .7rem; }
  .content-section, .catalog-page, .explore-page, .legal-page, .player-page, .footer { padding-inline: 1rem; }
  .card-row, .ranked-row { grid-auto-columns: minmax(210px, 78vw); }
  .catalog-grid, .collection-grid, .settings-grid { grid-template-columns: 1fr; }
  .list-item { grid-template-columns: 54px 1fr; padding: .8rem; }
  .list-item span { width: 52px; height: 52px; }
  .footer { flex-direction: column; align-items: flex-start; }
}

/* Streamland v2 : thèmes, OAuth et panneau admin */
body[data-theme="light"] {
  --bg: #f7f7fb;
  --bg-soft: #ffffff;
  --card: rgba(4, 4, 12, 0.055);
  --card-strong: rgba(4, 4, 12, 0.09);
  --text: #111118;
  --muted: #60606d;
  --line: rgba(4, 4, 12, 0.14);
  --shadow: 0 24px 80px rgba(12, 12, 22, 0.12);
  color-scheme: light;
  background:
    radial-gradient(circle at 15% 10%, rgba(255, 45, 85, 0.11), transparent 30rem),
    radial-gradient(circle at 90% 0%, rgba(124, 60, 255, 0.10), transparent 32rem),
    var(--bg);
}
body[data-theme="light"] .topbar { background: rgba(247, 247, 251, 0.78); }
body[data-theme="light"] .mobile-panel { background: rgba(255, 255, 255, .96); }
body[data-theme="light"] .hero-bg {
  background:
    linear-gradient(90deg, rgba(247,247,251,.96) 0%, rgba(247,247,251,.62) 48%, rgba(247,247,251,.22) 100%),
    linear-gradient(0deg, var(--bg) 0%, transparent 42%),
    radial-gradient(circle at 78% 38%, rgba(0, 0, 0, .08), transparent 9rem),
    linear-gradient(135deg, #fff0f4, #eef3ff 48%, #ffffff);
}
.reduced-motion *, .reduced-motion *::before, .reduced-motion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
.compact-cards .content-card { min-height: 180px; }
.compact-cards .content-card p:last-of-type { display: none; }

.simple-explore-list { grid-template-columns: 1fr; }
.site-info-card {
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: var(--radius);
  padding: 1.2rem;
  margin-bottom: 1rem;
}
.site-info-card h3 { margin: 0 0 .35rem; font-size: 1.25rem; }
.site-info-card p { margin: 0 0 1rem; color: var(--muted); line-height: 1.6; }
.site-links { display: flex; flex-wrap: wrap; gap: .7rem; }
.site-info-form input:disabled,
.site-info-form textarea:disabled,
.support-form input:disabled,
.support-form textarea:disabled,
.support-form button:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.form-status { margin: .4rem 0 0; color: var(--muted); font-weight: 750; }
.account-panel { display: grid; gap: 1rem; }
.account-summary {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--card);
}
.account-summary img,
.avatar-fallback {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  font-weight: 950;
}
.account-summary strong, .account-summary small, .account-summary em { display: block; }
.account-summary small { color: var(--muted); margin-top: .18rem; }
.account-summary em { color: #72e0a0; font-style: normal; font-weight: 850; margin-top: .25rem; }
.info-dialog { max-width: 560px; }
.info-dialog .btn { margin-top: 1rem; }
.player-title {
  position: absolute;
  left: 4vw;
  bottom: 2rem;
  max-width: min(720px, 86vw);
  text-shadow: 0 8px 40px rgba(0,0,0,.55);
}
.player-title h1 { margin: 0 0 .5rem; }

.setting-card select {
  width: 100%;
  margin-top: .6rem;
  color: var(--text);
  background: var(--bg-soft);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: .75rem;
}
.switch-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.switch-card input { width: 22px; height: 22px; }

/* Streamland v3 : upload admin + vrai lecteur */
.content-card.has-poster {
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.78)),
    var(--poster),
    linear-gradient(135deg, var(--g1), var(--g2));
  background-size: cover, cover, cover;
  background-position: center, center, center;
}
.search-item {
  display: grid;
  grid-template-columns: 68px 1fr;
  align-items: center;
  gap: .8rem;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: .7rem;
  background: var(--card);
}
.search-item small { display: block; color: var(--muted); margin-top: .2rem; }
.search-thumb {
  width: 68px;
  aspect-ratio: 16 / 10;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--g1), var(--g2));
}
.search-thumb.has-poster {
  background-image: var(--poster), linear-gradient(135deg, var(--g1), var(--g2));
  background-size: cover;
  background-position: center;
}
.stream-video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}
.content-manager {
  margin-top: 1.2rem;
  border-top: 1px solid var(--line);
  padding-top: 1.2rem;
}
.form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}
.form-row:has(input:nth-child(3)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.upload-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}
.upload-box {
  display: grid;
  gap: .5rem;
  border: 1px dashed var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  padding: 1rem;
  color: var(--muted);
  font-weight: 850;
}
.upload-box input { color: var(--muted); }
.inline-check {
  display: flex;
  align-items: center;
  gap: .65rem;
  color: var(--muted);
  font-weight: 850;
}
.inline-check input { width: 20px; height: 20px; }
.admin-content-list {
  display: grid;
  gap: .75rem;
  margin-top: 1rem;
}
.admin-content-item {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: .65rem;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  padding: .85rem;
}
.admin-content-item strong,
.admin-content-item small { display: block; }
.admin-content-item small { color: var(--muted); margin-top: .25rem; }
.btn.danger {
  background: rgba(255, 45, 85, .14);
  border-color: rgba(255, 45, 85, .32);
  color: var(--text);
}
.admin-required code {
  background: var(--card-strong);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: .12rem .3rem;
}
@media (max-width: 700px) {
  .form-row, .form-row:has(input:nth-child(3)), .upload-grid, .admin-content-item {
    grid-template-columns: 1fr;
  }
}

/* Streamland v5 — visuel client plus simple et professionnel */
:root {
  --bg: #08090d;
  --bg-soft: #10131a;
  --card: rgba(255, 255, 255, 0.06);
  --card-strong: rgba(255, 255, 255, 0.10);
  --text: #f7f8fb;
  --muted: #aeb4c2;
  --line: rgba(255, 255, 255, 0.12);
  --accent: #e50914;
  --accent-2: #f5c518;
  --radius: 20px;
}
[hidden] { display: none !important; }
body {
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 22rem),
    radial-gradient(circle at 10% 0%, rgba(229, 9, 20, .16), transparent 30rem),
    #08090d;
}
.topbar {
  backdrop-filter: blur(18px);
  background: rgba(8, 9, 13, .86);
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding: .9rem clamp(1rem, 4vw, 3.5rem);
}
.brand { letter-spacing: -.03em; }
.brand-mark {
  background: linear-gradient(135deg, var(--accent), #ff6b6b);
  box-shadow: 0 10px 28px rgba(229,9,20,.25);
}
.desktop-nav {
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  padding: .25rem;
}
.desktop-nav a {
  border-radius: 999px;
  padding: .62rem 1rem;
  color: var(--muted);
}
.desktop-nav a.active,
.desktop-nav a:hover {
  background: rgba(255,255,255,.12);
  color: var(--text);
}
.profile-btn, .icon-btn, .admin-shortcut {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.07);
  border-radius: 999px;
  color: var(--text);
  min-height: 42px;
}
.admin-shortcut {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
  font-weight: 850;
}
.hero, .catalog-hero, .pro-hero {
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 24px 80px rgba(0,0,0,.32);
}
.hero {
  min-height: min(76vh, 720px);
  margin-bottom: 1.5rem;
}
.hero-content h1,
.catalog-hero h1,
.pro-hero h1,
.detail-main h1 {
  letter-spacing: -.06em;
}
.hero-text, .detail-description, .support-hero p { color: #d6dae3; }
.quick-tabs {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .8rem;
}
.quick-tabs a {
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  box-shadow: none;
}
.content-section { margin-top: 2rem; }
.section-title h2 { letter-spacing: -.04em; }
.content-card {
  min-height: 250px;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 20px 60px rgba(0,0,0,.28);
  overflow: hidden;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.content-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255,255,255,.22);
  box-shadow: 0 28px 90px rgba(0,0,0,.42);
}
.content-card::before {
  background:
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.85)),
    var(--poster, linear-gradient(135deg, var(--g1), var(--g2)));
  background-size: cover;
  background-position: center;
  filter: saturate(1.08);
}
.content-card h3 { font-size: 1.35rem; }
.card-actions a,
.card-actions button,
.btn {
  border-radius: 999px;
}
.btn.primary, .card-actions a {
  background: var(--text);
  color: #08090d;
  border-color: transparent;
}
.btn.secondary, .card-actions button {
  background: rgba(255,255,255,.10);
  color: var(--text);
  border-color: rgba(255,255,255,.14);
}
.badge {
  background: var(--accent);
  color: white;
  border-radius: 999px;
}
.filters {
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255,255,255,.055);
  padding: .85rem;
}
.filters input, .filters select,
.support-form input, .support-form textarea, .support-form select,
.review-form textarea {
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--text);
  border-radius: 16px;
}
.support-page, .admin-page {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 2rem 0 4rem;
}
.pro-hero {
  padding: clamp(2rem, 6vw, 5rem);
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(229,9,20,.18), transparent 36rem),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
}
.compact-hero { padding: clamp(1.6rem, 4vw, 3rem); }
.support-layout {
  display: grid;
  grid-template-columns: 1.4fr .8fr;
  gap: 1rem;
  margin-top: 1rem;
}
.support-card, .panel-section, .detail-main, .detail-side {
  border: 1px solid var(--line);
  border-radius: 26px;
  background: rgba(255,255,255,.055);
  box-shadow: 0 20px 70px rgba(0,0,0,.24);
}
.support-card { padding: clamp(1rem, 3vw, 1.5rem); }
.support-side { align-self: start; }
.site-links { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.admin-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 1rem;
  margin-top: 1rem;
}
.player-page {
  width: min(1240px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 1.2rem 0 4rem;
}
.video-shell {
  margin: 0;
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  background: #000;
  box-shadow: 0 26px 100px rgba(0,0,0,.45);
}
.cinema-frame { background: #000; }
.stream-video { border-radius: 0; max-height: 78vh; }
.detail-visual {
  min-height: min(70vh, 680px);
  background: linear-gradient(135deg, var(--g1), var(--g2));
  background-size: cover;
  background-position: center;
  display: grid;
  align-items: end;
  padding: clamp(1rem, 4vw, 3rem);
}
.detail-visual .play-big {
  place-self: center;
  align-self: center;
  width: 92px;
  height: 92px;
  border-radius: 999px;
  border: 0;
  background: rgba(255,255,255,.92);
  color: #08090d;
  box-shadow: 0 20px 80px rgba(0,0,0,.35);
}
.player-title {
  max-width: 780px;
  text-shadow: 0 8px 30px rgba(0,0,0,.5);
}
.detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 1rem;
  margin-top: 1rem;
}
.detail-main, .detail-side { padding: clamp(1rem, 3vw, 1.6rem); }
.detail-main h1 { margin: .2rem 0 .5rem; font-size: clamp(2rem, 6vw, 4.2rem); }
.detail-description { font-size: 1.08rem; line-height: 1.7; max-width: 850px; }
.genre-pills { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.genre-pills span {
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 999px;
  padding: .45rem .75rem;
  color: #e7eaf1;
  font-weight: 750;
}
.detail-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1rem 0 1.25rem; }
.detail-side dl { display: grid; gap: .85rem; }
.detail-side dl div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding-bottom: .7rem;
}
.detail-side dt { color: var(--muted); }
.detail-side dd { margin: 0; font-weight: 850; }
.reviews-panel {
  border-top: 1px solid rgba(255,255,255,.10);
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}
.reviews-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
}
.reviews-head h2, .review-form h3 { margin-bottom: .25rem; }
.review-form {
  display: grid;
  gap: .8rem;
  margin: 1rem 0;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  background: rgba(255,255,255,.045);
  padding: 1rem;
}
.rating-input { display: inline-flex; gap: .2rem; }
.rating-input button {
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.28);
  font-size: 1.75rem;
  padding: .1rem;
  line-height: 1;
}
.rating-input button.active { color: var(--accent-2); }
.review-form textarea { min-height: 110px; resize: vertical; padding: .9rem; }
.reviews-list { display: grid; gap: .75rem; }
.review-item {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  padding: 1rem;
}
.review-item div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: var(--accent-2);
}
.review-item strong { color: var(--text); }
.review-item p { color: #d6dae3; line-height: 1.55; }
.review-item small { color: var(--muted); }
.auth-dialog {
  border: 1px solid var(--line);
  border-radius: 26px;
  background: #11131a;
}
.footer { border-top: 1px solid rgba(255,255,255,.08); }
@media (max-width: 920px) {
  .quick-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .support-layout, .admin-grid, .detail-grid { grid-template-columns: 1fr; }
  .detail-side { order: -1; }
}
@media (max-width: 640px) {
  .quick-tabs { grid-template-columns: 1fr; }
  .topbar { padding: .75rem 1rem; }
  .hero { min-height: 620px; }
  .player-page, .support-page, .admin-page { width: min(100% - 1rem, 1180px); }
  .detail-visual { min-height: 460px; }
  .reviews-head, .review-item div { align-items: start; flex-direction: column; }
}


/* v5.1 — Avantage VIP + avis corrigés */
.desktop-nav a[href="avantages.html"] { position: relative; }
.vip-page {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 2rem 0 4rem;
}
.vip-hero {
  min-height: 520px;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  align-items: center;
  gap: 1.2rem;
  padding: clamp(2rem, 6vw, 5rem);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 34px;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.22), transparent 10rem),
    radial-gradient(circle at 10% 85%, rgba(229,9,20,.26), transparent 18rem),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
  box-shadow: 0 32px 100px rgba(0,0,0,.32);
  overflow: hidden;
  position: relative;
}
.vip-hero::after {
  content: "VIP";
  position: absolute;
  right: -2rem;
  bottom: -2.7rem;
  font-size: clamp(6rem, 18vw, 16rem);
  font-weight: 950;
  letter-spacing: -.08em;
  opacity: .055;
}
.vip-lead { color: var(--muted); max-width: 680px; font-size: clamp(1rem, 2vw, 1.28rem); line-height: 1.65; }
.vip-card {
  position: relative;
  z-index: 1;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 28px;
  padding: 1.4rem;
  background: rgba(0,0,0,.28);
  backdrop-filter: blur(16px);
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: end;
}
.vip-badge {
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background: var(--accent);
  color: #fff;
  font-weight: 950;
  box-shadow: 0 14px 40px rgba(229,9,20,.35);
  margin-bottom: auto;
}
.vip-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 1.2rem;
}
.vip-benefits article,
.vip-note {
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 26px;
  background: rgba(255,255,255,.055);
  padding: 1.25rem;
  box-shadow: 0 18px 55px rgba(0,0,0,.22);
}
.vip-benefits span {
  display: inline-grid;
  place-items: center;
  min-width: 56px;
  height: 38px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: var(--text);
  font-weight: 950;
  margin-bottom: .9rem;
}
.vip-benefits p,
.vip-note p { color: var(--muted); line-height: 1.6; }
.vip-note { margin-top: 1rem; }
.review-form input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
  flex: 0 0 auto;
}
.review-form textarea,
.review-form input[type="checkbox"] { pointer-events: auto; }
.rating-input button[disabled] { opacity: .45; cursor: not-allowed; }
.mini-vip-callout {
  display: grid;
  gap: .25rem;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(229,9,20,.16), rgba(255,255,255,.06));
}
.mini-vip-callout span { color: var(--muted); }
.mini-vip-callout a { color: var(--text); font-weight: 900; }
.detail-main h1 { max-width: 900px; }
.detail-description { font-size: clamp(1rem, 1.6vw, 1.18rem); }
@media (max-width: 860px) {
  .vip-hero, .vip-benefits { grid-template-columns: 1fr; }
  .vip-hero { min-height: auto; }
}

/* v5.2 — publicité avant lecture + import massif */
.locked-watch { position: relative; }
.locked-watch .btn.primary { margin-top: .85rem; }
.ad-dialog {
  width: min(720px, calc(100% - 1.2rem));
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 0;
  background: #11131a;
  color: var(--text);
  box-shadow: 0 34px 120px rgba(0,0,0,.55);
  overflow: hidden;
}
.ad-dialog::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(8px); }
.ad-box { display: grid; grid-template-columns: .85fr 1.15fr; min-height: 340px; }
.ad-media {
  display: grid;
  place-items: center;
  min-height: 260px;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.24), transparent 8rem),
    linear-gradient(135deg, rgba(255,45,85,.38), rgba(124,60,255,.32));
  background-size: cover;
  background-position: center;
}
.ad-media span { font-size: clamp(1.7rem, 5vw, 3.1rem); font-weight: 950; letter-spacing: -.08em; opacity: .88; }
.ad-content { padding: clamp(1.1rem, 4vw, 2rem); display: flex; flex-direction: column; justify-content: center; }
.ad-content h2 { margin: .2rem 0 .7rem; font-size: clamp(1.7rem, 4vw, 2.6rem); letter-spacing: -.05em; }
.ad-content p { color: #d8dce7; line-height: 1.6; }
.ad-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1rem 0 .2rem; }
.ad-actions button[disabled] { opacity: .62; cursor: wait; }
[data-import-form] textarea { min-height: 210px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .92rem; }
[data-ad-form] textarea { min-height: 120px; }
@media (max-width: 700px) {
  .ad-box { grid-template-columns: 1fr; }
  .ad-media { min-height: 190px; }
}

/* v5.3 — page film/série façon plateforme cinéma */
.player-page {
  width: 100%;
  margin: 0;
  padding: 0 0 4rem;
}
.cinema-detail-hero {
  position: relative;
  min-height: clamp(640px, 86vh, 920px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  align-items: end;
  gap: clamp(1rem, 4vw, 3rem);
  padding: clamp(7rem, 10vw, 10rem) clamp(1rem, 4vw, 4rem) clamp(2.3rem, 6vw, 5rem);
  background-size: cover;
  background-position: center right;
  border-bottom: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
}
.cinema-detail-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 78% 25%, rgba(255,255,255,.18), transparent 16rem),
    linear-gradient(180deg, rgba(8,9,13,.12) 0%, rgba(8,9,13,.40) 70%, var(--bg) 100%);
}
.cinema-detail-copy,
.cinema-detail-card {
  position: relative;
  z-index: 1;
}
.cinema-detail-copy {
  max-width: 790px;
  text-shadow: 0 16px 42px rgba(0,0,0,.45);
}
.cinema-detail-copy h1 {
  margin: .1rem 0 .8rem;
  font-size: clamp(3.2rem, 9vw, 7.8rem);
  line-height: .86;
  letter-spacing: -.075em;
}
.cinema-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .65rem .85rem;
  margin: .7rem 0;
  font-weight: 850;
  color: #e9edf6;
}
.cinema-meta .match {
  color: #31e191;
}
.quality-pill {
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 6px;
  padding: .12rem .38rem;
  font-size: .76rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cinema-genres {
  margin: .25rem 0 1.1rem;
  color: #d8dce7;
  font-weight: 750;
}
.cinema-synopsis {
  max-width: 690px;
  color: #f2f4f8;
  font-size: clamp(1rem, 1.6vw, 1.25rem);
  line-height: 1.65;
}
.cinema-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem;
  margin: 1.35rem 0 1rem;
}
.watch-main {
  min-width: min(100%, 330px);
  justify-content: center;
  font-size: 1.02rem;
}
.round-action {
  width: 52px;
  height: 52px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(255,255,255,.08);
  color: var(--text);
  font-size: 1.1rem;
  font-weight: 950;
  cursor: pointer;
}
.round-action:hover {
  background: rgba(255,255,255,.16);
}
.quick-opinion {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: .55rem .85rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(0,0,0,.28);
  color: #dfe3ec;
  font-weight: 800;
}
.cinema-detail-card {
  align-self: end;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 28px;
  padding: 1.25rem;
  background: rgba(10, 12, 18, .58);
  backdrop-filter: blur(18px);
  box-shadow: 0 28px 90px rgba(0,0,0,.34);
}
.cinema-detail-card h2 { margin-bottom: 1rem; }
.cinema-detail-card dl {
  display: grid;
  gap: .85rem;
}
.cinema-detail-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .7rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.cinema-detail-card dt { color: var(--muted); }
.cinema-detail-card dd { margin: 0; font-weight: 900; }
.cinema-detail-body {
  width: min(1320px, calc(100% - 2rem));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 1rem;
  padding-top: 1.2rem;
}
.cinema-main-column,
.cinema-side-column {
  display: grid;
  gap: 1rem;
  align-content: start;
}
.detail-block,
.cast-section,
.episode-select-card,
.side-panel,
.empty-detail {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 28px;
  background: rgba(255,255,255,.055);
  box-shadow: 0 20px 70px rgba(0,0,0,.22);
  padding: clamp(1rem, 3vw, 1.5rem);
}
.detail-block p,
.cast-section p,
.side-panel p {
  color: #d6dae3;
  line-height: 1.65;
}
.episode-select-card {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .55rem 1rem;
}
.episode-select-card label {
  font-size: 1.6rem;
  font-weight: 950;
  letter-spacing: -.04em;
}
.episode-select-card select {
  min-width: min(100%, 340px);
  color: var(--text);
  background: rgba(0,0,0,.34);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  padding: .85rem 1rem;
  font-weight: 850;
}
.episode-select-card .tiny { grid-column: 1 / -1; }
.cast-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.cast-member {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
}
.cast-avatar {
  width: 52px;
  height: 52px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06));
  background-size: cover;
  background-position: center;
  color: var(--text);
  font-weight: 950;
}
.cast-member strong,
.cast-member small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cast-member small { color: var(--muted); margin-top: .2rem; }
.side-panel {
  display: grid;
  gap: .75rem;
}
.side-panel .btn { justify-content: center; }
.watch-dialog {
  width: min(1180px, calc(100% - 1rem));
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 28px;
  padding: 0;
  background: #000;
  color: var(--text);
  box-shadow: 0 35px 140px rgba(0,0,0,.70);
  overflow: hidden;
}
.watch-dialog::backdrop {
  background: rgba(0,0,0,.86);
  backdrop-filter: blur(10px);
}
.watch-dialog-content .cinema-frame { min-height: 360px; }
.watch-close {
  position: absolute;
  z-index: 3;
  top: .7rem;
  right: .7rem;
  background: rgba(0,0,0,.55);
  color: white;
  border: 1px solid rgba(255,255,255,.18);
}
.empty-detail {
  width: min(900px, calc(100% - 2rem));
  margin: 7rem auto 2rem;
}
@media (max-width: 1050px) {
  .cinema-detail-hero,
  .cinema-detail-body {
    grid-template-columns: 1fr;
  }
  .cinema-detail-card,
  .cinema-side-column {
    display: none;
  }
  .cast-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .cinema-detail-hero {
    min-height: 720px;
    padding-top: 6rem;
    background-position: center;
  }
  .cinema-actions .btn,
  .watch-main {
    width: 100%;
  }
  .round-action { width: 48px; height: 48px; }
  .episode-select-card { grid-template-columns: 1fr; }
  .episode-select-card select { width: 100%; }
  .cast-grid { grid-template-columns: 1fr; }
  .cinema-detail-body { width: min(100% - 1rem, 1320px); }
}

/* Streamland v5.4 — HUD cinéma noir/violet, sans logo */
:root {
  --bg: #050108;
  --bg-soft: #0b0612;
  --card: rgba(255, 255, 255, .045);
  --card-strong: rgba(139, 92, 246, .16);
  --text: #f7f2ff;
  --muted: #b2a8c5;
  --line: rgba(215, 190, 255, .13);
  --accent: #8b5cf6;
  --accent-2: #c084fc;
  --purple-glow: rgba(139, 92, 246, .35);
  --shadow: 0 32px 120px rgba(0,0,0,.65);
  --radius: 14px;
}

html { background: #050108; }
body,
body[data-theme="light"] {
  color-scheme: dark;
  color: var(--text);
  background:
    radial-gradient(circle at 75% 12%, rgba(139,92,246,.16), transparent 34rem),
    radial-gradient(circle at 10% 95%, rgba(192,132,252,.12), transparent 28rem),
    #050108;
}
body[data-theme="light"] .topbar,
.topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 58px;
  min-height: 58px;
  padding: 0 clamp(1rem, 4vw, 4.5rem);
  display: grid;
  grid-template-columns: minmax(80px, 160px) 1fr minmax(270px, 520px);
  gap: 1.1rem;
  align-items: center;
  background: linear-gradient(180deg, rgba(5,1,8,.96), rgba(5,1,8,.70));
  border-bottom: 1px solid rgba(215,190,255,.10);
  backdrop-filter: blur(18px);
  z-index: 100;
}
.home-link {
  justify-self: start;
  color: rgba(247,242,255,.72);
  font-size: .78rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .62rem .82rem;
  border-radius: 999px;
  border: 1px solid transparent;
}
.home-link:hover,
.home-link.active {
  color: white;
  border-color: rgba(192,132,252,.22);
  background: rgba(139,92,246,.11);
}
.desktop-nav {
  justify-self: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  gap: clamp(.45rem, 1.3vw, 1.4rem);
}
.desktop-nav a {
  padding: .4rem .1rem;
  border-radius: 0;
  color: rgba(247,242,255,.66);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
  position: relative;
  white-space: nowrap;
}
.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.58rem;
  height: 2px;
  transform: scaleX(0);
  transform-origin: center;
  background: linear-gradient(90deg, transparent, var(--accent-2), transparent);
  transition: transform .18s ease;
}
.desktop-nav a:hover,
.desktop-nav a.active {
  color: #fff;
  background: transparent;
}
.desktop-nav a:hover::after,
.desktop-nav a.active::after { transform: scaleX(1); }
.top-actions { justify-self: end; width: 100%; justify-content: flex-end; }
.icon-btn.search-trigger {
  width: min(410px, 28vw);
  height: 36px;
  padding: 0 .9rem;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: .65rem;
  border-radius: 999px;
  border: 1px solid rgba(215,190,255,.14);
  background: rgba(255,255,255,.055);
  color: rgba(247,242,255,.72);
  font-size: .95rem;
}
.icon-btn.search-trigger em {
  font-style: normal;
  font-size: .78rem;
  font-weight: 700;
  color: rgba(247,242,255,.48);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.profile-btn {
  height: 36px;
  padding: 0 .88rem;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(247,242,255,.84);
  font-size: .78rem;
  letter-spacing: .02em;
}
.profile-btn::before { content: "●"; color: rgba(247,242,255,.64); margin-right: .5rem; }
.profile-btn:hover { background: rgba(139,92,246,.12); border-color: rgba(192,132,252,.20); }
.hamburger { border-color: rgba(215,190,255,.16); background: rgba(255,255,255,.055); }
main { padding-bottom: 5rem; }
.catalog-page,
.explore-page,
.legal-page,
.admin-page { padding-top: 92px; }

/* Accueil façon plateforme cinéma */
.hero {
  min-height: 96vh;
  align-items: center;
  border-bottom: 0;
  background: #050108;
}
.hero-bg {
  background:
    linear-gradient(90deg, rgba(5,1,8,.97) 0%, rgba(5,1,8,.74) 30%, rgba(5,1,8,.30) 70%, rgba(5,1,8,.90) 100%),
    linear-gradient(0deg, #050108 0%, rgba(5,1,8,.25) 34%, rgba(5,1,8,0) 68%),
    radial-gradient(circle at 68% 38%, rgba(139,92,246,.28), transparent 22rem),
    linear-gradient(135deg, #190c28, #050108 58%, #10051c);
}
.hero-bg::after {
  content: "";
  inset: 0;
  right: 0;
  bottom: 0;
  opacity: 1;
  font-size: 0;
  background:
    radial-gradient(circle at 62% 40%, rgba(255,255,255,.10), transparent 10rem),
    linear-gradient(90deg, transparent 0%, rgba(139,92,246,.08) 60%, transparent 100%);
}
.hero-content {
  width: min(580px, 90vw);
  padding: 8rem 0 5rem clamp(1rem, 4vw, 5rem);
  margin-top: 2rem;
}
.eyebrow {
  color: #a78bfa;
  font-size: .82rem;
  letter-spacing: .10em;
}
.hero h1,
h1 {
  font-weight: 950;
  letter-spacing: -.07em;
}
.hero h1 {
  font-size: clamp(3rem, 5.5vw, 7.2rem);
  line-height: .85;
  text-shadow: 0 14px 52px rgba(0,0,0,.72), 0 0 32px rgba(139,92,246,.20);
}
.meta { color: rgba(247,242,255,.76); }
.meta span,
.match { color: #55e69d !important; }
.hero-text {
  max-width: 520px;
  color: rgba(247,242,255,.82);
  font-size: 1.03rem;
  line-height: 1.55;
}
.btn {
  border-radius: 5px;
  min-height: 42px;
  padding: .75rem 1.2rem;
  text-transform: none;
}
.btn.primary {
  background: #fff;
  color: #07020d;
  box-shadow: 0 10px 38px rgba(255,255,255,.10);
}
.btn.secondary {
  background: rgba(139,92,246,.20);
  border-color: rgba(192,132,252,.26);
  color: #fff;
}
.btn.primary:hover { transform: translateY(-1px); }
.btn.secondary:hover { background: rgba(139,92,246,.30); }
.quick-tabs { display: none; }
.content-section {
  position: relative;
  z-index: 4;
  margin-top: 0;
  padding: .55rem clamp(1rem, 4vw, 5rem) 1.35rem;
}
.content-section:first-of-type { margin-top: -11vh; }
.section-title { margin-bottom: .35rem; }
.section-title h2 {
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  letter-spacing: -.02em;
}
.section-title a { font-size: .85rem; color: rgba(247,242,255,.55); }
.card-row,
.ranked-row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 18.5vw);
  gap: .62rem;
  overflow-x: auto;
  padding: .2rem 0 1.05rem;
  scrollbar-color: rgba(139,92,246,.45) transparent;
}
.content-card {
  min-height: auto;
  height: clamp(132px, 10vw, 182px);
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 5px;
  padding: .72rem;
  box-shadow: none;
  background:
    linear-gradient(135deg, var(--g1), var(--g2));
  background-size: cover;
  background-position: center;
  justify-content: flex-end;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.content-card.has-poster {
  background-image:
    linear-gradient(180deg, rgba(5,1,8,0) 35%, rgba(5,1,8,.92) 100%),
    var(--poster),
    linear-gradient(135deg, var(--g1), var(--g2));
}
.content-card::before {
  inset: 0;
  border: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 68% 22%, rgba(255,255,255,.12), transparent 6.5rem),
    linear-gradient(180deg, rgba(5,1,8,0) 36%, rgba(5,1,8,.88) 100%);
  z-index: -1;
}
.content-card::after {
  display: none;
}
.content-card:hover {
  transform: scale(1.045);
  z-index: 3;
  box-shadow: 0 18px 55px rgba(0,0,0,.55), 0 0 0 1px rgba(192,132,252,.28);
  filter: saturate(1.08);
}
.card-copy { position: relative; z-index: 2; }
.content-card h3 {
  margin: 0;
  font-size: clamp(1.1rem, 1.25vw, 1.45rem);
  line-height: 1;
  color: #fff;
  text-shadow: 0 5px 15px rgba(0,0,0,.9);
}
.content-card p,
.content-card small {
  display: block;
  margin: .25rem 0 0;
  color: rgba(247,242,255,.72);
  font-size: .78rem;
  line-height: 1.2;
}
.content-card .badge {
  position: absolute;
  top: .55rem;
  left: .55rem;
  z-index: 4;
  border-radius: 2px;
  padding: .22rem .4rem;
  background: linear-gradient(90deg, #7c3aed, #c084fc);
  color: white;
  font-size: .66rem;
  letter-spacing: .09em;
}
.ranked-row { grid-auto-columns: minmax(285px, 22vw); gap: 1.9rem; }
.ranked-card {
  overflow: visible;
  margin-left: 2.5rem;
}
.rank-number {
  position: absolute;
  left: -2.65rem;
  bottom: -1rem;
  z-index: -1;
  color: rgba(255,255,255,.08);
  -webkit-text-stroke: 2px rgba(255,255,255,.28);
  font-size: clamp(6rem, 8vw, 9rem);
  font-weight: 950;
  letter-spacing: -.10em;
  line-height: .82;
  text-shadow: 0 0 30px rgba(139,92,246,.16);
}
.collection-grid { gap: .65rem; }
.collection-card {
  min-height: 120px;
  border-radius: 5px;
  border: 1px solid rgba(215,190,255,.11);
  background: linear-gradient(135deg, rgba(139,92,246,.24), rgba(18,8,31,.90));
}

/* Catalogues */
.catalog-hero,
.explore-head,
.legal-page,
.pro-hero {
  border-radius: 0;
  border: 0;
  background:
    linear-gradient(90deg, rgba(5,1,8,.98), rgba(30,12,47,.50), rgba(5,1,8,.95)),
    radial-gradient(circle at 76% 30%, rgba(139,92,246,.24), transparent 26rem);
  padding-top: 7rem;
  padding-bottom: 2.4rem;
}
.catalog-hero h1,
.explore-head h1,
.pro-hero h1 {
  font-size: clamp(3rem, 6vw, 6.2rem);
}
.filters input,
.filters select,
.auth-form input,
.support-form input,
.support-form select,
.support-form textarea,
.search-overlay input {
  background: rgba(255,255,255,.055);
  border-color: rgba(215,190,255,.13);
  color: var(--text);
  border-radius: 8px;
}
.catalog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: .75rem;
}
.catalog-grid .content-card { height: 168px; }

/* Détail film/série — proche d'une page de streaming premium */
.player-page { padding: 0 0 4rem; }
.cinema-detail-hero {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 780px) 1fr;
  align-items: center;
  padding: 7rem clamp(1rem, 4vw, 5rem) 5.5rem;
  background-position: center right;
  background-size: cover;
  border-bottom: 0;
}
.cinema-detail-hero::before {
  background:
    linear-gradient(90deg, rgba(5,1,8,.98) 0%, rgba(5,1,8,.82) 31%, rgba(5,1,8,.34) 66%, rgba(5,1,8,.86) 100%),
    linear-gradient(0deg, #050108 0%, rgba(5,1,8,.26) 35%, rgba(5,1,8,.02) 72%),
    radial-gradient(circle at 74% 24%, rgba(139,92,246,.25), transparent 18rem);
}
.cinema-detail-copy { align-self: center; max-width: 720px; }
.cinema-detail-copy h1 {
  font-size: clamp(3.1rem, 6vw, 7rem);
  text-shadow: 0 18px 58px rgba(0,0,0,.88), 0 0 30px rgba(139,92,246,.16);
}
.cinema-meta {
  color: rgba(247,242,255,.78);
  font-size: .95rem;
}
.quality-pill {
  border-color: rgba(215,190,255,.24);
  color: rgba(247,242,255,.82);
}
.cinema-synopsis {
  max-width: 640px;
  color: rgba(247,242,255,.86);
  font-size: clamp(1rem, 1.2vw, 1.18rem);
}
.cinema-actions { gap: .65rem; }
.round-action {
  width: 46px;
  height: 46px;
  border-color: rgba(215,190,255,.16);
  background: rgba(255,255,255,.065);
}
.round-action:hover { background: rgba(139,92,246,.18); }
.quick-opinion {
  border-radius: 5px;
  border-color: rgba(215,190,255,.12);
  background: rgba(0,0,0,.26);
}
.cinema-detail-card { display: none; }
.cinema-detail-body {
  width: auto;
  margin: -7rem clamp(1rem, 4vw, 5rem) 0;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 370px);
  gap: 1rem;
  position: relative;
  z-index: 5;
  padding-top: 0;
}
.detail-block,
.cast-section,
.episode-select-card,
.side-panel,
.empty-detail,
.reviews-panel {
  border-radius: 10px;
  border: 1px solid rgba(215,190,255,.10);
  background: rgba(11,6,18,.78);
  backdrop-filter: blur(14px);
  box-shadow: 0 24px 80px rgba(0,0,0,.34);
}
.episode-select-card {
  display: grid;
  grid-template-columns: 1fr minmax(260px, 420px);
}
.episode-select-card label,
.detail-block h2,
.cast-section h2,
.reviews-panel h2 {
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  letter-spacing: -.035em;
}
.episode-select-card select {
  background: rgba(0,0,0,.52);
  border-color: rgba(215,190,255,.18);
  border-radius: 6px;
}
.cast-grid {
  grid-template-columns: repeat(4, minmax(170px, 1fr));
  gap: .9rem 1.2rem;
}
.cast-avatar { background-color: rgba(139,92,246,.18); }
.side-panel { background: rgba(11,6,18,.62); }
.mini-vip-callout,
.vip-inline {
  border: 1px solid rgba(192,132,252,.20);
  background: linear-gradient(135deg, rgba(139,92,246,.18), rgba(255,255,255,.03));
}
.watch-dialog { border-radius: 10px; border-color: rgba(215,190,255,.16); }
.ad-dialog .ad-box,
.ad-box {
  border: 1px solid rgba(215,190,255,.16);
  background: #0b0612;
}
.ad-media { background: linear-gradient(135deg, rgba(139,92,246,.40), rgba(7,2,12,.95)); }
.ad-media span { color: rgba(255,255,255,.80); }

/* Search et auth */
.search-overlay {
  background: rgba(5,1,8,.97);
}
.search-item,
.result-item {
  border-color: rgba(215,190,255,.10);
  background: rgba(255,255,255,.045);
}
.auth-dialog {
  background: rgba(11,6,18,.98);
  border-color: rgba(215,190,255,.14);
}
.auth-tabs button.active { background: linear-gradient(90deg, #7c3aed, #a855f7); }
.toast { background: #f7f2ff; color: #08030d; }

.footer {
  border-color: rgba(215,190,255,.08);
  background: #050108;
}

@media (max-width: 1180px) {
  .topbar { grid-template-columns: auto 1fr auto; }
  .icon-btn.search-trigger { width: 44px; justify-content: center; }
  .icon-btn.search-trigger em { display: none; }
}
@media (max-width: 980px) {
  .topbar { grid-template-columns: 1fr auto; }
  .home-link { display: inline-flex; }
  .desktop-nav { display: none; }
  .hamburger { display: grid; }
  .cinema-detail-hero,
  .cinema-detail-body { grid-template-columns: 1fr; }
  .cinema-detail-body { margin-top: -4rem; }
  .cinema-side-column { display: grid; }
  .cast-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
}
@media (max-width: 650px) {
  .topbar { height: 62px; min-height: 62px; padding-inline: .75rem; }
  .home-link { font-size: .72rem; padding-inline: .55rem; }
  .profile-btn { display: inline-flex; max-width: 110px; overflow: hidden; }
  .hero { min-height: 86vh; }
  .hero-content { padding-left: 1rem; padding-right: 1rem; }
  .content-section:first-of-type { margin-top: -5vh; }
  .card-row,
  .ranked-row { grid-auto-columns: minmax(230px, 74vw); }
  .catalog-grid { grid-template-columns: 1fr; }
  .cinema-detail-hero { min-height: 86vh; padding: 6rem 1rem 4rem; }
  .cinema-detail-body { margin-inline: .75rem; }
  .episode-select-card { grid-template-columns: 1fr; }
  .cast-grid { grid-template-columns: 1fr; }
}

/* Streamland v5.5 — thème HUD plus discret : noir doux + violet léger */
:root {
  --bg: #101218;
  --bg-soft: #151923;
  --card: rgba(255, 255, 255, .055);
  --card-strong: rgba(255, 255, 255, .095);
  --text: #f4f5f8;
  --muted: #aeb4c0;
  --line: rgba(255, 255, 255, .105);
  --accent: #8f7cff;
  --accent-2: #b9a9ff;
  --purple-glow: rgba(143, 124, 255, .16);
  --shadow: 0 24px 90px rgba(0,0,0,.38);
}

html { background: #101218; }
body,
body[data-theme="light"] {
  color-scheme: dark;
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 360px),
    radial-gradient(circle at 78% 10%, rgba(143,124,255,.085), transparent 28rem),
    radial-gradient(circle at 12% 95%, rgba(143,124,255,.055), transparent 24rem),
    #101218;
}

body[data-theme="light"] .topbar,
.topbar {
  background: linear-gradient(180deg, rgba(16,18,24,.94), rgba(16,18,24,.76));
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.home-link,
.desktop-nav a,
.profile-btn,
.icon-btn.search-trigger {
  color: rgba(244,245,248,.72);
}

.home-link:hover,
.home-link.active,
.profile-btn:hover {
  color: #fff;
  border-color: rgba(143,124,255,.14);
  background: rgba(255,255,255,.055);
}

.desktop-nav a::after {
  background: linear-gradient(90deg, transparent, rgba(143,124,255,.75), transparent);
}

.desktop-nav a:hover,
.desktop-nav a.active {
  color: #fff;
}

.icon-btn.search-trigger {
  border-color: rgba(255,255,255,.105);
  background: rgba(255,255,255,.065);
}
.icon-btn.search-trigger:hover {
  border-color: rgba(143,124,255,.20);
  background: rgba(255,255,255,.09);
}

.hero {
  background: #101218;
}
.hero-bg {
  background:
    linear-gradient(90deg, rgba(16,18,24,.96) 0%, rgba(16,18,24,.78) 31%, rgba(16,18,24,.38) 70%, rgba(16,18,24,.82) 100%),
    linear-gradient(0deg, #101218 0%, rgba(16,18,24,.42) 34%, rgba(16,18,24,.08) 68%),
    radial-gradient(circle at 66% 40%, rgba(143,124,255,.13), transparent 22rem),
    linear-gradient(135deg, #1d202a, #101218 58%, #171a23);
}
.hero-bg::after {
  background:
    radial-gradient(circle at 62% 40%, rgba(255,255,255,.075), transparent 10rem),
    linear-gradient(90deg, transparent 0%, rgba(143,124,255,.04) 60%, transparent 100%);
}

.eyebrow {
  color: rgba(185,169,255,.86);
}
.hero h1 {
  text-shadow: 0 14px 52px rgba(0,0,0,.62), 0 0 22px rgba(143,124,255,.10);
}
.hero-text,
.cinema-synopsis,
.detail-block p,
.cast-section p,
.side-panel p,
.review-item p {
  color: rgba(244,245,248,.82);
}

.btn.secondary {
  background: rgba(255,255,255,.105);
  border-color: rgba(255,255,255,.13);
  color: #fff;
}
.btn.secondary:hover,
.round-action:hover {
  background: rgba(143,124,255,.13);
  border-color: rgba(143,124,255,.20);
}

.card-row,
.ranked-row {
  scrollbar-color: rgba(143,124,255,.28) transparent;
}
.content-card {
  filter: saturate(.98) brightness(1.03);
  box-shadow: 0 10px 28px rgba(0,0,0,.20);
}
.content-card:hover {
  box-shadow: 0 18px 55px rgba(0,0,0,.45), 0 0 0 1px rgba(143,124,255,.18);
}
.content-card.has-poster {
  background-image:
    linear-gradient(180deg, rgba(16,18,24,0) 36%, rgba(16,18,24,.90) 100%),
    var(--poster),
    linear-gradient(135deg, var(--g1), var(--g2));
}
.content-card::before {
  background:
    radial-gradient(circle at 68% 22%, rgba(255,255,255,.09), transparent 6.5rem),
    linear-gradient(180deg, rgba(16,18,24,0) 36%, rgba(16,18,24,.84) 100%);
}
.content-card .badge {
  background: rgba(143,124,255,.88);
}
.rank-number {
  color: rgba(255,255,255,.07);
  -webkit-text-stroke: 2px rgba(255,255,255,.20);
  text-shadow: none;
}
.collection-card {
  background: linear-gradient(135deg, rgba(143,124,255,.12), rgba(255,255,255,.055));
}

.catalog-hero,
.explore-head,
.legal-page,
.pro-hero {
  background:
    linear-gradient(90deg, rgba(16,18,24,.98), rgba(29,32,42,.76), rgba(16,18,24,.95)),
    radial-gradient(circle at 78% 30%, rgba(143,124,255,.12), transparent 26rem);
}

.filters,
.support-card,
.panel-section,
.detail-block,
.cast-section,
.episode-select-card,
.side-panel,
.empty-detail,
.reviews-panel,
.auth-dialog,
.ad-dialog .ad-box,
.ad-box {
  border-color: rgba(255,255,255,.105);
  background: rgba(21,25,35,.78);
  box-shadow: 0 18px 60px rgba(0,0,0,.26);
}

.filters input,
.filters select,
.auth-form input,
.support-form input,
.support-form select,
.support-form textarea,
.search-overlay input,
.review-form textarea,
.episode-select-card select {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.11);
  color: var(--text);
}

.cinema-detail-hero::before {
  background:
    linear-gradient(90deg, rgba(16,18,24,.96) 0%, rgba(16,18,24,.80) 31%, rgba(16,18,24,.38) 66%, rgba(16,18,24,.82) 100%),
    linear-gradient(0deg, #101218 0%, rgba(16,18,24,.34) 35%, rgba(16,18,24,.04) 72%),
    radial-gradient(circle at 74% 24%, rgba(143,124,255,.13), transparent 18rem);
}
.cinema-detail-body {
  margin-top: -6rem;
}
.cinema-detail-copy h1 {
  text-shadow: 0 18px 58px rgba(0,0,0,.74), 0 0 24px rgba(143,124,255,.09);
}
.round-action,
.quick-opinion {
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.075);
}
.mini-vip-callout,
.vip-inline {
  border-color: rgba(143,124,255,.16);
  background: linear-gradient(135deg, rgba(143,124,255,.10), rgba(255,255,255,.045));
}

.vip-hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.11), transparent 10rem),
    radial-gradient(circle at 10% 85%, rgba(143,124,255,.12), transparent 18rem),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
}
.vip-badge {
  background: rgba(143,124,255,.90);
  box-shadow: 0 14px 40px rgba(143,124,255,.20);
}

.ad-media {
  background: linear-gradient(135deg, rgba(143,124,255,.20), rgba(21,25,35,.96));
}
.search-overlay {
  background: rgba(16,18,24,.96);
}
.auth-tabs button.active {
  background: rgba(143,124,255,.82);
}
.toast { background: #f4f5f8; color: #101218; }
.footer { background: #101218; border-color: rgba(255,255,255,.08); }

/* Streamland v5.6 — import métadonnées TMDB */
.soft-separator {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 1.2rem 0;
}
.tmdb-admin {
  grid-column: 1 / -1;
}
.tmdb-results {
  display: grid;
  gap: .8rem;
  margin-top: 1rem;
}
.tmdb-result {
  display: grid;
  grid-template-columns: 76px 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: .85rem;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255,255,255,.035);
}
.tmdb-thumb {
  width: 76px;
  height: 108px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(139,92,246,.18), rgba(255,255,255,.08));
  background-size: cover;
  background-position: center;
  box-shadow: var(--shadow-soft);
}
.tmdb-result strong {
  display: block;
  margin-bottom: .25rem;
}
.tmdb-result small,
.tmdb-result p {
  color: var(--muted);
}
.tmdb-result p {
  margin: .35rem 0 .7rem;
  max-width: 780px;
}
.tmdb-result input,
.admin-video-linker input {
  width: 100%;
  min-width: min(520px, 100%);
  padding: .78rem .9rem;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(0,0,0,.18);
  color: var(--text);
}
.wide-admin-item {
  grid-template-columns: minmax(180px, 1.1fr) minmax(250px, 2fr) auto auto;
  align-items: center;
}
.admin-content-main {
  display: grid;
  gap: .15rem;
}
.admin-video-linker {
  display: flex;
  gap: .5rem;
  align-items: center;
}
.tmdb-credit-note {
  margin-top: .9rem;
}
@media (max-width: 860px) {
  .tmdb-result,
  .wide-admin-item {
    grid-template-columns: 1fr;
  }
  .tmdb-thumb {
    width: 100%;
    height: 180px;
  }
  .admin-video-linker {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Streamland v5.7.1 : correction affiches accueil/catalogues.
   Les cartes utilisent maintenant une vraie image <img>, pas seulement une variable CSS background. */
.content-card .card-poster {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  overflow: hidden;
  background: linear-gradient(135deg, var(--g1), var(--g2));
}
.content-card .card-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(.98) brightness(.93);
}
.content-card .card-poster::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(16,18,24,0) 34%, rgba(16,18,24,.92) 100%);
}
.content-card .card-copy,
.content-card .badge,
.content-card .rank-number,
.content-card .card-gradient {
  position: relative;
  z-index: 2;
}
.content-card.has-poster {
  background-image: linear-gradient(135deg, var(--g1), var(--g2));
}

/* Streamland v5.7.2 : correction définitive des affiches dans Films/Séries/Accueil.
   La carte reste visible même si l'import TMDB a seulement un backdrop et pas un poster. */
.content-card {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}
.content-card .card-poster {
  display: block !important;
  opacity: 1 !important;
  pointer-events: none;
}
.content-card .card-poster img {
  opacity: 1 !important;
  background: linear-gradient(135deg, var(--g1), var(--g2));
}
.catalog-grid .content-card,
.card-row .content-card,
.ranked-row .content-card {
  background-size: cover;
  background-position: center;
}
.catalog-grid .content-card:not(.has-poster) {
  background: linear-gradient(135deg, rgba(143,124,255,.12), rgba(255,255,255,.06)), linear-gradient(135deg, var(--g1), var(--g2));
}

/* Streamland v5.7.3 — corrections chevauchements + page Avantage plus propre */
.topbar {
  grid-template-columns: auto minmax(0, 1fr) auto;
  column-gap: clamp(.7rem, 1.8vw, 1.4rem);
}
.desktop-nav {
  min-width: 0;
  overflow: hidden;
  justify-content: center;
}
.desktop-nav a {
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.top-actions {
  min-width: 0;
}
.icon-btn.search-trigger {
  width: clamp(220px, 24vw, 360px);
  min-width: 44px;
}
.profile-btn {
  white-space: nowrap;
}

.card-copy {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: .22rem;
  padding-right: .2rem;
}
.content-card h3,
.content-card p,
.content-card small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.content-card h3 {
  line-height: 1.08;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.content-card p,
.content-card small {
  line-height: 1.26;
  white-space: nowrap;
}
.catalog-grid .content-card {
  height: 190px;
}
.catalog-grid .content-card h3 {
  font-size: clamp(1rem, 1vw, 1.22rem);
}
.catalog-grid .content-card p,
.catalog-grid .content-card small {
  font-size: .74rem;
}
.card-row .content-card,
.ranked-row .content-card {
  min-width: 0;
}
.ranked-card .card-copy {
  padding-left: .1rem;
}
.rank-number {
  pointer-events: none;
}

.cinema-detail-copy,
.cinema-detail-copy h1,
.cinema-synopsis,
.cinema-meta,
.cinema-genres {
  min-width: 0;
  overflow-wrap: anywhere;
}
.cinema-detail-copy h1 {
  line-height: .9;
}
.cinema-actions {
  max-width: 100%;
}
.watch-main {
  min-width: min(100%, 280px);
}
.cast-member,
.tmdb-result,
.admin-content-item,
.wide-admin-item {
  min-width: 0;
}

.vip-page-pro {
  padding-top: 92px;
}
.vip-hero-pro {
  min-height: 540px;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 420px);
  background:
    linear-gradient(90deg, rgba(16,18,24,.96), rgba(22,25,35,.82) 55%, rgba(16,18,24,.96)),
    radial-gradient(circle at 82% 24%, rgba(143,124,255,.16), transparent 22rem),
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 22px 80px rgba(0,0,0,.32);
}
.vip-hero-pro::after {
  content: "VIP";
  right: -1rem;
  bottom: -2rem;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.10);
  opacity: .55;
}
.vip-hero-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}
.vip-hero-copy h1 {
  margin: .25rem 0 1rem;
  font-size: clamp(3.1rem, 7vw, 7.2rem);
  line-height: .88;
  max-width: 920px;
}
.vip-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 1.2rem 0 .25rem;
}
.vip-chip-row span {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.065);
  padding: .5rem .78rem;
  color: rgba(244,245,248,.82);
  font-weight: 850;
  font-size: .9rem;
}
.vip-status-card {
  position: relative;
  z-index: 1;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 28px;
  padding: 1.25rem;
  background: rgba(21,25,35,.74);
  backdrop-filter: blur(18px);
  box-shadow: 0 20px 70px rgba(0,0,0,.30);
  min-width: 0;
}
.vip-status-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.4rem;
}
.vip-status-top small,
.vip-status-card p {
  color: var(--muted);
}
.vip-badge-soft {
  display: inline-grid;
  place-items: center;
  width: 60px;
  height: 60px;
  border-radius: 18px;
  color: #fff;
  font-weight: 950;
  background: linear-gradient(135deg, rgba(143,124,255,.88), rgba(255,255,255,.13));
  box-shadow: 0 14px 38px rgba(143,124,255,.16);
}
.vip-status-card h2 {
  margin: 0 0 .55rem;
}
.vip-progress {
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
  margin: 1.2rem 0 .9rem;
}
.vip-progress span {
  display: block;
  width: 62%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(143,124,255,.9), rgba(255,255,255,.28));
}
.vip-benefits-pro article {
  min-height: 210px;
  background: linear-gradient(180deg, rgba(255,255,255,.062), rgba(255,255,255,.035));
  border-color: rgba(255,255,255,.10);
}
.vip-benefits-pro article:hover {
  transform: translateY(-3px);
  border-color: rgba(143,124,255,.22);
}
.vip-benefits-pro span {
  background: rgba(143,124,255,.12);
  border: 1px solid rgba(143,124,255,.18);
}
.vip-roadmap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 520px);
  gap: 1rem;
  margin-top: 1rem;
  padding: clamp(1.2rem, 4vw, 2rem);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 28px;
  background: rgba(21,25,35,.60);
  box-shadow: 0 18px 60px rgba(0,0,0,.24);
}
.vip-roadmap p {
  color: var(--muted);
  line-height: 1.65;
}
.vip-roadmap-grid {
  display: grid;
  gap: .75rem;
}
.vip-roadmap-grid article {
  display: grid;
  grid-template-columns: 44px 1fr;
  align-items: center;
  gap: .75rem;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  padding: .75rem;
}
.vip-roadmap-grid strong {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(143,124,255,.12);
  color: #fff;
}
.vip-roadmap-grid span {
  font-weight: 850;
}

@media (max-width: 1280px) {
  .desktop-nav { gap: .75rem; }
  .desktop-nav a { font-size: .72rem; }
  .icon-btn.search-trigger { width: clamp(190px, 22vw, 300px); }
}
@media (max-width: 1120px) {
  .desktop-nav { gap: .55rem; }
  .desktop-nav a { letter-spacing: .035em; }
  .profile-btn { max-width: 130px; overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 980px) {
  .topbar { grid-template-columns: 1fr auto auto; }
  .icon-btn.search-trigger { width: 44px; }
  .vip-hero-pro,
  .vip-roadmap { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .catalog-grid .content-card { height: 180px; }
  .content-card p,
  .content-card small { white-space: normal; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; }
  .vip-page-pro { padding-top: 76px; }
  .vip-hero-pro { padding: 1.2rem; border-radius: 20px; }
  .vip-hero-copy h1 { font-size: clamp(2.5rem, 15vw, 4.4rem); }
}

/* v5.7.4 — Historique par appareil + page Avantage nettoyée */
.text-action {
  border: 0;
  background: transparent;
  color: rgba(247,242,255,.58);
  font-weight: 800;
  font-size: .84rem;
  cursor: pointer;
  padding: .35rem .1rem;
}
.text-action:hover { color: #fff; }
.history-section {
  border-top: 1px solid rgba(255,255,255,.02);
}
.history-row {
  grid-auto-columns: minmax(245px, 17vw);
}
.history-card {
  min-height: 132px;
}
.history-label {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  margin-bottom: .32rem;
  padding: .22rem .44rem;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.78);
  font-size: .68rem;
  font-weight: 850;
  white-space: nowrap;
}
.history-card h3 {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vip-page-pro {
  background:
    radial-gradient(circle at 18% 8%, rgba(139,92,246,.10), transparent 28rem),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 32rem);
}
.vip-hero-pro {
  grid-template-columns: minmax(0, 1fr);
  min-height: 430px;
  align-items: center;
  background:
    linear-gradient(100deg, rgba(18,20,28,.94), rgba(26,28,38,.84)),
    radial-gradient(circle at 82% 22%, rgba(139,92,246,.12), transparent 24rem),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
}
.vip-hero-copy {
  max-width: 860px;
}
.vip-status-card,
.vip-progress,
.vip-status-top,
.vip-badge-soft {
  display: none !important;
}
.vip-benefits-pro article {
  min-height: 185px;
}
.vip-roadmap {
  background: rgba(24,27,36,.54);
}

@media (max-width: 650px) {
  .history-row { grid-auto-columns: minmax(230px, 74vw); }
  .section-title { align-items: flex-end; gap: .65rem; }
}

/* v5.7.5 — admin database card */
.admin-db-card{
  display:grid;
  gap:.55rem;
  padding:1rem;
  margin:1rem 0;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.035);
}
.admin-db-card code{
  display:block;
  white-space:normal;
  overflow-wrap:anywhere;
  color:var(--text);
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.07);
  border-radius:.75rem;
  padding:.7rem .8rem;
}
.empty-hero-placeholder{
  min-height:36rem;
  display:grid;
  place-items:center start;
}
.empty-hero-placeholder .empty-box{
  max-width:46rem;
  padding:2rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
  box-shadow:var(--shadow);
}
.empty-hero-placeholder .empty-box h1{margin:.35rem 0 1rem;}
.empty-hero-placeholder .empty-box p{color:var(--muted);line-height:1.7;}

/* v5.7.6 — tendances réelles + pub VIP + anti-abus */
.vip-ad-embed {
  margin: 1rem 0 .2rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.04));
  padding: .95rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.vip-ad-embed[hidden] { display: none !important; }
.vip-ad-embed-head {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  align-items: center;
  margin-bottom: .65rem;
}
.vip-ad-embed-head strong {
  font-size: 1rem;
  letter-spacing: .06em;
}
.vip-ad-embed-head span {
  color: var(--muted);
  font-weight: 800;
  font-size: .82rem;
  text-transform: uppercase;
}
.vip-ad-embed ul {
  margin: 0 0 .85rem 1.1rem;
  padding: 0;
  color: rgba(244,245,248,.84);
  line-height: 1.45;
}
.vip-price-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
}
.vip-price-grid span {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(0,0,0,.20);
  padding: .7rem .55rem;
  text-align: center;
}
.vip-price-grid strong {
  display: block;
  font-size: 1.04rem;
}
.vip-price-grid small {
  display: block;
  color: var(--muted);
  margin-top: .2rem;
}
.vip-pricing {
  margin-top: 1rem;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 28px;
  padding: clamp(1.2rem, 4vw, 2rem);
  background: rgba(21,25,35,.60);
  box-shadow: 0 18px 60px rgba(0,0,0,.22);
}
.vip-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.vip-price-card {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.03));
  padding: 1.2rem;
}
.vip-price-card h3 { margin: 0 0 .35rem; }
.vip-price-card strong { display: block; font-size: clamp(1.8rem, 4vw, 2.7rem); letter-spacing: -.05em; }
.vip-price-card p { color: var(--muted); }
.trend-note {
  color: var(--muted);
  font-size: .9rem;
}
@media (max-width: 760px) {
  .vip-price-grid,
  .vip-pricing-grid { grid-template-columns: 1fr; }
}

/* Profils utilisateurs */
.profiles-body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 50% 10%, rgba(139,92,246,.13), transparent 34rem),
    linear-gradient(180deg, #101115 0%, #0b0c10 100%);
}
.profiles-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: clamp(2rem, 7vw, 5rem) 1.25rem;
}
.profile-picker-card,
.profiles-gate {
  width: min(980px, 100%);
  text-align: center;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 32px;
  padding: clamp(1.4rem, 4vw, 3rem);
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  box-shadow: 0 32px 100px rgba(0,0,0,.36);
}
.profile-picker-card h1,
.profiles-gate h1 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.3rem, 6vw, 4.5rem);
  line-height: 1;
  margin: .25rem 0 2.4rem;
  letter-spacing: .025em;
}
.profile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: clamp(1rem, 2vw, 1.6rem);
  justify-items: center;
}
.profile-tile {
  width: min(190px, 100%);
  border-radius: 24px;
  padding: .5rem;
  border: 1px solid transparent;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.profile-tile:hover,
.profile-tile.active {
  transform: translateY(-3px);
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.045);
}
.profile-main {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  display: grid;
  justify-items: center;
  gap: .55rem;
  font: inherit;
}
.profile-avatar {
  width: 118px;
  height: 118px;
  border-radius: 28px;
  display: grid;
  place-items: center;
  font-size: 3rem;
  background:
    radial-gradient(circle at 28% 22%, rgba(255,255,255,.48), transparent 24%),
    linear-gradient(135deg, var(--profile-color), color-mix(in srgb, var(--profile-color) 48%, #0d0d12));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.30), 0 16px 40px rgba(0,0,0,.25);
}
.profile-main strong {
  font-size: 1.08rem;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-main small,
.profile-tools button,
.profiles-status { color: var(--muted); }
.profile-tools {
  margin-top: .55rem;
  display: flex;
  gap: .45rem;
  justify-content: center;
  flex-wrap: wrap;
}
.profile-tools button {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  padding: .35rem .6rem;
  background: rgba(255,255,255,.04);
  cursor: pointer;
}
.profile-tools button:hover { color: var(--text); border-color: rgba(255,255,255,.18); }
.add-profile-tile .profile-main {
  min-height: 176px;
  border: 1px dashed rgba(255,255,255,.18);
  border-radius: 26px;
  padding: 1rem;
  background: rgba(255,255,255,.025);
}
.profile-add-icon {
  width: 118px;
  height: 80px;
  border-radius: 24px;
  display: grid;
  place-items: center;
  font-size: 2.4rem;
  color: rgba(255,255,255,.72);
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
}
.profile-actions-row {
  margin-top: 2rem;
  display: flex;
  gap: .8rem;
  justify-content: center;
  flex-wrap: wrap;
}
.profile-editor {
  width: min(420px, calc(100% - 2rem));
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 28px;
  padding: 1.5rem;
  color: var(--text);
  background: #15171f;
  box-shadow: 0 30px 90px rgba(0,0,0,.5);
}
.profile-editor::backdrop { background: rgba(0,0,0,.68); backdrop-filter: blur(6px); }
.profile-editor .close-btn { position: absolute; top: .8rem; right: .8rem; }
.profile-editor form,
.profile-editor label { display: grid; gap: .55rem; }
.profile-editor form { gap: 1rem; margin-top: 1rem; }
.profile-editor input[type="text"] {
  width: 100%;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  color: var(--text);
  padding: .9rem 1rem;
}
.profile-editor input[type="color"] {
  width: 100%;
  height: 46px;
  border: 0;
  border-radius: 14px;
  background: transparent;
}
.profiles-status {
  position: fixed;
  left: 50%;
  bottom: 1.2rem;
  transform: translateX(-50%);
  text-align: center;
}
@media (max-width: 640px) {
  .profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-avatar { width: 94px; height: 94px; border-radius: 22px; font-size: 2.35rem; }
  .profile-picker-card h1, .profiles-gate h1 { margin-bottom: 1.4rem; }
}

/* Permissions admin */
.permissions-manager .ip-ban-form { margin-bottom: 18px; }
.admin-users-list, .admin-bans-list { display: grid; gap: 12px; margin-top: 16px; }
.admin-users-list h3, .admin-bans-list h3 { margin: 10px 0 2px; font-size: 1.05rem; }
.admin-user-row, .admin-ban-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
  border-radius: 16px;
}
.admin-user-main, .admin-ban-row > div { display: grid; gap: 4px; min-width: 0; }
.admin-user-main strong, .admin-ban-row strong { color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.admin-user-main small, .admin-ban-row small { color: var(--muted); }
.admin-user-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.admin-role-pill {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  color: var(--text);
  background: rgba(255,255,255,.06);
  font-weight: 800;
}
.admin-role-pill.owner { border-color: rgba(139,92,246,.35); background: rgba(139,92,246,.14); }
@media (max-width: 820px) {
  .admin-user-row, .admin-ban-row { align-items: stretch; flex-direction: column; }
  .admin-user-actions { justify-content: flex-start; }
}

/* Staff search + statistiques */
.admin-content-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin: 18px 0 8px;
}
.admin-content-toolbar input[type="search"] {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.055);
  color: var(--text);
  padding: 0 14px;
  outline: none;
}
.admin-content-toolbar input[type="search"]:focus {
  border-color: rgba(139,92,246,.32);
  box-shadow: 0 0 0 4px rgba(139,92,246,.08);
}
.stacked-linker {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto;
  gap: 8px;
  align-items: center;
}
.stacked-linker input {
  min-width: 0;
}
.staff-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.staff-stat-card {
  min-height: 112px;
  display: grid;
  gap: 8px;
  align-content: center;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(139,92,246,.10), transparent 42%),
    rgba(255,255,255,.035);
}
.staff-stat-card span {
  color: var(--muted);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
}
.staff-stat-card strong {
  color: var(--text);
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  line-height: 1;
}
.staff-stat-card small { color: var(--muted); line-height: 1.35; }
.stat-recent-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(255,255,255,.08);
}
.stat-recent-row span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--text); }
.stat-recent-row small { color: var(--muted); flex: 0 0 auto; }
@media (max-width: 1100px) {
  .staff-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stacked-linker { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .admin-content-toolbar { grid-template-columns: 1fr; }
  .staff-stats-grid { grid-template-columns: 1fr; }
}

/* V5.8.2 — épisodes staff + graphiques */
.admin-episode-manager {
  grid-column: 1 / -1;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  background: rgba(255,255,255,.025);
}
.admin-episode-manager summary {
  cursor: pointer;
  font-weight: 900;
  color: var(--text);
  letter-spacing: .01em;
}
.episode-admin-help,
.episode-add-grid,
.episode-edit-list {
  margin-top: 12px;
}
.episode-admin-help {
  display: grid;
  gap: 8px;
}
.episode-admin-help textarea {
  min-height: 104px;
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  border-radius: 14px;
}
.episode-add-grid,
.episode-edit-row {
  display: grid;
  grid-template-columns: 76px 90px minmax(160px, 1fr) minmax(240px, 1.5fr) auto;
  gap: 8px;
  align-items: center;
}
.episode-edit-row {
  padding: 8px 0;
  border-top: 1px solid rgba(255,255,255,.07);
}
.episode-edit-row input,
.episode-add-grid input {
  min-width: 0;
}
.episode-picker {
  display: grid;
  gap: 14px;
}
.episode-season-list {
  display: grid;
  gap: 14px;
}
.episode-season h3 {
  margin: 0 0 8px;
  color: var(--text);
  font-size: 1rem;
}
.episode-button-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.episode-chip {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: var(--text);
  border-radius: 999px;
  min-height: 36px;
  padding: 0 13px;
  font-weight: 800;
  cursor: pointer;
}
.episode-chip:hover {
  border-color: rgba(139,92,246,.32);
  background: rgba(139,92,246,.10);
}
.cinema-frame-caption {
  padding: 10px 12px;
  color: var(--muted);
  font-weight: 800;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.30);
}
.stats-range-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 4px 0 14px;
}
.chip-btn {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: var(--muted);
  border-radius: 999px;
  padding: 9px 14px;
  font-weight: 900;
  cursor: pointer;
}
.chip-btn.active,
.chip-btn:hover {
  color: var(--text);
  border-color: rgba(139,92,246,.34);
  background: rgba(139,92,246,.12);
}
.staff-stats-grid {
  display: grid;
  gap: 16px;
}
.staff-stats-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.staff-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.staff-chart-card {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 20px;
  padding: 16px;
  background:
    radial-gradient(circle at top right, rgba(139,92,246,.08), transparent 45%),
    rgba(255,255,255,.032);
  overflow: hidden;
}
.staff-chart-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}
.staff-chart-head strong { color: var(--text); }
.staff-chart-head small { color: var(--muted); }
.staff-chart-card svg {
  width: 100%;
  height: 180px;
  display: block;
}
.chart-axis { stroke: rgba(255,255,255,.14); stroke-width: 1; }
.chart-line { stroke: var(--accent); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 10px rgba(139,92,246,.28)); }
.chart-label { fill: rgba(255,255,255,.55); font-size: 11px; }
.bar-timeline {
  height: 180px;
  display: flex;
  align-items: end;
  gap: 5px;
  overflow: hidden;
}
.bar-slot {
  flex: 1 1 0;
  min-width: 7px;
  height: 100%;
  display: flex;
  align-items: end;
  position: relative;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
  background: rgba(255,255,255,.035);
}
.bar-slot small {
  position: absolute;
  left: 50%;
  bottom: 2px;
  transform: translateX(-50%) rotate(-68deg);
  transform-origin: center;
  color: rgba(255,255,255,.46);
  font-size: 9px;
  white-space: nowrap;
}
.bar-segment { display: block; width: 33.333%; border-radius: 8px 8px 0 0; }
.bar-segment.served { background: rgba(139,92,246,.75); }
.bar-segment.cached { background: rgba(148,163,184,.60); }
.bar-segment.errors { background: rgba(248,113,113,.80); }
.traffic-list { display: grid; gap: 10px; }
.traffic-row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.traffic-row span,
.traffic-row strong { position: relative; z-index: 2; }
.traffic-row span { color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.traffic-row strong { color: var(--text); }
.traffic-row em {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 999px;
  background: rgba(139,92,246,.55);
}
@media (max-width: 1180px) {
  .episode-add-grid,
  .episode-edit-row { grid-template-columns: 70px 80px 1fr; }
  .episode-add-grid input:nth-child(4),
  .episode-edit-row input:nth-child(4) { grid-column: 1 / -1; }
  .staff-stats-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .staff-chart-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .episode-add-grid,
  .episode-edit-row { grid-template-columns: 1fr; }
  .staff-stats-cards { grid-template-columns: 1fr; }
}

/* V5.8.3 — publication staff plus claire */
.publish-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 10px 0 16px;
}
.publish-step {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 2px 10px;
  align-items: center;
  min-height: 76px;
  text-align: left;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  color: var(--text);
  padding: 14px;
  cursor: pointer;
}
.publish-step strong {
  grid-row: 1 / 3;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(139,92,246,.12);
  border: 1px solid rgba(139,92,246,.20);
  color: var(--text);
}
.publish-step span {
  font-weight: 950;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.publish-step small { color: var(--muted); }
.publish-step.active,
.publish-step:hover {
  border-color: rgba(139,92,246,.32);
  background: rgba(139,92,246,.08);
}
.publish-help-card,
.quick-episodes-box {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 20px;
  background:
    radial-gradient(circle at top right, rgba(139,92,246,.08), transparent 45%),
    rgba(255,255,255,.03);
  padding: 16px;
  margin-bottom: 16px;
}
.publish-help-card strong { color: var(--text); font-size: 1.02rem; }
.publish-help-card p { color: var(--muted); margin: 6px 0 0; line-height: 1.55; }
.publish-help-card code,
.quick-episodes-box code {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  padding: 2px 6px;
  color: var(--text);
}
.publish-form input[type="text"],
.quick-episodes-form select,
.quick-episodes-form textarea {
  width: 100%;
}
.publish-action-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.quick-episodes-box.highlighted {
  border-color: rgba(139,92,246,.34);
  box-shadow: 0 0 0 4px rgba(139,92,246,.08);
}
.section-title.mini { margin-bottom: 8px; }
.section-title.mini h3 { margin: 0; font-size: 1.05rem; }
.quick-episodes-form textarea {
  min-height: 132px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.upload-box small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.35;
}
@media (max-width: 860px) {
  .publish-steps { grid-template-columns: 1fr; }
  .publish-step span { white-space: normal; }
}


/* V5.8.4 — correction admin : champs qui se chevauchaient dans la liste staff */
.content-manager {
  grid-column: 1 / -1;
}
.wide-admin-item.staff-content-card,
.staff-content-card {
  display: grid;
  grid-template-columns: 1fr !important;
  gap: 14px;
  align-items: stretch;
  overflow: hidden;
}
.admin-content-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
}
.admin-content-main {
  min-width: 0;
}
.admin-content-main strong,
.admin-content-main small,
.admin-content-main a {
  max-width: 100%;
  overflow-wrap: anywhere;
}
.admin-content-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  flex: 0 0 auto;
}
.admin-content-actions .btn {
  min-width: 0;
  white-space: nowrap;
}
.staff-content-card .stacked-linker {
  grid-column: 1 / -1;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.staff-content-card .stacked-linker input {
  width: 100%;
  min-width: 0 !important;
  max-width: 100%;
  box-sizing: border-box;
}
.staff-content-card .stacked-linker .btn {
  white-space: normal;
  min-height: 46px;
}
@media (max-width: 1100px) {
  .staff-content-card .stacked-linker {
    grid-template-columns: 1fr;
  }
  .admin-content-head {
    flex-direction: column;
  }
  .admin-content-actions {
    justify-content: flex-start;
  }
}


/* V5.8.5 — administration à onglets + upload simplifié */
.admin-tabbed-grid {
  display: block !important;
  margin-top: 1rem;
}
.admin-tabs {
  width: min(1180px, calc(100% - 2rem));
  margin: 1rem auto 0;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  background: rgba(255,255,255,.035);
  position: sticky;
  top: 62px;
  z-index: 30;
  backdrop-filter: blur(18px);
}
.admin-tab {
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  border-radius: 999px;
  min-height: 42px;
  padding: 0 16px;
  font-weight: 950;
  letter-spacing: .02em;
  white-space: nowrap;
  cursor: pointer;
}
.admin-tab.active,
.admin-tab:hover {
  color: var(--text);
  border-color: rgba(139,92,246,.24);
  background: rgba(255,255,255,.075);
}
[data-admin-tab-panel] {
  width: min(1180px, calc(100% - 2rem));
  margin-left: auto;
  margin-right: auto;
}
[data-admin-tab-panel][hidden] { display: none !important; }
.media-upload-manager,
.catalog-manager,
.content-manager {
  grid-column: 1 / -1;
}
.upload-workflow-card,
.upload-success-note {
  border: 1px solid rgba(139,92,246,.18);
  border-radius: 18px;
  background: rgba(139,92,246,.07);
  padding: 14px 16px;
  margin: 0 0 14px;
}
.upload-workflow-card strong { color: var(--text); }
.upload-workflow-card p { margin: 6px 0 0; color: var(--muted); line-height: 1.55; }
.upload-drop-zone {
  min-height: 150px;
  border: 1px dashed rgba(255,255,255,.20);
  border-radius: 24px;
  background: rgba(255,255,255,.035);
  display: grid;
  place-items: center;
  text-align: center;
  padding: 24px;
  cursor: pointer;
}
.upload-drop-zone:hover { border-color: rgba(139,92,246,.35); background: rgba(139,92,246,.055); }
.upload-drop-zone span { color: var(--text); font-size: 1.15rem; font-weight: 950; }
.upload-drop-zone small { max-width: 720px; color: var(--muted); line-height: 1.45; }
.upload-drop-zone input { margin-top: 10px; max-width: 100%; color: var(--muted); }
.uploaded-file-list { display: grid; gap: 10px; margin-top: 14px; }
.uploaded-file-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  padding: 12px;
}
.uploaded-file-row strong,
.uploaded-file-row small,
.uploaded-file-row code { display: block; }
.uploaded-file-row small { color: var(--muted); margin-top: 3px; }
.uploaded-file-row code {
  margin-top: 8px;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: rgba(255,255,255,.82);
  background: rgba(0,0,0,.18);
  border-radius: 10px;
  padding: 6px 8px;
}
.admin-link-editor {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 16px;
  background: rgba(0,0,0,.10);
}
.admin-link-editor label { display: grid; gap: 6px; min-width: 0; }
.admin-link-editor label span { color: var(--muted); font-weight: 900; font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; }
.admin-link-editor input { width: 100%; min-width: 0; box-sizing: border-box; }
.admin-link-editor .btn { justify-self: start; }
.catalog-manager .admin-content-list { gap: 14px; }
.catalog-manager .staff-content-card { padding: 16px; }
.media-upload-form .form-row,
.publish-form .form-row,
.tmdb-search-form .form-row {
  align-items: stretch;
}
.media-upload-form select,
.media-upload-form input,
.media-upload-form button,
.publish-form input,
.publish-form select,
.publish-form button {
  min-width: 0;
}
@media (max-width: 760px) {
  .admin-tabs { top: 56px; width: calc(100% - 1rem); }
  [data-admin-tab-panel] { width: calc(100% - 1rem); }
  .uploaded-file-row { grid-template-columns: 1fr; }
  .admin-content-actions { width: 100%; }
  .admin-content-actions .btn { flex: 1 1 140px; text-align: center; }
}

/* V5.8.6 — admin catalogue: upload direct sans chevauchement */
.clean-admin-card {
  width: 100%;
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  overflow: visible !important;
}
.clean-admin-card .admin-content-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}
.clean-admin-card .admin-content-actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  min-width: max-content;
}
.clean-admin-card .admin-content-actions .btn {
  position: static !important;
  transform: none !important;
  min-width: 92px;
  text-align: center;
}
.content-status-line {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .02em;
  border: 1px solid rgba(255,255,255,.08);
  color: var(--muted);
  background: rgba(255,255,255,.04);
}
.status-pill.ok { color: #c8f7dc; border-color: rgba(34,197,94,.22); background: rgba(34,197,94,.08); }
.status-pill.warn { color: #ffd7a3; border-color: rgba(245,158,11,.22); background: rgba(245,158,11,.08); }
.content-media-form {
  display: grid;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: rgba(255,255,255,.025);
  width: 100%;
  box-sizing: border-box;
}
.media-form-title {
  display: grid;
  gap: 4px;
}
.media-form-title strong { font-size: 1rem; }
.media-form-title small { color: var(--muted); line-height: 1.45; }
.media-form-grid {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
}
.media-form-grid label,
.episode-link-options,
.episode-mini-grid {
  min-width: 0;
}
.media-form-grid label {
  display: grid;
  gap: 7px;
}
.media-form-grid label span,
.episode-link-options span {
  color: var(--muted);
  font-weight: 950;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.media-form-grid input[type="text"],
.episode-mini-grid input {
  width: 100%;
  min-width: 0 !important;
  box-sizing: border-box;
}
.media-file-picker {
  border: 1px dashed rgba(255,255,255,.18);
  border-radius: 16px;
  padding: 12px;
  background: rgba(0,0,0,.12);
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease;
}
.media-file-picker:hover,
.media-file-picker.drag-over {
  border-color: rgba(139,92,246,.55);
  background: rgba(139,92,246,.08);
}
.media-file-picker input[type="file"] {
  width: 100%;
  min-width: 0;
  color: var(--muted);
  font-size: .84rem;
}
.media-file-picker em {
  color: var(--muted);
  font-size: .76rem;
  font-style: normal;
}
.episode-link-options {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.025);
}
.episode-mini-grid {
  display: grid;
  grid-template-columns: 110px 110px minmax(0,1fr);
  gap: 10px;
}
.media-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.media-form-actions .btn {
  position: static !important;
  transform: none !important;
  min-width: 160px;
}
.media-form-actions .form-status {
  flex: 1 1 240px;
  min-width: 0;
}
.admin-link-editor { display: none !important; }
@media (max-width: 980px) {
  .media-form-grid { grid-template-columns: 1fr; }
  .episode-mini-grid { grid-template-columns: 1fr; }
  .clean-admin-card .admin-content-head { grid-template-columns: 1fr; }
  .clean-admin-card .admin-content-actions { justify-content: flex-start; min-width: 0; }
  .media-form-actions .btn { flex: 1 1 180px; }
}

/* V5.8.9 — HUD discret, genres, trailers et admin plus lisible */
body,
button,
input,
select,
textarea {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  letter-spacing: 0.005em;
}
.profile-picker-card h1,
.profiles-gate h1,
.empty-box h1,
.pro-hero h1,
.hero h1,
.cinema-detail-copy h1 {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  letter-spacing: -0.055em;
}
.tiny,
.form-status,
.upload-box small,
.media-form-title small,
.trend-note {
  font-weight: 650;
  line-height: 1.45;
}
.nav-dropdown { position: relative; display: inline-flex; align-items: center; }
.nav-drop-trigger {
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .06em;
  padding: .7rem .3rem;
}
.nav-dropdown:hover .nav-drop-trigger,
.nav-dropdown:focus-within .nav-drop-trigger { color: var(--text); }
.nav-drop-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  width: min(620px, 88vw);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(15,16,22,.96);
  box-shadow: 0 22px 70px rgba(0,0,0,.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  z-index: 100;
}
.nav-dropdown:hover .nav-drop-menu,
.nav-dropdown:focus-within .nav-drop-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.nav-drop-menu a {
  display: block;
  padding: 9px 10px;
  border-radius: 12px;
  color: rgba(255,255,255,.82);
  font-size: .82rem;
  font-weight: 850;
  background: rgba(255,255,255,.025);
}
.nav-drop-menu a:hover { background: rgba(139,92,246,.12); color: var(--text); }
.mobile-genres { padding: .5rem 0; color: var(--muted); }
.mobile-genres summary { cursor: pointer; font-weight: 900; }
.mobile-genres div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 10px 0 0; }
.mobile-genres a { border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 8px; }

.cinema-detail-hero.has-trailer-preview { position: relative; overflow: hidden; }
.cinema-trailer-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .34;
  filter: saturate(.8) contrast(1.05);
  z-index: 0;
  pointer-events: none;
}
.cinema-trailer-fade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7,8,13,.94) 0%, rgba(7,8,13,.72) 38%, rgba(7,8,13,.28) 72%, rgba(7,8,13,.78) 100%),
    linear-gradient(180deg, rgba(7,8,13,.25) 0%, rgba(7,8,13,.96) 100%);
  z-index: 0;
  pointer-events: none;
}
.cinema-detail-hero > *:not(.cinema-trailer-bg):not(.cinema-trailer-fade) { position: relative; z-index: 1; }
@media (prefers-reduced-motion: reduce) { .cinema-trailer-bg { display: none; } }

.status-pill.ready,
.status-pill.playback.ready {
  color: #d9ffe8;
  border-color: rgba(34,197,94,.36);
  background: rgba(34,197,94,.14);
}
.status-pill.missing,
.status-pill.playback.missing {
  color: #ffd2d2;
  border-color: rgba(239,68,68,.34);
  background: rgba(239,68,68,.12);
}
.status-pill.muted {
  color: rgba(255,255,255,.60);
  border-color: rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}
.clean-admin-card {
  border-color: rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.035) !important;
}
.content-media-form {
  background: rgba(7,8,13,.40) !important;
  border-color: rgba(255,255,255,.10) !important;
}
.media-form-grid {
  grid-template-columns: minmax(170px, 230px) minmax(0, 1fr) !important;
}
.media-file-picker {
  min-height: 92px;
}
.media-form-actions .btn,
.admin-content-actions .btn {
  border-radius: 13px !important;
}
@media (max-width: 980px) {
  .media-form-grid { grid-template-columns: 1fr !important; }
  .nav-drop-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); left: 0; transform: translateY(8px); }
  .nav-dropdown:hover .nav-drop-menu,
  .nav-dropdown:focus-within .nav-drop-menu { transform: translateY(0); }
}

/* Streamland v5.9 — responsive HUD, typography and mobile menu fix */
:root {
  --font-main: "Segoe UI Variable", "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: "Segoe UI Variable Display", "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
  --surface-0: #080a10;
  --surface-1: rgba(18, 21, 31, .78);
  --surface-2: rgba(255, 255, 255, .075);
  --hud-line: rgba(226, 232, 240, .10);
  --hud-line-strong: rgba(226, 232, 240, .18);
}

html {
  width: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  width: 100%;
  overflow-x: hidden;
  font-family: var(--font-main);
  letter-spacing: -.01em;
  background:
    radial-gradient(circle at 12% -8%, rgba(147, 112, 219, .16), transparent 28rem),
    radial-gradient(circle at 88% 0%, rgba(59, 130, 246, .10), transparent 28rem),
    linear-gradient(180deg, #11141f 0%, #080a10 38%, #06070b 100%);
}
body.menu-open { overflow: hidden; }

button, a, input, select, textarea, summary { touch-action: manipulation; }
button, input, select, textarea { min-width: 0; font-size: 16px; }
button, a { -webkit-tap-highlight-color: transparent; }
img, video { max-width: 100%; height: auto; }

h1, h2, h3, .brand, .home-link, .section-title h2, .cinema-title, .admin-page h1 {
  font-family: var(--font-display);
  letter-spacing: -.055em;
}
p, small, .tiny, .hero-text, .form-status, .trend-note { line-height: 1.6; }

.btn, .profile-btn, .icon-btn, .hamburger, .ghost-link, .nav-drop-trigger,
.quick-tabs a, .quick-tabs button, .auth-tabs button, .admin-tabs button {
  font-family: var(--font-main);
  letter-spacing: .005em;
  font-weight: 850;
}
.btn.primary {
  background: linear-gradient(135deg, #ffffff, #e9e7ff);
  color: #090a10;
  box-shadow: 0 16px 45px rgba(255,255,255,.08);
}
.btn.secondary, .profile-btn, .icon-btn, .hamburger {
  background: rgba(255,255,255,.055);
  border-color: var(--hud-line-strong);
}
.btn:hover, .profile-btn:hover, .icon-btn:hover, .quick-tabs a:hover {
  transform: translateY(-1px);
  border-color: rgba(196, 181, 253, .35);
  background: rgba(255,255,255,.09);
}

.topbar {
  min-height: 66px !important;
  height: auto !important;
  padding: .65rem clamp(.9rem, 3vw, 3.5rem) !important;
  background: rgba(8, 10, 16, .76) !important;
  border-bottom: 1px solid rgba(226, 232, 240, .08) !important;
  box-shadow: 0 10px 35px rgba(0,0,0,.22);
}
.home-link {
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: rgba(245, 247, 255, .88);
}
.desktop-nav {
  gap: .25rem !important;
  padding: .25rem !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(226,232,240,.095) !important;
  max-width: 100%;
}
.desktop-nav a, .nav-drop-trigger {
  font-size: .78rem !important;
  text-transform: none !important;
  letter-spacing: .02em !important;
  color: rgba(245,247,255,.68) !important;
  white-space: nowrap;
}
.desktop-nav a.active, .desktop-nav a:hover, .nav-dropdown:hover .nav-drop-trigger {
  color: #fff !important;
  background: rgba(255,255,255,.085) !important;
}
.top-actions { min-width: 0; }
.icon-btn.search-trigger { min-width: 44px; }
.profile-btn { white-space: nowrap; }

.mobile-backdrop {
  position: fixed;
  inset: 0;
  z-index: 49;
  border: 0;
  background: rgba(0,0,0,.56);
  backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}
body.menu-open .mobile-backdrop { opacity: 1; pointer-events: auto; }
.mobile-panel {
  width: min(390px, 88vw) !important;
  background: rgba(14, 17, 27, .98) !important;
  border-left: 1px solid rgba(226,232,240,.10);
  transform: translate3d(110%,0,0);
  will-change: transform;
}
.mobile-panel.open { transform: translate3d(0,0,0) !important; }
.mobile-panel a, .mobile-panel .ghost-link, .mobile-genres summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(226,232,240,.09);
  background: rgba(255,255,255,.055);
  color: rgba(248,250,252,.92);
  font-size: .98rem;
}
.mobile-panel a:hover, .mobile-panel .ghost-link:hover { background: rgba(255,255,255,.10); }
.close-btn { z-index: 2; }
.hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
.hamburger span { transition: transform .18s ease, opacity .18s ease; }

/* Admin: no overlap, easier upload blocks */
.admin-page, .admin-shell, .admin-panel, .admin-content-item, .clean-admin-card { max-width: 100%; overflow: visible; }
.admin-content-item.clean-admin-card,
.admin-content-item.staff-content-card {
  display: block !important;
  padding: 1rem !important;
  border: 1px solid rgba(226,232,240,.10) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.045) !important;
}
.admin-content-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 1rem !important;
  align-items: start !important;
}
.admin-content-main { min-width: 0 !important; }
.admin-content-main strong, .admin-content-main small { display: block; overflow-wrap: anywhere; }
.admin-content-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .55rem !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
}
.content-media-form {
  margin-top: 1rem !important;
  padding: 1rem !important;
  border-radius: 20px !important;
  border: 1px solid rgba(226,232,240,.08) !important;
  background: rgba(8,10,16,.44) !important;
}
.media-form-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  gap: .8rem !important;
}
.media-form-grid label, .episode-link-options, .episode-mini-grid { min-width: 0 !important; }
.media-form-grid input, .media-form-grid select, .media-form-grid textarea,
.episode-mini-grid input, .episode-mini-grid select {
  width: 100% !important;
  min-width: 0 !important;
}
.media-form-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .7rem !important;
  align-items: center !important;
}
.media-form-actions .btn { flex: 0 1 auto; min-height: 44px; }
.status-pill { white-space: nowrap; }
.content-status-line { display: flex; flex-wrap: wrap; gap: .45rem; }

/* Responsive pages */
.catalog-page, .explore-page, .legal-page, .admin-page, .player-page, .profiles-page {
  width: min(100%, 1600px);
  margin-inline: auto;
}
.catalog-grid { gap: clamp(.9rem, 2vw, 1.25rem); }
.card-row, .ranked-row { scroll-padding-inline: 1rem; }
.card, .content-card, .poster-card { min-width: 0; }
.hero-actions, .cinema-actions, .detail-actions { gap: .65rem; }

@media (max-width: 1180px) {
  .topbar {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    gap: .75rem !important;
  }
  .desktop-nav { justify-self: center; }
  .desktop-nav a, .nav-drop-trigger { padding-inline: .7rem !important; }
}

@media (max-width: 980px) {
  .topbar {
    grid-template-columns: auto 1fr auto !important;
    position: sticky !important;
  }
  .desktop-nav { display: none !important; }
  .hamburger { display: grid !important; }
  .top-actions { justify-content: flex-end !important; }
  .icon-btn.search-trigger { width: 44px !important; padding: 0 !important; }
  .icon-btn.search-trigger em { display: none !important; }
  .hero-content { width: min(100%, 94vw); }
  .catalog-page, .explore-page, .legal-page, .admin-page, .player-page { padding-top: 78px !important; }
  .admin-content-head { grid-template-columns: 1fr !important; }
  .admin-content-actions { justify-content: flex-start !important; }
}

@media (max-width: 700px) {
  h1 { font-size: clamp(2.25rem, 14vw, 4.2rem) !important; line-height: .94 !important; }
  h2 { font-size: clamp(1.35rem, 8vw, 2rem) !important; }
  .topbar { min-height: 60px !important; padding: .5rem .75rem !important; }
  .home-link { font-size: .68rem !important; max-width: 32vw; overflow: hidden; text-overflow: ellipsis; }
  .profile-btn { max-width: 118px; padding-inline: .65rem !important; font-size: .76rem !important; overflow: hidden; text-overflow: ellipsis; }
  .hero { min-height: 76vh !important; }
  .hero-content { padding: 5.8rem 1rem 2.8rem !important; }
  .hero-actions .btn, .cinema-actions .btn, .media-form-actions .btn { width: 100%; }
  .quick-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; padding-inline: 1rem !important; }
  .content-section, .catalog-page, .explore-page, .legal-page, .admin-page, .player-page, .footer { padding-inline: 1rem !important; }
  .section-title { align-items: flex-start !important; flex-direction: column; }
  .card-row, .ranked-row { grid-auto-columns: minmax(220px, 82vw) !important; }
  .filters, .admin-tools, .media-form-grid, .episode-mini-grid { grid-template-columns: 1fr !important; }
  .admin-content-actions .btn { flex: 1 1 140px; }
  .content-media-form { padding: .85rem !important; }
  .mobile-panel { width: min(360px, 92vw) !important; }
}

@media (max-width: 420px) {
  .profile-btn { display: none !important; }
  .home-link { max-width: 44vw; }
  .btn, .quick-tabs a, .quick-tabs button { border-radius: 14px; }
  .toast { width: calc(100vw - 1.5rem); border-radius: 18px; text-align: center; }
}

/* v5.9.1 — Sources, qualités VIP et admin plus simple */
.staff-content-card.has-playback { border-color: rgba(34,197,94,.28) !important; box-shadow: inset 3px 0 0 rgba(34,197,94,.82); }
.staff-content-card.missing-playback { border-color: rgba(248,113,113,.26) !important; box-shadow: inset 3px 0 0 rgba(248,113,113,.80); }
.status-pill.playback.ready { color: #bff7d3; border-color: rgba(34,197,94,.35); background: rgba(34,197,94,.12); }
.status-pill.playback.missing { color: #fecaca; border-color: rgba(239,68,68,.36); background: rgba(239,68,68,.10); }
.source-admin-form { overflow: hidden !important; }
.source-admin-grid,
.quality-source-grid,
.file-linker-box {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .85rem;
  width: 100%;
}
.source-admin-grid label,
.quality-source-card,
.file-linker-options label {
  display: grid;
  gap: .45rem;
  min-width: 0;
}
.source-admin-grid input,
.quality-source-card input,
.file-linker-options input,
.file-linker-options select {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.quality-source-card {
  border: 1px solid rgba(226,232,240,.10);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  padding: .9rem;
}
.quality-source-card.vip-quality {
  border-color: rgba(168,85,247,.24);
  background: linear-gradient(135deg, rgba(168,85,247,.10), rgba(255,255,255,.025));
}
.quality-source-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
}
.quality-source-head strong { font-size: 1.05rem; }
.quality-source-head span {
  display: inline-flex;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  padding: .18rem .5rem;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 900;
}
.file-linker-box {
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) minmax(180px, .8fr) minmax(180px, .8fr);
  align-items: stretch;
}
.file-linker-options {
  display: grid;
  gap: .7rem;
  padding: .85rem;
  border-radius: 18px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(226,232,240,.08);
}
.source-dialog {
  width: min(560px, calc(100vw - 28px));
  border: 1px solid rgba(226,232,240,.12);
  border-radius: 24px;
  background: rgba(8,10,16,.98);
  color: var(--text);
  padding: 1.15rem;
  box-shadow: 0 30px 90px rgba(0,0,0,.65);
}
.source-dialog::backdrop { background: rgba(0,0,0,.68); backdrop-filter: blur(8px); }
.source-modal-head { padding-right: 2.4rem; margin-bottom: 1rem; }
.source-modal-head h3 { margin: 0; font-size: 1.35rem; }
.source-modal-head p { margin: .25rem 0 0; color: var(--muted); }
.source-groups { display: grid; gap: .9rem; }
.source-group h4 { margin: 0 0 .5rem; color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; }
.source-list { display: grid; gap: .55rem; }
.source-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: .8rem;
  width: 100%;
  border: 1px solid rgba(226,232,240,.09);
  border-radius: 14px;
  background: rgba(255,255,255,.055);
  color: var(--text);
  padding: .85rem;
  text-align: left;
  cursor: pointer;
}
.source-row:hover { background: rgba(255,255,255,.085); }
.source-row strong { color: #dbeafe; }
.source-row em { color: var(--muted); font-style: normal; font-weight: 900; }
.source-row.locked { opacity: .72; border-color: rgba(168,85,247,.22); }
.source-row.locked strong { color: #d8b4fe; }
.source-switch-btn {
  border: 1px solid rgba(226,232,240,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: var(--text);
  padding: .4rem .75rem;
  font-weight: 850;
  cursor: pointer;
}
.cinema-frame-caption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
}
@media (max-width: 920px) {
  .file-linker-box { grid-template-columns: 1fr; }
  .source-row { grid-template-columns: 1fr; }
  .source-admin-grid, .quality-source-grid { grid-template-columns: 1fr; }
}

/* Streamland v5.9.2 — refonte visuelle streaming + upload clair */
:root {
  --bg: #11131b;
  --bg-2: #171a24;
  --surface: rgba(25, 28, 39, .82);
  --surface-strong: rgba(31, 35, 48, .94);
  --card: rgba(24, 27, 38, .88);
  --border: rgba(255,255,255,.10);
  --text: #f6f7fb;
  --muted: #a6adbd;
  --muted-2: #7f8799;
  --accent: #8b5cf6;
  --accent-2: #c084fc;
  --danger: #ef4444;
  --success: #22c55e;
  --shadow-lg: 0 28px 90px rgba(0,0,0,.42);
  --radius-xl: 28px;
  --radius-lg: 18px;
  --font-main: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body {
  font-family: var(--font-main);
  color: var(--text);
  background:
    radial-gradient(circle at 12% 0%, rgba(139,92,246,.18), transparent 28rem),
    radial-gradient(circle at 88% 20%, rgba(192,132,252,.10), transparent 30rem),
    linear-gradient(180deg, #171923 0%, #11131b 42%, #0f1118 100%);
  letter-spacing: -.012em;
  text-rendering: geometricPrecision;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.035), transparent 34vh), radial-gradient(circle at center top, rgba(255,255,255,.04), transparent 40rem);
  z-index: -1;
}

.topbar.stream-hud, .topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 68px;
  padding: .75rem clamp(1rem, 4vw, 4.4rem);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(.8rem, 2vw, 2rem);
  background: rgba(12, 14, 20, .72);
  backdrop-filter: blur(20px) saturate(140%);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 16px 40px rgba(0,0,0,.22);
}

.brand-word, .home-link {
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 950;
  letter-spacing: -.04em;
  text-transform: none !important;
  color: #fff !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
}
.brand-word::before {
  content: "";
  width: .7rem;
  height: .7rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow: 0 0 22px rgba(139,92,246,.72);
}

.desktop-nav {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: .25rem;
  padding: .3rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}
.desktop-nav::-webkit-scrollbar { display: none; }
.desktop-nav a, .nav-drop-trigger {
  border: 0;
  color: var(--muted);
  text-decoration: none;
  text-transform: none;
  letter-spacing: -.01em;
  font-weight: 850;
  font-size: .92rem;
  padding: .64rem .92rem;
  border-radius: 999px;
  background: transparent;
  white-space: nowrap;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.desktop-nav a:hover, .nav-drop-trigger:hover, .desktop-nav a.active {
  color: #fff;
  background: rgba(139,92,246,.18);
}
.desktop-nav a.active { box-shadow: inset 0 0 0 1px rgba(192,132,252,.28); }

.top-actions { display: flex; justify-content: flex-end; align-items: center; gap: .6rem; min-width: 0; }
.search-trigger {
  min-width: clamp(44px, 18vw, 270px);
  justify-content: flex-start;
  border-radius: 999px !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  color: var(--muted) !important;
  padding: .65rem .9rem !important;
}
.search-trigger span { font-size: 1.1rem; color: #fff; }
.search-trigger em { font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.auth-cta, .profile-btn {
  border-radius: 999px !important;
  padding: .68rem 1rem !important;
  background: linear-gradient(135deg, rgba(139,92,246,.95), rgba(109,40,217,.95)) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 12px 30px rgba(109,40,217,.26);
  font-weight: 900 !important;
  white-space: nowrap;
}
.hamburger {
  display: none;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.06);
  cursor: pointer;
}
.hamburger span { background: #fff !important; height: 2px; border-radius: 4px; transition: transform .2s ease, opacity .2s ease; }
.hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.hero, .catalog-hero {
  border-radius: 0 0 var(--radius-xl) var(--radius-xl);
  overflow: hidden;
  min-height: clamp(430px, 58vh, 700px);
  margin-top: 0;
  background: linear-gradient(110deg, rgba(16,18,26,.96) 0%, rgba(20,22,32,.78) 42%, rgba(139,92,246,.10) 100%);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.06);
}
.hero-content, .catalog-hero { padding-inline: clamp(1rem, 5vw, 5.2rem); }
.hero h1, .catalog-hero h1, .detail-title, .admin-hero h1 {
  font-weight: 950;
  letter-spacing: -.065em;
  line-height: .9;
}
.hero h1, .catalog-hero h1 { font-size: clamp(3rem, 10vw, 7.5rem); }
.hero-text, .catalog-hero p { color: #d5d9e5; max-width: 680px; font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.65; }
.eyebrow {
  color: #c4b5fd !important;
  letter-spacing: .16em !important;
  font-weight: 950 !important;
}

.btn, button.btn, a.btn {
  border-radius: 14px !important;
  font-weight: 900 !important;
  letter-spacing: -.01em;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  box-shadow: none;
}
.btn.primary { background: #fff !important; color: #0f1118 !important; border-color: transparent !important; }
.btn.secondary { background: rgba(255,255,255,.08) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.12) !important; }
.btn.danger { background: rgba(239,68,68,.12) !important; color: #fecaca !important; border: 1px solid rgba(239,68,68,.26) !important; }
.btn:hover { transform: translateY(-1px); }

.card-row, .ranked-row, .catalog-grid {
  gap: clamp(.85rem, 1.5vw, 1.25rem) !important;
}
.content-card, .catalog-card, .poster-card, .admin-content-item, .clean-admin-card {
  border-radius: 20px !important;
  background: var(--card) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.22);
  overflow: hidden;
}
.card-image, .poster-img, .catalog-card .card-poster { border-radius: 18px !important; }
.content-card:hover, .catalog-card:hover, .poster-card:hover { transform: translateY(-4px); border-color: rgba(192,132,252,.32) !important; }

.filters, .admin-panel, .settings-card, .support-card, .vip-card, .explorer-tile {
  background: rgba(22,25,36,.78) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.24);
  border-radius: 24px !important;
}
input, select, textarea {
  font-family: var(--font-main) !important;
  background: rgba(255,255,255,.065) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: #fff !important;
  border-radius: 14px !important;
}
input::placeholder, textarea::placeholder { color: rgba(214,219,230,.55); }
input:focus, select:focus, textarea:focus { outline: 2px solid rgba(139,92,246,.42); outline-offset: 2px; }

/* Admin upload simplifié et lisible */
.source-admin-form {
  display: grid !important;
  gap: 1rem !important;
  padding: 1rem !important;
  margin-top: 1rem !important;
  background: rgba(255,255,255,.035) !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.source-admin-grid, .quality-source-grid, .file-linker-box, .media-form-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  gap: .85rem !important;
  width: 100% !important;
}
.media-form-actions { grid-template-columns: repeat(auto-fit, minmax(180px, max-content)) !important; align-items: center; }
.media-form-actions .form-status { grid-column: 1 / -1; min-height: 1.2rem; }
.media-file-picker {
  min-height: 132px;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  gap: .45rem;
  padding: 1rem !important;
  border: 1px dashed rgba(192,132,252,.36) !important;
  border-radius: 18px !important;
  background: rgba(139,92,246,.08) !important;
}
.media-file-picker.drag-over { background: rgba(139,92,246,.18) !important; border-color: rgba(216,180,254,.75) !important; }
.media-file-picker span { color: #fff; font-weight: 950; }
.media-file-picker em { color: var(--muted); font-style: normal; font-size: .9rem; }
.form-status { color: #c4b5fd; font-weight: 850; }
.has-playback .status-pill.playback.ready { background: rgba(34,197,94,.14) !important; color: #bbf7d0 !important; border-color: rgba(34,197,94,.32) !important; }
.missing-playback .status-pill.playback.missing { background: rgba(239,68,68,.13) !important; color: #fecaca !important; border-color: rgba(239,68,68,.32) !important; }

.explorer-page { padding: 0 clamp(1rem, 5vw, 5rem) 4rem; }
.explorer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-top: -4rem; position: relative; z-index: 2; }
.explorer-tile { min-height: 160px; padding: 1.2rem; color: #fff; text-decoration: none; display: flex; flex-direction: column; justify-content: flex-end; gap: .45rem; transition: transform .18s ease, border-color .18s ease; }
.explorer-tile:hover { transform: translateY(-4px); border-color: rgba(192,132,252,.36) !important; }
.explorer-tile span { width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; background: rgba(139,92,246,.18); color: #ddd6fe; font-weight: 950; }
.explorer-tile strong { font-size: 1.35rem; }
.explorer-tile small { color: var(--muted); line-height: 1.5; }
.explorer-tile.highlight { background: linear-gradient(135deg, rgba(139,92,246,.22), rgba(255,255,255,.04)) !important; }
.genre-chip-grid { display: flex; flex-wrap: wrap; gap: .7rem; }
.genre-chip-grid a { color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.06); border-radius: 999px; padding: .72rem 1rem; font-weight: 850; }
.genre-chip-grid a:hover { background: rgba(139,92,246,.18); }

.mobile-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: min(380px, 88vw);
  height: 100dvh;
  z-index: 100;
  display: flex !important;
  flex-direction: column;
  gap: .45rem;
  padding: 5rem 1rem 1.2rem;
  background: rgba(17,19,27,.96) !important;
  border-left: 1px solid rgba(255,255,255,.10);
  transform: translateX(105%);
  transition: transform .24s ease;
  box-shadow: -30px 0 80px rgba(0,0,0,.42);
}
.mobile-panel.open { transform: translateX(0); }
.mobile-panel a, .mobile-panel button.ghost-link, .mobile-genres summary {
  color: #fff !important;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  background: rgba(255,255,255,.055);
  padding: 1rem;
  font-weight: 900;
}
.close-btn { z-index: 120; }
.mobile-backdrop { position: fixed; inset: 0; z-index: 90; display: none; background: rgba(0,0,0,.55); backdrop-filter: blur(3px); border: 0; }
body.menu-open .mobile-backdrop { display: block; }
body.menu-open { overflow: hidden; }

@media (max-width: 980px) {
  .topbar.stream-hud, .topbar { grid-template-columns: auto 1fr auto; padding: .7rem 1rem; }
  .desktop-nav { display: none; }
  .hamburger { display: inline-grid; place-items: center; }
  .search-trigger { min-width: 44px; width: 44px; height: 44px; padding: 0 !important; justify-content: center; }
  .search-trigger em { display: none; }
  .auth-cta { display: none !important; }
  .hero, .catalog-hero { min-height: 470px; }
  .hero-actions, .detail-actions { display: grid !important; grid-template-columns: 1fr; width: 100%; }
  .hero-actions .btn, .detail-actions .btn { width: 100%; }
}

@media (max-width: 640px) {
  body { font-size: 15px; }
  .brand-word { font-size: 1.1rem; }
  .hero-content, .catalog-hero { padding-inline: 1rem; }
  .hero h1, .catalog-hero h1 { font-size: clamp(2.6rem, 16vw, 4.4rem); }
  .content-section, .catalog-page, .admin-page, .support-page, .vip-page { padding-inline: 1rem !important; }
  .filters { grid-template-columns: 1fr !important; padding: .9rem !important; }
  .source-admin-grid, .quality-source-grid, .file-linker-box, .media-form-actions { grid-template-columns: 1fr !important; }
  .admin-content-head, .admin-content-actions { flex-direction: column !important; align-items: stretch !important; }
  .admin-content-actions .btn { width: 100%; }
  .explorer-grid { margin-top: -2rem; grid-template-columns: 1fr; }
}

/* v5.9.3 — HUD streaming plus premium, sans retirer les fonctions existantes */
:root {
  --bg: #0b0b12;
  --bg-soft: #14141f;
  --card: rgba(255,255,255,.065);
  --card-strong: rgba(255,255,255,.105);
  --text: #f7f4ff;
  --muted: #b6b2c6;
  --line: rgba(255,255,255,.115);
  --accent: #8f5cff;
  --accent-2: #d53cff;
  --success: #25d07d;
  --danger: #ff4d6d;
  --radius: 18px;
}
body {
  font-family: ui-sans-serif, Inter, "Segoe UI", Roboto, Arial, sans-serif;
  background:
    radial-gradient(circle at 16% 0%, rgba(143,92,255,.20), transparent 34rem),
    radial-gradient(circle at 92% 8%, rgba(213,60,255,.12), transparent 30rem),
    linear-gradient(180deg, #11111c 0%, #0b0b12 42%, #09090e 100%);
  letter-spacing: -.01em;
}
.topbar.stream-hud,
.topbar {
  min-height: 68px;
  background: rgba(10,10,16,.72);
  border-bottom: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 12px 36px rgba(0,0,0,.25);
}
.brand-word {
  font-weight: 950;
  letter-spacing: -.05em;
  font-size: clamp(1.25rem, 2vw, 1.85rem);
  background: linear-gradient(135deg, #fff 20%, #cab8ff 55%, #9d6cff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.desktop-nav {
  background: rgba(255,255,255,.035);
  border-color: rgba(255,255,255,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.desktop-nav a {
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: .08em;
  color: #c9c3d8;
}
.desktop-nav a:hover,
.desktop-nav a.active {
  background: linear-gradient(135deg, rgba(143,92,255,.25), rgba(213,60,255,.14));
  color: #fff;
}
.profile-btn,
.btn.primary {
  background: linear-gradient(135deg, #ffffff, #ded7ff);
  color: #0a0a10;
  box-shadow: 0 14px 30px rgba(143,92,255,.16);
}
.btn.secondary,
.icon-btn,
.hamburger,
.ghost-link,
.quick-tabs a,
.quick-tabs button {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.12);
}
.hero {
  min-height: min(760px, 82vh);
}
.hero-bg {
  background:
    linear-gradient(90deg, rgba(9,9,14,.98) 0%, rgba(9,9,14,.72) 42%, rgba(9,9,14,.20) 100%),
    linear-gradient(0deg, #0b0b12 0%, transparent 46%),
    radial-gradient(circle at 72% 32%, rgba(143,92,255,.26), transparent 16rem),
    linear-gradient(135deg, #161420, #202033 46%, #0e0e15);
}
.hero-bg::after {
  content: "STREAMLAND";
  opacity: .075;
  color: #fff;
  text-shadow: 0 0 60px rgba(143,92,255,.55);
}
.eyebrow {
  color: #b493ff;
  letter-spacing: .16em;
}
h1, h2, h3 {
  text-wrap: balance;
}
.card,
.content-card,
.catalog-card,
.admin-card,
.panel-card,
.stat-card,
.review-card,
.collection-card {
  border-color: rgba(255,255,255,.10) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.24);
}
.card-poster,
.poster,
.media-thumb {
  background-color: #151522;
}
.card-title,
.catalog-title {
  font-weight: 900;
  letter-spacing: -.03em;
}
button,
.btn,
.profile-btn,
.admin-tab,
.nav-pill {
  transition: transform .15s ease, background .2s ease, border-color .2s ease, opacity .2s ease;
}
button:hover,
.btn:hover,
.profile-btn:hover {
  transform: translateY(-1px);
}
.admin-shell,
.admin-layout,
.admin-main {
  background: transparent;
}
.admin-panel,
.admin-section,
.admin-card {
  border-radius: 24px !important;
}
.media-file-picker,
.file-drop,
.upload-zone {
  border: 1px dashed rgba(180,147,255,.42) !important;
  background: rgba(143,92,255,.06) !important;
}
.media-file-picker.drag-over,
.file-drop.drag-over,
.upload-zone.drag-over {
  border-color: rgba(213,60,255,.78) !important;
  background: rgba(143,92,255,.13) !important;
}
.status-ready,
.badge-ready,
.has-playback {
  color: var(--success) !important;
}
.status-missing,
.badge-missing,
.no-playback {
  color: var(--danger) !important;
}
input, select, textarea {
  background: rgba(255,255,255,.075) !important;
  border-color: rgba(255,255,255,.13) !important;
  color: var(--text) !important;
  border-radius: 14px !important;
}
input:focus, select:focus, textarea:focus {
  outline: 2px solid rgba(143,92,255,.38);
  border-color: rgba(180,147,255,.62) !important;
}
.mobile-panel {
  background: rgba(12,12,20,.98);
}
.mobile-panel.open::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}
@media (max-width: 900px) {
  .topbar { padding: 0 .95rem; }
  .desktop-nav { display: none; }
  .hamburger { display: grid; }
  .profile-btn { padding: .7rem .85rem; font-size: .9rem; }
  .quick-tabs { grid-template-columns: repeat(2, 1fr); }
  .hero-content { padding: 7rem 1rem 3.2rem; width: 100%; }
  h1 { font-size: clamp(2.4rem, 16vw, 4.7rem); }
  .content-section { padding-inline: 1rem; }
  .card-row, .ranked-row { gap: .75rem; }
  .admin-grid, .admin-list, .form-grid { grid-template-columns: 1fr !important; }
  .admin-actions, .media-actions, .content-admin-actions { display: grid !important; grid-template-columns: 1fr !important; gap: .7rem !important; }
}
@media (max-width: 520px) {
  .brand-word { font-size: 1.22rem; }
  .icon-btn em { display: none; }
  .hero-actions { display: grid; }
  .btn { width: 100%; }
  .quick-tabs { grid-template-columns: 1fr; }
}

/* =========================================================
   Streamland v6.1 — Thème streaming premium noir/violet
   Objectif : rendu style plateforme VOD moderne, sans logo,
   lisible sur PC/tablette/téléphone, avec cache-busting HTML.
   ========================================================= */
:root {
  --bg: #111019;
  --bg-soft: #171622;
  --panel: rgba(24, 23, 35, .86);
  --panel-strong: rgba(30, 28, 43, .95);
  --card: rgba(255,255,255,.065);
  --card-strong: rgba(255,255,255,.115);
  --text: #fbfaff;
  --muted: #b7b0c8;
  --line: rgba(255,255,255,.115);
  --accent: #8b5cf6;
  --accent-2: #c084fc;
  --accent-3: #6d28d9;
  --success: #35d184;
  --danger: #ff5570;
  --warning: #facc15;
  --radius: 18px;
  --shadow: 0 28px 90px rgba(0, 0, 0, .34);
}

html { background: var(--bg); }
body.theme-v61,
body {
  font-family: Inter, "SF Pro Display", "Segoe UI", Roboto, Arial, sans-serif !important;
  color: var(--text);
  background:
    radial-gradient(circle at 18% -10%, rgba(139, 92, 246, .24), transparent 31rem),
    radial-gradient(circle at 88% 8%, rgba(192, 132, 252, .12), transparent 30rem),
    linear-gradient(180deg, #161520 0%, #111019 34%, #13121c 100%) !important;
  letter-spacing: -.012em;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.024) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.46), transparent 70%);
}

a { text-decoration: none; }
button, input, textarea, select { font-family: inherit !important; }

/* Header / HUD */
.topbar.stream-hud,
.topbar {
  position: sticky !important;
  top: 0;
  z-index: 80;
  min-height: 72px !important;
  padding: .8rem clamp(1rem, 4.5vw, 5rem) !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: clamp(.8rem, 2.2vw, 2rem) !important;
  align-items: center !important;
  background: linear-gradient(180deg, rgba(16, 15, 24, .94), rgba(16, 15, 24, .72)) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  backdrop-filter: blur(22px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(140%) !important;
  box-shadow: 0 12px 44px rgba(0,0,0,.28) !important;
}
.brand-word,
.home-link.brand-word {
  font-size: clamp(1.25rem, 2.15vw, 1.85rem) !important;
  line-height: 1;
  font-weight: 950 !important;
  letter-spacing: -.055em !important;
  text-transform: none !important;
  color: #fff !important;
  background: none !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 0 32px rgba(139, 92, 246, .38);
}
.brand-word::before,
.home-link.brand-word::before { display: none !important; }

.desktop-nav {
  justify-self: center;
  display: flex !important;
  align-items: center !important;
  gap: .18rem !important;
  padding: .32rem !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.045) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 12px 36px rgba(0,0,0,.18) !important;
}
.desktop-nav a,
.nav-drop-trigger {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .68rem .95rem !important;
  border-radius: 999px !important;
  color: #d5d0e5 !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase !important;
  border: 1px solid transparent !important;
  transition: background .18s ease, color .18s ease, transform .18s ease !important;
}
.desktop-nav a:hover,
.desktop-nav a.active,
.nav-drop-trigger:hover {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(139,92,246,.28), rgba(192,132,252,.15)) !important;
  border-color: rgba(192,132,252,.20) !important;
}
.top-actions { gap: .62rem !important; }
.search-trigger,
.icon-btn.search-trigger {
  width: auto !important;
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 .95rem !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .45rem;
}
.search-trigger em { font-style: normal; font-size: .86rem; font-weight: 800; color: #ded9ec; }
.profile-btn,
.auth-cta {
  min-height: 44px;
  padding: .76rem 1.08rem !important;
  border: 1px solid rgba(192,132,252,.30) !important;
  background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  box-shadow: 0 18px 42px rgba(109,40,217,.22) !important;
}
.profile-btn:hover,
.auth-cta:hover { transform: translateY(-1px); filter: brightness(1.08); }
.hamburger {
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.075) !important;
  border-radius: 999px !important;
}
.hamburger span { background: #fff !important; border-radius: 99px; }

/* Hero façon plateforme streaming */
.hero {
  min-height: min(760px, 78vh) !important;
  align-items: flex-end !important;
  border-bottom: 0 !important;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.06);
}
.hero-bg {
  background:
    linear-gradient(90deg, rgba(17,16,25,.98) 0%, rgba(17,16,25,.80) 38%, rgba(17,16,25,.30) 72%, rgba(17,16,25,.72) 100%),
    linear-gradient(0deg, #111019 0%, rgba(17,16,25,.72) 18%, transparent 55%),
    radial-gradient(circle at 74% 36%, rgba(139,92,246,.38), transparent 18rem),
    radial-gradient(circle at 82% 24%, rgba(255,255,255,.13), transparent 7rem),
    linear-gradient(135deg, #272238 0%, #191827 42%, #15141e 100%) !important;
}
.hero-bg::after {
  content: "STREAMLAND" !important;
  right: -4vw !important;
  bottom: 9vh !important;
  font-size: clamp(4rem, 14vw, 14rem) !important;
  opacity: .055 !important;
  -webkit-text-stroke: 1px rgba(255,255,255,.25);
  text-shadow: 0 0 90px rgba(139,92,246,.60) !important;
}
.hero-content {
  width: min(860px, 94vw) !important;
  padding: 9rem clamp(1rem, 4.5vw, 5rem) 5.4rem !important;
}
.empty-box,
.hero-card,
.hero-content > div {
  max-width: 760px;
}
.eyebrow {
  color: #c4b5fd !important;
  font-size: .77rem !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  font-weight: 950 !important;
}
h1 {
  max-width: 12ch;
  font-size: clamp(3.2rem, 8.8vw, 7.2rem) !important;
  line-height: .87 !important;
  letter-spacing: -.085em !important;
  margin: .35rem 0 1.05rem !important;
}
h2 {
  font-size: clamp(1.35rem, 2.9vw, 2.3rem) !important;
  line-height: 1.03;
  letter-spacing: -.055em !important;
}
h3 { letter-spacing: -.035em !important; }
.hero-text,
.catalog-hero p,
.explore-head p,
.legal-page p {
  color: #d8d2e8 !important;
  font-size: clamp(1rem, 1.7vw, 1.22rem) !important;
  line-height: 1.65 !important;
}
.hero-actions { gap: .75rem !important; margin-top: 1.8rem !important; }

/* Boutons premium */
.btn,
.card-actions a,
.card-actions button,
.text-action,
.admin-tab,
.social-auth button,
.auth-tabs button {
  border-radius: 999px !important;
  font-weight: 900 !important;
  letter-spacing: -.015em;
}
.btn.primary,
.auth-form .btn.primary {
  background: linear-gradient(135deg, #ffffff 0%, #eee9ff 50%, #c4b5fd 100%) !important;
  color: #100f18 !important;
  border-color: rgba(255,255,255,.35) !important;
  box-shadow: 0 18px 54px rgba(139,92,246,.20) !important;
}
.btn.secondary,
.quick-tabs a,
.quick-tabs button,
.icon-btn,
.ghost-link,
.card-actions a,
.card-actions button {
  background: rgba(255,255,255,.075) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}
.btn:hover,
.quick-tabs a:hover,
.card-actions a:hover,
.card-actions button:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(192,132,252,.36) !important;
  background: rgba(139,92,246,.17) !important;
}

/* Sections, carrousels, cartes */
.quick-tabs {
  padding: 1.35rem clamp(1rem, 4.5vw, 5rem) .7rem !important;
  display: flex !important;
  gap: .7rem !important;
  overflow-x: auto;
  scrollbar-width: none;
}
.quick-tabs::-webkit-scrollbar { display: none; }
.quick-tabs a,
.quick-tabs button {
  flex: 0 0 auto;
  min-width: 128px;
  padding: .82rem 1rem !important;
  text-align: center;
}
.content-section,
.catalog-page,
.explore-page,
.legal-page,
.player-page {
  padding-left: clamp(1rem, 4.5vw, 5rem) !important;
  padding-right: clamp(1rem, 4.5vw, 5rem) !important;
}
.content-section { padding-top: 1.25rem !important; padding-bottom: 1.25rem !important; }
.section-title {
  margin-bottom: .85rem !important;
  align-items: center !important;
}
.section-title a,
.text-action {
  color: #c4b5fd !important;
  font-weight: 850 !important;
}
.card-row,
.ranked-row {
  gap: .78rem !important;
  padding-bottom: 1.35rem !important;
  scroll-snap-type: x proximity;
}
.card-row .content-card,
.ranked-row .content-card {
  grid-auto-columns: unset;
  min-height: 265px !important;
  border-radius: 14px !important;
  scroll-snap-align: start;
}
.content-card {
  border: 1px solid rgba(255,255,255,.09) !important;
  background: linear-gradient(135deg, rgba(139,92,246,.18), rgba(255,255,255,.04)), linear-gradient(135deg, var(--g1), var(--g2)) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.28) !important;
  transform-origin: center;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
  overflow: hidden;
}
.content-card:hover {
  transform: translateY(-6px) scale(1.015) !important;
  border-color: rgba(192,132,252,.34) !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.34), 0 0 0 1px rgba(192,132,252,.08) !important;
}
.content-card::before { display: none !important; }
.content-card::after {
  width: 110%;
  height: 55%;
  left: 0;
  right: auto;
  top: auto;
  bottom: 0;
  border-radius: 0;
  background: linear-gradient(0deg, rgba(8,7,12,.92), rgba(8,7,12,.20), transparent) !important;
  filter: none !important;
  z-index: 1 !important;
}
.content-card .card-poster img {
  filter: saturate(1.04) contrast(1.03) brightness(.92) !important;
  transition: transform .28s ease, filter .28s ease;
}
.content-card:hover .card-poster img {
  transform: scale(1.045);
  filter: saturate(1.08) contrast(1.04) brightness(.98) !important;
}
.content-card .card-poster::after {
  background:
    linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.04) 40%, rgba(8,7,12,.94) 100%),
    linear-gradient(90deg, rgba(139,92,246,.10), transparent 60%) !important;
}
.card-copy {
  position: relative;
  z-index: 3 !important;
  gap: .25rem !important;
  padding: 0 .05rem .05rem !important;
}
.content-card h3 {
  font-size: 1.05rem !important;
  line-height: 1.06 !important;
  font-weight: 950 !important;
  letter-spacing: -.04em !important;
  color: #fff;
}
.content-card p,
.content-card small {
  color: #d8d2e8 !important;
  font-size: .82rem !important;
  line-height: 1.35 !important;
}
.badge {
  z-index: 4 !important;
  left: .8rem !important;
  top: .8rem !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #8b5cf6, #c084fc) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(139,92,246,.22);
}
.rank-number {
  color: rgba(255,255,255,.08) !important;
  -webkit-text-stroke: 2px rgba(255,255,255,.45) !important;
  text-shadow: 0 0 38px rgba(139,92,246,.35);
}
.catalog-grid {
  gap: .9rem !important;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important;
}
.catalog-grid .content-card { min-height: 320px !important; }
.collection-card,
.explorer-tile,
.panel-section,
.site-info-card,
.setting-card,
.admin-card,
.admin-panel,
.admin-section,
.stat-card,
.review-card,
.auth-dialog,
.search-overlay .result-item,
.result-item,
.list-item,
.catalog-hero,
.explore-head,
.legal-page {
  border: 1px solid rgba(255,255,255,.105) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.22) !important;
}
.collection-card {
  min-height: 148px !important;
  background:
    linear-gradient(135deg, rgba(139,92,246,.28), rgba(192,132,252,.08)),
    rgba(255,255,255,.055) !important;
}

/* Pages catalogue / recherche / formulaires */
.catalog-hero,
.explore-head,
.legal-page {
  background:
    linear-gradient(135deg, rgba(139,92,246,.20), rgba(255,255,255,.04)),
    var(--panel) !important;
  border-radius: 28px !important;
}
.filters {
  padding: .8rem !important;
  border-radius: 20px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
}
input,
select,
textarea,
.search-overlay input,
.filters input,
.filters select,
.auth-form input,
.support-form input,
.support-form select,
.support-form textarea {
  background: rgba(255,255,255,.075) !important;
  border: 1px solid rgba(255,255,255,.125) !important;
  color: #fff !important;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
input::placeholder,
textarea::placeholder { color: #958daa !important; }
input:focus,
select:focus,
textarea:focus {
  outline: 2px solid rgba(139,92,246,.36) !important;
  border-color: rgba(192,132,252,.58) !important;
}
select option { background: #171622 !important; color: #fff !important; }

/* Player : plus proche d'une plateforme streaming */
.video-shell,
.cinema-player,
.player-card {
  border-radius: 26px !important;
  background: #07060b !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.42) !important;
}
.video-placeholder {
  background:
    radial-gradient(circle at 50% 40%, rgba(139,92,246,.26), transparent 18rem),
    linear-gradient(135deg, #1f1b31, #0d0c13 58%, #14121f) !important;
}
.play-big {
  background: rgba(255,255,255,.92) !important;
  color: #111019 !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.35), 0 0 0 10px rgba(255,255,255,.08);
}
.progress span { background: linear-gradient(90deg, #8b5cf6, #c084fc) !important; }

/* Admin plus clair et professionnel */
.admin-page,
.admin-main,
.admin-shell { background: transparent !important; }
.admin-tabs,
.admin-sidebar,
.admin-nav {
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 22px !important;
}
.admin-tab.active,
.admin-nav a.active,
.admin-tab:hover,
.admin-nav a:hover {
  background: linear-gradient(135deg, rgba(139,92,246,.26), rgba(192,132,252,.12)) !important;
  color: #fff !important;
  border-color: rgba(192,132,252,.26) !important;
}
.media-file-picker,
.file-drop,
.upload-zone {
  border: 1px dashed rgba(192,132,252,.42) !important;
  background: rgba(139,92,246,.075) !important;
  border-radius: 20px !important;
}
.media-file-picker.drag-over,
.file-drop.drag-over,
.upload-zone.drag-over {
  border-color: rgba(192,132,252,.84) !important;
  background: rgba(139,92,246,.16) !important;
}
.status-pill,
.badge-ready,
.badge-missing {
  border-radius: 999px !important;
  font-weight: 950 !important;
}
.status-ready,
.badge-ready,
.has-playback .status-pill.playback.ready {
  background: rgba(53,209,132,.13) !important;
  border-color: rgba(53,209,132,.34) !important;
  color: #b7f7d4 !important;
}
.status-missing,
.badge-missing,
.missing-playback .status-pill.playback.missing {
  background: rgba(255,85,112,.12) !important;
  border-color: rgba(255,85,112,.34) !important;
  color: #ffd0d8 !important;
}

/* Search & auth */
.search-overlay {
  background: rgba(13,12,19,.96) !important;
  backdrop-filter: blur(24px) saturate(130%) !important;
}
.search-overlay label {
  font-weight: 950 !important;
  letter-spacing: -.065em !important;
}
.auth-dialog {
  background: linear-gradient(180deg, rgba(28,26,40,.98), rgba(16,15,24,.98)) !important;
  border-radius: 28px !important;
}
.auth-tabs button.active,
.social-auth button:hover {
  background: linear-gradient(135deg, rgba(139,92,246,.34), rgba(192,132,252,.16)) !important;
  color: #fff !important;
}
.toast {
  background: #fff !important;
  color: #111019 !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.28);
}

/* Menu mobile corrigé et élégant */
.mobile-panel {
  background: linear-gradient(180deg, rgba(24,23,35,.98), rgba(14,13,22,.98)) !important;
  border-left: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: -30px 0 90px rgba(0,0,0,.44) !important;
}
.mobile-panel a,
.mobile-panel button.ghost-link,
.mobile-genres summary {
  border-radius: 16px !important;
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.10) !important;
}
.mobile-panel a.active,
.mobile-panel a:hover,
.mobile-panel button.ghost-link:hover {
  background: linear-gradient(135deg, rgba(139,92,246,.25), rgba(192,132,252,.12)) !important;
}
.mobile-backdrop { background: rgba(7,6,11,.64) !important; }
.close-btn {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.12) !important;
}

/* Responsive */
@media (max-width: 1080px) {
  .desktop-nav a { padding-inline: .72rem !important; font-size: .72rem !important; }
  .search-trigger em { display: none !important; }
}
@media (max-width: 900px) {
  .topbar.stream-hud,
  .topbar { min-height: 66px !important; padding: .68rem 1rem !important; }
  .desktop-nav { display: none !important; }
  .hamburger { display: grid !important; place-items: center !important; }
  .auth-cta,
  .profile-btn { display: none !important; }
  .search-trigger { width: 44px !important; padding: 0 !important; }
  .hero { min-height: 560px !important; }
  .hero-content { padding: 7rem 1rem 3.4rem !important; }
  h1 { font-size: clamp(2.65rem, 15vw, 4.9rem) !important; max-width: 10ch; }
  .quick-tabs { padding-inline: 1rem !important; }
  .content-section,
  .catalog-page,
  .explore-page,
  .legal-page,
  .player-page { padding-left: 1rem !important; padding-right: 1rem !important; }
  .card-row,
  .ranked-row { grid-auto-columns: minmax(210px, 72vw) !important; }
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .75rem !important; }
  .catalog-grid .content-card { min-height: 275px !important; }
  .filters { grid-template-columns: 1fr !important; }
}
@media (max-width: 560px) {
  .brand-word,
  .home-link.brand-word { font-size: 1.18rem !important; }
  .hero { min-height: 520px !important; }
  .hero-actions { display: grid !important; grid-template-columns: 1fr !important; }
  .btn { width: 100%; }
  .quick-tabs a,
  .quick-tabs button { min-width: 116px; padding: .75rem .9rem !important; }
  .catalog-grid { grid-template-columns: 1fr 1fr !important; }
  .catalog-grid .content-card { min-height: 250px !important; padding: .75rem !important; }
  .content-card h3 { font-size: .96rem !important; }
  .content-card p,
  .content-card small { font-size: .76rem !important; }
  .collection-grid,
  .grid { grid-template-columns: 1fr !important; }
}


/* v6.2 — Upload sans limite applicative + rendu mobile stable */
html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  overscroll-behavior-x: none;
}
img, video, iframe, canvas, svg { max-width: 100%; height: auto; }
button, a, input, select, textarea { touch-action: manipulation; }
input, select, textarea { font-size: 16px !important; }
.topbar.stream-hud,
.topbar {
  width: 100%;
  max-width: 100vw;
  left: 0;
  right: 0;
}
.mobile-panel {
  max-width: 100vw !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding-top: calc(4.6rem + env(safe-area-inset-top)) !important;
  padding-bottom: calc(1.2rem + env(safe-area-inset-bottom)) !important;
}
.mobile-backdrop { touch-action: none; }
body.menu-open { position: fixed; width: 100%; inset-inline: 0; }
.admin-page, .catalog-page, .explore-page, .player-page, .profiles-page, .content-section {
  max-width: 100vw;
}
.source-admin-form,
.media-form-grid,
.source-admin-grid,
.quality-source-grid,
.file-linker-box,
.media-form-actions,
.admin-content-item,
.admin-content-head,
.admin-content-actions {
  min-width: 0 !important;
}
.media-file-picker input[type="file"] {
  max-width: 100%;
  white-space: normal;
}
.form-status, .upload-success-note, .tiny, .admin-content-main small {
  overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  .topbar.stream-hud, .topbar {
    position: sticky !important;
    top: 0;
    display: grid !important;
    grid-template-columns: minmax(0, auto) 1fr auto !important;
    gap: .55rem !important;
    padding: calc(.55rem + env(safe-area-inset-top)) .8rem .55rem !important;
  }
  .brand-word, .home-link.brand-word { max-width: 46vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .top-actions { gap: .45rem !important; }
  .hamburger, .search-trigger { flex: 0 0 44px !important; }
  .mobile-panel { width: min(420px, 94vw) !important; }
  .hero-content, .catalog-hero { width: 100% !important; }
  .admin-shell, .admin-panel, .dashboard-grid, .stats-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 560px) {
  .mobile-panel { width: 100vw !important; border-left: 0 !important; }
  .topbar.stream-hud, .topbar { min-height: 60px !important; }
  .brand-word, .home-link.brand-word { max-width: 54vw; font-size: 1.05rem !important; }
  .content-section, .catalog-page, .explore-page, .admin-page, .player-page, .profiles-page, .footer {
    padding-left: .85rem !important;
    padding-right: .85rem !important;
  }
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .card-row, .ranked-row { grid-auto-columns: minmax(190px, 78vw) !important; }
  .source-admin-grid, .quality-source-grid, .file-linker-box, .media-form-actions, .media-form-grid {
    grid-template-columns: 1fr !important;
  }
  .media-form-actions .btn, .admin-content-actions .btn { width: 100% !important; }
}
@media (max-width: 380px) {
  .catalog-grid { grid-template-columns: 1fr !important; }
  .brand-word, .home-link.brand-word { max-width: 48vw; }
}

/* v6.4 - correctif lecteur : évite les modales invisibles / fond flou bloqué */
dialog.source-dialog[open],
dialog.ad-dialog[open],
dialog.watch-dialog[open] {
  opacity: 1 !important;
  visibility: visible !important;
}
.source-dialog {
  z-index: 9999;
}
.watch-dialog {
  z-index: 10000;
}
.ad-dialog {
  z-index: 9998;
}
.stream-video {
  width: 100%;
  max-height: min(78vh, 760px);
  background: #000;
}
.cinema-frame {
  background: #000;
}

/* v6.5 — lecteur simplifié : une source automatique, admin plus clair */
.source-switch-btn,
.source-dialog,
.source-groups,
.quality-source-grid,
.quality-source-card {
  display: none !important;
}
.source-switch-label {
  color: var(--muted, #aeb3c2);
  font-size: .85rem;
  letter-spacing: .02em;
}
.simple-media-form {
  overflow: visible;
}
.simple-source-grid {
  grid-template-columns: minmax(260px, 1.4fr) minmax(220px, 1fr) minmax(220px, 1fr);
  align-items: end;
}
.simple-source-grid input {
  min-width: 0;
}
.simple-file-linker {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 14px;
}
.simple-file-linker .inline-check,
.simple-file-linker .episode-mini-grid {
  grid-column: 1 / -1;
}
@media (max-width: 900px) {
  .simple-source-grid,
  .simple-file-linker {
    grid-template-columns: 1fr;
  }
}

/* Streamland v6.6 — lecteur fiable sans dialog natif + titres rotatifs + affiches responsive */
.hero-rotator {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin-top: 1.15rem;
}
.hero-dot {
  width: 2.25rem;
  height: .32rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.22);
  cursor: pointer;
  transition: width .2s ease, background .2s ease, transform .2s ease;
}
.hero-dot:hover { transform: translateY(-1px); background: rgba(255,255,255,.42); }
.hero-dot.active { width: 3.4rem; background: linear-gradient(90deg, #a78bfa, #7c3aed); box-shadow: 0 0 22px rgba(124,58,237,.35); }

body.stream-overlay-open { overflow: hidden; }
.stream-overlay,
.ad-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: clamp(.75rem, 2vw, 1.5rem);
  background: rgba(3,4,8,.86);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.stream-player-modal {
  width: min(1180px, 96vw);
  max-height: 92vh;
  display: grid;
  gap: .75rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  background: rgba(10,12,18,.96);
  box-shadow: 0 40px 120px rgba(0,0,0,.65);
  padding: .85rem;
}
.stream-player-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .25rem .25rem .2rem .65rem;
}
.stream-player-top strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
  font-weight: 950;
  letter-spacing: -.03em;
}
.stream-overlay-close {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 1.35rem;
  cursor: pointer;
}
.stream-overlay-close:hover { background: rgba(168,85,247,.22); }
.stream-video-live,
.stream-player-modal .stream-video {
  width: 100%;
  height: min(72vh, 720px);
  display: block;
  background: #000;
  border-radius: 18px;
  object-fit: contain;
}
.stream-player-hint {
  margin: 0 .35rem .15rem;
  color: rgba(226,232,240,.62);
}
.ad-overlay .ad-box {
  width: min(980px, 95vw);
  max-height: 92vh;
  overflow: auto;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(16,18,26,.98);
  box-shadow: 0 40px 120px rgba(0,0,0,.68);
  position: relative;
}
.ad-close-soft { position: absolute; top: .8rem; right: .8rem; z-index: 2; }

.content-card .card-poster,
.catalog-card .card-poster,
.poster-card .card-poster,
.card-poster {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(139,92,246,.12), rgba(255,255,255,.04));
}
.content-card .card-poster img,
.catalog-card .card-poster img,
.poster-card .card-poster img,
.card-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.catalog-grid {
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
}
@media (max-width: 760px) {
  .stream-overlay, .ad-overlay { padding: .55rem; align-items: end; }
  .stream-player-modal { width: 100%; border-radius: 18px; padding: .55rem; }
  .stream-video-live, .stream-player-modal .stream-video { height: 56vh; border-radius: 14px; }
  .stream-player-top strong { font-size: .95rem; }
  .ad-overlay .ad-box { width: 100%; border-radius: 22px 22px 0 0; }
  .hero-dot { width: 1.55rem; }
  .hero-dot.active { width: 2.45rem; }
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Patch v6.7 — page de lecture dédiée, sans bug de flou/modal */
.watch-page {
  width: min(1480px, calc(100vw - 32px));
  margin: 6.5rem auto 4rem;
  color: var(--text);
}
.watch-hero-player {
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(19,22,31,.92), rgba(10,11,16,.96));
  box-shadow: 0 28px 100px rgba(0,0,0,.45);
  overflow: hidden;
}
.watch-topline,
.watch-title-row,
.watch-controls-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.35rem;
}
.watch-topline {
  border-bottom: 1px solid rgba(255,255,255,.07);
  color: rgba(236,240,248,.72);
  font-size: .92rem;
}
.watch-back {
  color: rgba(236,240,248,.88);
  text-decoration: none;
  font-weight: 800;
}
.watch-title-row h1 {
  margin: .1rem 0 .35rem;
  font-size: clamp(1.6rem, 4vw, 3.25rem);
  letter-spacing: -.04em;
}
.watch-title-row p { margin: 0; color: rgba(236,240,248,.7); }
.watch-video-frame {
  background: #000;
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.watch-video {
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: calc(100vh - 260px);
  min-height: 360px;
  display: block;
  background: #000;
}
.watch-controls-strip {
  justify-content: flex-start;
  flex-wrap: wrap;
  color: rgba(236,240,248,.72);
}
.watch-controls-strip span {
  padding: .55rem .75rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.07);
}
.watch-help { padding: 0 1.35rem 1.1rem; }
.watch-panel {
  margin-top: 1rem;
  padding: 1.25rem;
  border-radius: 22px;
  background: rgba(18,20,29,.82);
  border: 1px solid rgba(255,255,255,.08);
}
.watch-panel h2 { margin: 0 0 .8rem; }
.watch-episode-list { display: grid; gap: .65rem; }
.watch-episode-row {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: .85rem 1rem;
  border-radius: 16px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.07);
  color: var(--text);
  text-decoration: none;
}
.watch-episode-row.active,
.watch-episode-row:hover {
  border-color: rgba(139,92,246,.42);
  background: rgba(139,92,246,.12);
}
.watch-episode-row span { color: var(--accent); font-weight: 900; }
.watch-episode-row em { color: rgba(236,240,248,.55); font-style: normal; }
.watch-empty {
  min-height: 58vh;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 2rem;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(18,20,29,.78);
}
.watch-ad-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(3,4,8,.78);
  backdrop-filter: blur(14px);
}
.watch-ad-card {
  width: min(720px, 96vw);
  border-radius: 28px;
  padding: 1.4rem;
  background: linear-gradient(145deg, rgba(24,26,38,.98), rgba(14,15,21,.98));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 30px 120px rgba(0,0,0,.65);
}
.watch-ad-card h2 { margin: .2rem 0 .7rem; font-size: clamp(1.6rem, 5vw, 2.7rem); }
.watch-vip-mini {
  margin: 1rem 0;
  padding: 1rem;
  border-radius: 20px;
  background: rgba(139,92,246,.11);
  border: 1px solid rgba(139,92,246,.28);
  display: grid;
  gap: .3rem;
}
.watch-vip-mini strong { color: #fff; }
.watch-vip-mini span { color: rgba(236,240,248,.72); }
.watch-ad-actions { display: flex; gap: .75rem; flex-wrap: wrap; }
@media (max-width: 760px) {
  .watch-page { width: min(100vw - 18px, 100%); margin-top: 5.2rem; }
  .watch-hero-player { border-radius: 18px; }
  .watch-topline, .watch-title-row, .watch-controls-strip { padding: .85rem; }
  .watch-title-row { align-items: flex-start; flex-direction: column; }
  .watch-video { min-height: 220px; max-height: 64vh; }
  .watch-episode-row { grid-template-columns: 64px minmax(0, 1fr); }
  .watch-episode-row em { grid-column: 2; }
}

/* v6.8 — lecteur dédié : sources, sous-titres et plein écran */
.watch-video-frame video::-webkit-media-controls-enclosure { overflow: hidden; }
.pro-watch-strip {
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.pro-watch-strip .compact {
  min-height: 34px;
  padding: 8px 12px;
  font-size: 0.85rem;
}
.watch-source-panel-inline {
  margin: 14px 0 0;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(124,58,237,.07));
}
.watch-source-panel-inline h3 {
  margin: 0 0 10px;
  font-size: .95rem;
  color: rgba(255,255,255,.88);
  letter-spacing: .02em;
}
.watch-source-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.source-chip {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.82);
  padding: 10px 14px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.source-chip:hover { transform: translateY(-1px); border-color: rgba(168,85,247,.55); }
.source-chip.active {
  background: linear-gradient(135deg, rgba(124,58,237,.85), rgba(168,85,247,.72));
  color: white;
  border-color: rgba(216,180,254,.7);
}
.watch-ad-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(14px);
  padding: 18px;
}
.watch-ad-card {
  width: min(560px, 100%);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 26px;
  background: radial-gradient(circle at top left, rgba(124,58,237,.28), rgba(12,14,22,.96) 46%, rgba(7,8,12,.98));
  box-shadow: 0 24px 80px rgba(0,0,0,.55);
  padding: 26px;
}
.watch-vip-mini {
  margin: 16px 0;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  display: grid;
  gap: 6px;
}
.watch-ad-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 720px) {
  .watch-hero-player { padding: 14px; }
  .watch-title-row { gap: 14px; }
  .watch-title-row h1 { font-size: clamp(2rem, 15vw, 4.6rem); }
  .watch-controls-strip span { width: 100%; }
  .pro-watch-strip .btn { width: 100%; justify-content: center; }
  .source-chip { width: 100%; text-align: center; }
}

/* Streamland v6.9 — affiches hero + vraie IP + responsive multi-écrans */
:root {
  --safe-x: clamp(1rem, 4vw, 5rem);
}
.hero-content {
  width: min(1500px, calc(100% - 2rem)) !important;
  margin-inline: auto !important;
  padding-left: var(--safe-x) !important;
  padding-right: var(--safe-x) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 620px) minmax(220px, 360px) !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(1.5rem, 6vw, 6rem) !important;
}
.hero-copy-block {
  min-width: 0;
  position: relative;
  z-index: 2;
}
.hero-poster-showcase {
  position: relative;
  display: block;
  width: min(34vw, 360px);
  aspect-ratio: 2 / 3;
  border-radius: 26px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 32px 100px rgba(0,0,0,.58), 0 0 70px rgba(139,92,246,.18);
  transform: perspective(900px) rotateY(-7deg) translateY(1rem);
  background: linear-gradient(135deg, rgba(139,92,246,.18), rgba(255,255,255,.06));
}
.hero-poster-showcase::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,.34));
  pointer-events: none;
}
.hero-poster-showcase img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.hero-bg {
  filter: saturate(1.05) contrast(1.02);
}
.content-card,
.history-card {
  aspect-ratio: 16 / 9;
  min-height: 0 !important;
  height: auto !important;
}
.catalog-grid .content-card {
  aspect-ratio: 16 / 9;
  height: auto !important;
}
.content-card .card-poster img {
  object-position: center center;
}
.content-card:not(.has-poster) {
  background:
    radial-gradient(circle at 78% 24%, rgba(139,92,246,.18), transparent 12rem),
    linear-gradient(135deg, var(--g1), var(--g2)) !important;
}
.detail-poster-card {
  width: 100%;
  max-height: 430px;
  object-fit: cover;
  object-position: center;
  border-radius: 22px;
  margin-bottom: 1.2rem;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 22px 60px rgba(0,0,0,.35);
}
.cinema-detail-hero {
  background-size: cover !important;
  background-position: center right !important;
}
.cinema-detail-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 72% 36%, rgba(139,92,246,.16), transparent 24rem),
    linear-gradient(90deg, rgba(8,9,13,.92), transparent 55%, rgba(8,9,13,.45));
  z-index: 0;
}
.cinema-detail-copy,
.cinema-detail-card {
  position: relative;
  z-index: 2;
}
.watch-hero-player {
  width: min(100% - 2rem, 1500px) !important;
}
.watch-video-frame {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  max-height: min(76vh, 820px);
  background: #000;
}
.watch-video {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background: #000;
}
.watch-title-row,
.watch-controls-strip,
.watch-source-panel-inline,
.watch-panel {
  max-width: 100%;
}
.admin-user-row code {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 8px;
  padding: .12rem .36rem;
  color: #f1edff;
}
@media (max-width: 980px) {
  .hero {
    min-height: auto !important;
    padding-top: 6rem;
  }
  .hero-content {
    grid-template-columns: 1fr !important;
    padding: 5rem 1rem 3rem !important;
    gap: 1.2rem !important;
  }
  .hero-poster-showcase {
    width: min(62vw, 280px);
    transform: none;
    order: -1;
    justify-self: center;
  }
  .hero h1 { font-size: clamp(2.6rem, 14vw, 5rem) !important; }
  .hero-text { max-width: 100% !important; }
  .cinema-detail-hero {
    min-height: auto !important;
    padding: 6rem 1rem 6rem !important;
    background-position: center top !important;
  }
  .cinema-detail-hero::after {
    background: linear-gradient(180deg, rgba(8,9,13,.68), rgba(8,9,13,.98) 72%);
  }
  .cinema-detail-body {
    margin-top: -2rem !important;
    width: calc(100% - 1rem) !important;
  }
  .content-card,
  .catalog-grid .content-card,
  .history-card {
    aspect-ratio: 2 / 3;
  }
  .card-row,
  .ranked-row {
    grid-auto-columns: minmax(150px, 42vw) !important;
  }
  .watch-hero-player {
    width: 100% !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }
  .watch-title-row {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .watch-controls-strip {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 560px) {
  .topbar { padding-inline: .75rem !important; }
  .hero-content { width: 100% !important; }
  .hero-poster-showcase { width: min(70vw, 240px); }
  .hero-actions .btn,
  .cinema-actions .btn,
  .watch-controls-strip .btn {
    width: 100%;
  }
  .hero-actions,
  .cinema-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .7rem !important;
  }
  .content-card h3 { font-size: .95rem !important; }
  .content-card p,
  .content-card small { font-size: .68rem !important; }
  .watch-video-frame { aspect-ratio: 16 / 9 !important; }
  .watch-controls-strip { grid-template-columns: 1fr !important; }
}

/* Streamland v6.10 — espaces, hero background, responsive affiches/lecteur */
:root {
  --page-gap: clamp(2.2rem, 4.2vw, 4.8rem);
  --row-gap: clamp(1.05rem, 1.8vw, 1.7rem);
}

/* La marque géante “STREAMLAND” n’apparaît plus dans le hero. */
.hero-bg::after {
  content: none !important;
  display: none !important;
}

.hero {
  min-height: clamp(560px, 78vh, 820px) !important;
  border-radius: 0 0 clamp(22px, 2.8vw, 44px) clamp(22px, 2.8vw, 44px);
}
.hero-bg {
  background-size: cover !important;
  background-position: center center !important;
  transform: scale(1.01);
}
.hero-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 76% 42%, rgba(150, 118, 255, .16), transparent 23rem),
    linear-gradient(90deg, rgba(8,8,13,.98) 0%, rgba(8,8,13,.78) 35%, rgba(8,8,13,.30) 68%, rgba(8,8,13,.90) 100%),
    linear-gradient(0deg, var(--bg) 0%, rgba(8,8,13,.10) 42%, transparent 82%);
  pointer-events: none;
}
.hero-content {
  width: min(920px, 94vw) !important;
  padding-bottom: clamp(4rem, 8vw, 7rem) !important;
}
.hero-copy-wide {
  max-width: min(720px, 92vw);
  padding: clamp(.8rem, 2vw, 1.2rem) 0;
}
.hero-poster-showcase { display: none !important; }

/* Les catégories et rails respirent davantage. */
.content-section {
  padding-top: var(--page-gap) !important;
  padding-bottom: clamp(1.5rem, 3vw, 3rem) !important;
  margin-top: 0 !important;
}
.content-section:first-of-type {
  margin-top: clamp(1rem, 2vw, 2rem) !important;
}
.section-title {
  margin-bottom: clamp(1rem, 1.8vw, 1.6rem) !important;
  padding-inline: clamp(.1rem, .5vw, .5rem);
}
.section-title h2 {
  font-size: clamp(1.45rem, 2.3vw, 2.25rem) !important;
  letter-spacing: -.035em;
}
.card-row,
.ranked-row {
  gap: var(--row-gap) !important;
  padding-block: .6rem 1.25rem !important;
  scroll-padding-inline: 4vw;
}
.catalog-grid {
  gap: clamp(1rem, 1.6vw, 1.6rem) !important;
}

/* Affiches lisibles et adaptées à tous les formats. */
.card-row .content-card,
.ranked-row .content-card {
  width: clamp(210px, 18vw, 320px) !important;
  min-height: clamp(135px, 13vw, 205px) !important;
  aspect-ratio: 16 / 9;
}
.catalog-grid .content-card {
  min-height: clamp(175px, 17vw, 260px) !important;
  aspect-ratio: 16 / 9;
}
.content-card .card-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center center !important;
}
.content-card .card-copy {
  padding: clamp(.85rem, 1.2vw, 1.15rem) !important;
}
.content-card h3 {
  font-size: clamp(1rem, 1.05vw, 1.28rem) !important;
}

/* Page détail : le background de la fiche prend mieux l’écran. */
.cinema-detail-hero {
  background-size: cover !important;
  background-position: center center !important;
  min-height: clamp(580px, 82vh, 880px) !important;
}
.cinema-detail-hero::before {
  background:
    linear-gradient(90deg, rgba(8,8,13,.98) 0%, rgba(8,8,13,.78) 35%, rgba(8,8,13,.28) 68%, rgba(8,8,13,.86) 100%),
    linear-gradient(0deg, var(--bg) 0%, rgba(8,8,13,.12) 55%, transparent 86%),
    radial-gradient(circle at 76% 30%, rgba(150,118,255,.16), transparent 24rem) !important;
}
.detail-poster-card {
  object-fit: cover !important;
}

/* Lecteur vidéo responsive. */
.watch-page,
.player-page {
  width: min(100%, 1480px);
  margin-inline: auto;
}
.watch-hero-player {
  width: min(100%, 1360px) !important;
  margin-inline: auto !important;
}
.watch-video-frame {
  width: 100% !important;
  aspect-ratio: 16 / 9;
  max-height: calc(100vh - 170px);
  background: #000;
  overflow: hidden;
}
.watch-video,
.stream-video,
.cinema-frame video {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background: #000;
}

/* Bouton signalement supprimé partout même si un ancien HTML reste en cache. */
[data-report-watch],
.report-button,
.watch-title-row .btn.secondary[data-report-watch] {
  display: none !important;
}

@media (max-width: 900px) {
  .hero {
    min-height: 78vh !important;
  }
  .hero-bg {
    background-position: center top !important;
  }
  .hero-bg::before {
    background:
      linear-gradient(180deg, rgba(8,8,13,.36) 0%, rgba(8,8,13,.70) 42%, rgba(8,8,13,.98) 100%),
      radial-gradient(circle at 50% 20%, rgba(150,118,255,.16), transparent 16rem);
  }
  .hero-content {
    padding: 7rem 1.15rem 3.4rem !important;
  }
  .content-section {
    padding-top: clamp(2rem, 8vw, 3.4rem) !important;
    padding-inline: 1rem !important;
  }
  .card-row,
  .ranked-row {
    grid-auto-columns: minmax(235px, 78vw) !important;
    gap: 1rem !important;
  }
  .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .95rem !important;
  }
  .catalog-grid .content-card {
    min-height: 150px !important;
  }
  .cinema-detail-hero {
    min-height: auto !important;
    padding: 7rem 1rem 4rem !important;
    background-position: center top !important;
  }
  .watch-hero-player {
    border-radius: 0 !important;
  }
  .watch-video-frame {
    max-height: none;
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 560px) {
  .hero h1,
  .cinema-detail-copy h1 {
    font-size: clamp(2.55rem, 17vw, 4.4rem) !important;
    line-height: .9 !important;
  }
  .hero-text,
  .cinema-synopsis {
    font-size: .98rem !important;
    max-width: 100% !important;
  }
  .hero-actions,
  .cinema-actions {
    display: grid !important;
    grid-template-columns: 1fr;
  }
  .hero-actions .btn,
  .cinema-actions .btn {
    width: 100%;
  }
  .card-row,
  .ranked-row {
    grid-auto-columns: minmax(230px, 86vw) !important;
  }
  .catalog-grid {
    grid-template-columns: 1fr !important;
  }
  .content-card,
  .catalog-grid .content-card {
    min-height: 190px !important;
  }
  .watch-title-row {
    grid-template-columns: 1fr !important;
  }
  .watch-controls-strip {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
  }
  .watch-controls-strip .btn {
    grid-column: 1 / -1;
  }
}

/* v6.11 — navigation fixe, watchlist, reprise lecture et profils premium */
:root { --hud-h: 76px; }
.topbar,
.stream-hud {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  min-height: var(--hud-h) !important;
  transform: none !important;
  contain: layout paint;
}
body { scroll-padding-top: calc(var(--hud-h) + 18px); }
main { padding-top: 0; }
.catalog-page,
.explore-page,
.legal-page,
.admin-page,
.profile-page,
.watch-page { padding-top: calc(var(--hud-h) + 22px) !important; }
.desktop-nav {
  min-width: max-content;
  flex: 0 0 auto;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.desktop-nav a {
  min-width: 74px;
  text-align: center;
  line-height: 1;
  transition: color .18s ease, background .18s ease, border-color .18s ease;
}
.desktop-nav a.active,
.desktop-nav a:hover {
  transform: none !important;
}
.content-section {
  padding-block: clamp(2rem, 4vw, 4.5rem) !important;
  margin-block: 0 !important;
}
.content-section + .content-section { border-top: 1px solid rgba(255,255,255,.035); }
.watchlist-section {
  background: linear-gradient(180deg, rgba(139,92,246,.045), transparent 82%);
}
.watchlist-row { grid-auto-columns: minmax(250px, 18vw); }
.history-label {
  background: rgba(139,92,246,.16) !important;
  color: rgba(247,242,255,.92) !important;
  border: 1px solid rgba(192,132,252,.18);
}
[data-toggle-watchlist] {
  white-space: nowrap;
  border-color: rgba(192,132,252,.28) !important;
}
.profile-picker-card {
  max-width: 1120px;
  margin-inline: auto;
  padding: clamp(1.4rem, 4vw, 3rem);
  border: 1px solid rgba(215,190,255,.14);
  border-radius: 34px;
  background:
    radial-gradient(circle at 18% 0%, rgba(139,92,246,.18), transparent 28rem),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  box-shadow: 0 32px 90px rgba(0,0,0,.35);
}
.profile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}
.profile-tile {
  border-radius: 28px;
  border: 1px solid rgba(215,190,255,.12);
  background: rgba(255,255,255,.045);
  padding: 1rem;
}
.profile-tile.active {
  border-color: rgba(192,132,252,.46);
  box-shadow: 0 0 0 2px rgba(139,92,246,.14), 0 25px 70px rgba(139,92,246,.14);
}
.profile-main {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--text);
  display: grid;
  justify-items: center;
  gap: .65rem;
  cursor: pointer;
}
.profile-avatar {
  width: 84px;
  height: 84px;
  border-radius: 26px;
  display: grid;
  place-items: center;
  font-size: 2.2rem;
  background:
    radial-gradient(circle at 30% 18%, rgba(255,255,255,.42), transparent 30%),
    linear-gradient(135deg, var(--profile-color), rgba(139,92,246,.78));
  box-shadow: 0 18px 46px rgba(0,0,0,.32);
  overflow: hidden;
}
.profile-avatar.has-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.profile-editor form {
  display: grid;
  gap: 1rem;
}
.profile-editor label {
  display: grid;
  gap: .45rem;
  color: rgba(247,242,255,.74);
  font-weight: 800;
}
.profile-editor input {
  min-height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(215,190,255,.14);
  background: rgba(255,255,255,.06);
  color: white;
  padding: 0 .9rem;
}
.watch-video-frame,
.cinema-frame,
.stream-video,
.watch-video {
  width: 100%;
  max-width: 100%;
}
.watch-video,
.stream-video {
  aspect-ratio: 16 / 9;
  height: auto !important;
  max-height: min(72vh, 820px);
  object-fit: contain;
  background: #000;
}
.content-card,
.card-poster img,
.detail-poster-card,
.hero-bg {
  image-rendering: auto;
}
.content-card .card-poster img,
.detail-poster-card {
  object-fit: cover;
}
@media (max-width: 900px) {
  :root { --hud-h: 66px; }
  .topbar, .stream-hud {
    grid-template-columns: auto 1fr auto !important;
    padding-inline: 1rem !important;
  }
  .desktop-nav { display: none !important; }
  .content-section { padding-block: 2.35rem !important; }
  .watchlist-row,
  .history-row,
  .card-row,
  .ranked-row { grid-auto-columns: minmax(225px, 78vw) !important; }
  .profile-avatar { width: 72px; height: 72px; border-radius: 23px; }
  .watch-video { max-height: 58vh; }
}
@media (max-width: 520px) {
  .content-section { padding-inline: 1rem !important; }
  .section-title { gap: .85rem; align-items: flex-start; }
  .profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-tile { border-radius: 22px; padding: .75rem; }
  .profile-avatar { width: 62px; height: 62px; border-radius: 20px; font-size: 1.7rem; }
  .profile-tools { display: grid; gap: .4rem; }
  .hero-actions,
  .cinema-actions { align-items: stretch; }
  .hero-actions .btn,
  .cinema-actions .btn { width: 100%; justify-content: center; }
}


/* === v6.12 polish: sticky HUD, compact rows, profile watchlist, responsive media === */
:root{--hud-height:72px;--section-gap:clamp(1.4rem,2.3vw,2.4rem)}
html{scroll-padding-top:calc(var(--hud-height) + 18px)}
body{overflow-x:hidden}.topbar.stream-hud,.topbar{position:fixed!important;top:0;left:0;right:0;z-index:1000;min-height:var(--hud-height);backdrop-filter:blur(22px);background:linear-gradient(180deg,rgba(9,8,17,.86),rgba(9,8,17,.62))!important;border-bottom:1px solid rgba(255,255,255,.07)}
main{padding-top:var(--hud-height)}
.hero{min-height:clamp(560px,72vh,760px)}
.hero-bg{background-size:cover!important;background-position:center center!important;filter:saturate(1.04)}
.hero-bg::after{background:linear-gradient(90deg,rgba(9,8,17,.96) 0%,rgba(9,8,17,.72) 34%,rgba(40,26,70,.30) 72%,rgba(9,8,17,.88) 100%),linear-gradient(0deg,rgba(9,8,17,.98) 0%,rgba(9,8,17,.18) 45%,rgba(9,8,17,.25) 100%)!important}.hero-content{max-width:min(760px,92vw)}
.content-section{padding-top:var(--section-gap)!important;padding-bottom:var(--section-gap)!important;margin-top:0!important}.content-section+.content-section{margin-top:.25rem!important}.section-title{margin-bottom:clamp(.8rem,1.3vw,1.25rem)!important}.card-row,.ranked-row{gap:clamp(.7rem,1.1vw,1rem)!important;grid-auto-columns:minmax(190px,15vw)}
.content-card{border-radius:18px;overflow:hidden}.poster,.card-poster,.content-card .poster{aspect-ratio:16/9!important;background-size:cover!important;background-position:center!important}.content-card strong,.content-card h3{font-size:clamp(.92rem,1vw,1.05rem);line-height:1.15}.card-meta,.content-card small{line-height:1.35}.history-card .watch-count,.content-card .watch-count{font-size:.72rem}.watchlist-section{display:none!important}
.profile-btn.is-profile-active{gap:.55rem;max-width:210px}.profile-btn.is-profile-active span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-avatar,.account-avatar{width:28px;height:28px;font-size:1rem;flex:0 0 auto}.account-avatar{width:52px;height:52px}.account-watchlist{margin:1rem 0;padding:1rem;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.035)}.account-watchlist-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.account-watchlist-head a{color:var(--accent);font-weight:800}.account-watchlist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.mini-watch-card{display:block;color:var(--text);text-decoration:none}.mini-watch-card span{display:block;aspect-ratio:16/9;border-radius:12px;background-size:cover;background-position:center;background-color:rgba(255,255,255,.06);margin-bottom:.4rem}.mini-watch-card em{display:block;font-style:normal;font-size:.78rem;line-height:1.2;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-actions{display:grid;gap:.65rem}.profile-avatar.has-photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.profile-editor input[type=file]{padding:.85rem;border:1px dashed rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.04);color:var(--muted)}
.staff-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.staff-chart-card{min-height:250px}.line-chart svg{width:100%;height:170px}.traffic-card .traffic-list{max-height:260px;overflow:auto}.staff-stat-card{min-height:118px}
.watch-page{padding-top:calc(var(--hud-height) + 1rem)}.watch-hero-player{max-width:min(1240px,96vw);margin-inline:auto}.watch-video-frame{aspect-ratio:16/9;max-height:calc(100vh - 230px);background:#000}.watch-video{width:100%;height:100%;object-fit:contain;background:#000}.watch-help{display:none!important}.watch-controls-strip{flex-wrap:wrap;gap:.7rem}.watch-panel{max-width:min(1240px,96vw);margin-inline:auto}.cinema-detail-hero{padding-top:calc(var(--hud-height) + 2rem)!important;background-size:cover!important;background-position:center!important}.cinema-detail-hero::before{background:linear-gradient(90deg,rgba(9,8,17,.96),rgba(9,8,17,.58),rgba(9,8,17,.86))!important}
@media (max-width:900px){:root{--hud-height:64px}.desktop-nav{display:none!important}.hamburger{display:inline-flex!important}main{padding-top:var(--hud-height)}.hero{min-height:72vh}.hero-content{padding:clamp(2rem,8vw,4rem) 1rem!important}.hero h1{font-size:clamp(2.7rem,15vw,5rem)!important}.hero-text{font-size:1rem!important;max-width:92vw}.card-row,.ranked-row{grid-auto-columns:minmax(165px,58vw)!important}.content-section{padding-inline:1rem!important}.catalog-grid,.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.8rem}.staff-chart-grid{grid-template-columns:1fr!important}.account-watchlist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.watch-video-frame{max-height:none}.watch-title-row h1{font-size:clamp(2rem,9vw,3.7rem)}}
@media (max-width:560px){.topbar{padding-inline:.75rem!important}.brand-word{font-size:1.05rem}.profile-btn{max-width:130px;padding:.55rem .65rem}.icon-btn em{display:none}.hero{min-height:68vh}.hero-actions{gap:.55rem}.btn{min-height:42px;padding:.72rem .9rem}.card-row,.ranked-row{grid-auto-columns:minmax(145px,72vw)!important}.catalog-grid,.collection-grid{grid-template-columns:1fr!important}.content-card .poster{aspect-ratio:16/10!important}.section-title{align-items:flex-start}.section-title h2{font-size:1.35rem}.mobile-panel{width:min(92vw,360px)}.watch-controls-strip span{width:100%}.account-watchlist-grid{grid-template-columns:1fr}.auth-dialog{max-width:94vw}}

/* === Streamland v6.13 — layout, saisons, affiches portrait, notes externes === */
:root { --hud-height: 72px; --card-gap: clamp(1rem, 1.8vw, 1.55rem); }
html { scroll-padding-top: calc(var(--hud-height) + 20px); }
body { overflow-x: hidden; }
.topbar.stream-hud,
.topbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 5000 !important;
  min-height: var(--hud-height) !important;
  transform: none !important;
  backdrop-filter: blur(22px) saturate(1.15) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.15) !important;
}
main, .player-page, .watch-page, .catalog-page, .admin-page { padding-top: var(--hud-height) !important; }
.desktop-nav a[href="explorer.html"],
.mobile-panel a[href="explorer.html"],
.quick-tabs a[href="explorer.html"] { display: none !important; }
.desktop-nav { align-items: center; justify-content: center; max-width: min(52vw, 620px); overflow-x: auto; scrollbar-width: none; }
.desktop-nav::-webkit-scrollbar { display:none; }
.top-actions { align-items: center; }
.profile-btn.is-profile-active,
.profile-btn.auth-cta { align-items: center; justify-content: center; min-width: 44px; }
.topbar-avatar,
.account-avatar,
.profile-avatar {
  display: inline-grid !important;
  place-items: center !important;
  overflow: hidden !important;
  background-position: center !important;
  background-size: cover !important;
}
.topbar-avatar img,
.account-avatar img,
.profile-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Sections et catalogues plus respirants */
.content-section { margin-block: clamp(1.6rem, 2.4vw, 2.6rem) !important; }
.catalog-grid {
  gap: var(--card-gap) !important;
  align-items: start !important;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important;
}
.card-row,
.ranked-row { gap: var(--card-gap) !important; scroll-padding-inline: clamp(1rem, 4vw, 3rem); }
.card-row .content-card,
.ranked-row .content-card,
.catalog-grid .content-card {
  min-height: unset !important;
  height: auto !important;
  aspect-ratio: 2 / 3 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: rgba(255,255,255,.045) !important;
}
.content-card .card-poster,
.card-poster {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: inherit !important;
  overflow: hidden !important;
}
.content-card .card-poster img,
.card-poster img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
.content-card .card-copy {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 3 !important;
  padding: 4.3rem .9rem .85rem !important;
  background: linear-gradient(0deg, rgba(5,5,9,.96), rgba(5,5,9,.58) 58%, transparent) !important;
}
.content-card h3 { font-size: clamp(.95rem, 1.05vw, 1.12rem) !important; line-height: 1.08 !important; }
.content-card p,
.content-card small { font-size: .78rem !important; line-height: 1.28 !important; }

/* À la une : background affiche, taille propre et lisible */
.hero { min-height: min(82vh, 780px) !important; overflow: hidden; }
.hero-bg {
  background-size: cover !important;
  background-position: center 22% !important;
  filter: saturate(1.05) contrast(1.03) !important;
}
.hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(9,8,17,.96) 0%, rgba(9,8,17,.68) 34%, rgba(24,17,39,.30) 66%, rgba(9,8,17,.90) 100%), linear-gradient(0deg, var(--bg) 0%, rgba(9,8,17,.18) 45%, transparent 75%);
  pointer-events: none;
}
.hero-content { position: relative; z-index: 2; max-width: min(92vw, 1180px); margin-inline: auto; }
.hero-copy-block { max-width: min(520px, 92vw) !important; }
.hero h1 { max-width: 620px; }

/* Notes en étoiles */
.cinema-meta span,
.content-card p,
.content-card small,
.search-result small { letter-spacing: .01em; }
.content-card small:has(★),
.content-card p:has(★),
.cinema-meta span:has(★) { color: #f8d66d !important; }

/* Suppression visuelle de Distribution au cas où une ancienne page la garde en cache */
.cast-section { display: none !important; }

/* Sélecteur saisons / épisodes style plateforme */
.season-ui,
.season-watch-ui { display: grid; gap: 1rem; }
.season-ui-head,
.watch-section-title { display: flex; align-items: end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.season-ui-head select {
  min-width: min(100%, 340px);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: var(--text);
  border-radius: 14px;
  padding: .85rem 1rem;
}
.season-tabs { display: flex; gap: .75rem; overflow-x: auto; padding: .2rem 0 .45rem; scrollbar-width: thin; }
.season-tab {
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.055);
  color: var(--text);
  border-radius: 999px;
  min-height: 42px;
  padding: 0 1.05rem;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}
.season-tab.active { background: linear-gradient(135deg, #7c3aed, #a855f7); border-color: rgba(192,132,252,.58); box-shadow: 0 14px 32px rgba(124,58,237,.22); }
.season-episode-panel { display: none; }
.season-episode-panel.active { display: block; }
.episode-card-grid,
.watch-episode-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1rem; }
.episode-card,
.watch-episode-card {
  position: relative;
  min-height: 145px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: .3rem;
  padding: .85rem;
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(139,92,246,.15), rgba(255,255,255,.045));
  background-size: cover;
  background-position: center;
  overflow: hidden;
  cursor: pointer;
  text-align: left;
}
.episode-card::before,
.watch-episode-card::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.38),rgba(0,0,0,.08)); z-index:0; }
.episode-card > *,
.watch-episode-card > * { position: relative; z-index:1; }
.episode-card span,
.watch-episode-card span { display: inline-flex; align-items:center; border-radius: 999px; padding: .25rem .55rem; background: rgba(0,0,0,.55); font-size: .74rem; font-weight: 950; }
.episode-card strong,
.watch-episode-card strong { font-size: .98rem; line-height: 1.15; }
.episode-card em,
.watch-episode-card em { font-style: normal; color: rgba(255,255,255,.75); font-size: .78rem; }
.watch-episode-card.active { outline: 2px solid rgba(168,85,247,.86); }
.watch-episode-list { display: none !important; }

/* Lecteur et détails responsives */
.watch-hero-player,
.watch-panel,
.cinema-detail-hero > * { max-width: min(1240px, 96vw) !important; }
.watch-video-frame { width: 100% !important; aspect-ratio: 16 / 9 !important; max-height: calc(100vh - 210px) !important; }
.watch-video { width: 100% !important; height: 100% !important; object-fit: contain !important; }

@media (max-width: 1100px) {
  .catalog-grid { grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)) !important; }
}
@media (max-width: 760px) {
  :root { --hud-height: 64px; --card-gap: .85rem; }
  .topbar.stream-hud, .topbar { min-height: var(--hud-height) !important; padding-inline: .85rem !important; }
  .desktop-nav { display: none !important; }
  .hamburger { display: inline-flex !important; }
  .hero { min-height: 74vh !important; }
  .hero-content { padding-inline: 1rem !important; }
  .hero h1 { font-size: clamp(2.7rem, 16vw, 4.4rem) !important; }
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .card-row, .ranked-row { grid-auto-columns: minmax(155px, 47vw) !important; }
  .content-section { padding-inline: .9rem !important; }
  .episode-card-grid, .watch-episode-grid { grid-template-columns: 1fr !important; }
  .watch-video-frame { max-height: none !important; }
}
@media (max-width: 430px) {
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .7rem !important; }
  .content-card h3 { font-size: .88rem !important; }
  .content-card p, .content-card small { font-size: .7rem !important; }
  .topbar-avatar { width: 30px !important; height: 30px !important; }
}


/* V6.14 — profil centré, Watchlist avec affiches, À la une avec poster */
.profile-btn.is-profile-active,
.auth-cta.is-profile-active {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .55rem !important;
  line-height: 1 !important;
  min-height: 44px;
  padding: .38rem .85rem .38rem .42rem !important;
  overflow: hidden;
}
.profile-avatar.topbar-avatar,
.topbar-avatar {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  margin: 0 !important;
  transform: none !important;
  vertical-align: middle !important;
  flex: 0 0 34px !important;
}
.profile-avatar.topbar-avatar img,
.topbar-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  border-radius: inherit !important;
}
.profile-btn.is-profile-active span:not(.profile-avatar),
.auth-cta.is-profile-active span:not(.profile-avatar) {
  display: inline-flex;
  align-items: center;
  max-width: 110px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.account-watchlist-head strong { font-size: 1rem; letter-spacing: -.02em; }
.account-watchlist-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem !important;
}
.mini-watch-card {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: .7rem !important;
  min-height: 78px !important;
  padding: .55rem !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.045) !important;
  text-decoration: none !important;
  color: var(--text) !important;
}
.mini-watch-card img,
.mini-watch-card > span:first-child:not(:last-child),
.mini-watch-placeholder {
  width: 52px !important;
  height: 72px !important;
  border-radius: 10px !important;
  object-fit: cover !important;
  object-position: center !important;
  background-size: cover !important;
  background-position: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: rgba(124,58,237,.18) !important;
  color: white !important;
  font-weight: 900 !important;
  font-size: 1.15rem !important;
  overflow: hidden !important;
}
.mini-watch-card span:last-child {
  min-width: 0;
  display: grid;
  gap: .22rem;
}
.mini-watch-card em {
  font-style: normal !important;
  font-weight: 900 !important;
  font-size: .92rem !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mini-watch-card small { color: rgba(247,242,255,.62); font-size: .75rem; }
.hero-slide-layout {
  display: grid;
  grid-template-columns: minmax(0, 680px) minmax(190px, 300px);
  align-items: center;
  gap: clamp(1.25rem, 5vw, 5rem);
  width: min(100%, 1180px);
}
.hero-feature-poster {
  width: min(26vw, 300px);
  aspect-ratio: 2 / 3;
  justify-self: end;
  border-radius: 24px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  box-shadow: 0 32px 90px rgba(0,0,0,.55), 0 0 46px rgba(124,58,237,.18);
  transform: perspective(900px) rotateY(-6deg);
  transition: transform .25s ease, border-color .25s ease;
}
.hero-feature-poster:hover { transform: perspective(900px) rotateY(0deg) translateY(-4px); border-color: rgba(196,181,253,.42); }
.hero-feature-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero-feature-poster span {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  text-align: center;
  padding: .72rem .9rem;
  border-radius: 999px;
  background: rgba(9,9,14,.78);
  backdrop-filter: blur(14px);
  font-weight: 900;
  color: white;
}
.hero-bg {
  opacity: 1 !important;
  background-position: center center !important;
}
@media (max-width: 900px) {
  .hero-slide-layout { grid-template-columns: 1fr; gap: 1.15rem; }
  .hero-feature-poster {
    width: min(54vw, 210px);
    justify-self: start;
    transform: none;
    border-radius: 18px;
  }
  .account-watchlist-grid { grid-template-columns: 1fr !important; }
  .profile-btn.is-profile-active, .auth-cta.is-profile-active { min-width: 0 !important; max-width: 160px; }
}
@media (max-width: 520px) {
  .profile-avatar.topbar-avatar, .topbar-avatar { width: 30px !important; height: 30px !important; min-width: 30px !important; min-height: 30px !important; }
  .profile-btn.is-profile-active, .auth-cta.is-profile-active { padding: .3rem .52rem .3rem .32rem !important; gap: .38rem !important; }
  .profile-btn.is-profile-active span:not(.profile-avatar), .auth-cta.is-profile-active span:not(.profile-avatar) { max-width: 72px; font-size: .72rem; }
  .hero-feature-poster { width: min(62vw, 180px); }
}

/* === v6.15 — recherche avec affiches, rôles multiples, hero stable et catalogues respirants === */
.search-results { display: grid; gap: .85rem !important; }
.search-item {
  grid-template-columns: 74px minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 104px !important;
  gap: .9rem !important;
}
.search-thumb {
  width: 74px !important;
  aspect-ratio: 2 / 3 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, rgba(139,92,246,.36), rgba(22,20,36,.96)) !important;
  color: rgba(255,255,255,.85) !important;
  font-weight: 900 !important;
}
.search-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.search-item p {
  margin: .32rem 0 0 !important;
  color: rgba(238,238,246,.66) !important;
  line-height: 1.35 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.catalog-grid {
  gap: clamp(1.15rem, 2vw, 1.8rem) !important;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important;
}
.catalog-grid .content-card,
.content-card {
  min-height: auto !important;
}
.content-card .card-poster,
.card-poster,
.poster {
  aspect-ratio: 2 / 3 !important;
}
.card-row,
.ranked-row {
  gap: clamp(.85rem, 1.4vw, 1.25rem) !important;
}
.hero {
  min-height: clamp(560px, 78vh, 760px) !important;
  overflow: hidden !important;
}
.hero-bg {
  background-repeat: no-repeat !important;
  background-color: #090813 !important;
}
.hero-slide-layout.hero-slide-no-poster {
  grid-template-columns: minmax(0, 560px) !important;
  min-height: clamp(460px, 68vh, 680px) !important;
  align-items: center !important;
}
.hero-copy-block { max-width: min(560px, 92vw) !important; }
.hero-feature-poster { display: none !important; }
.admin-role-list {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .55rem;
}
.admin-role-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
  padding: .4rem .55rem !important;
  border-radius: 999px !important;
  background: rgba(139,92,246,.14) !important;
  border: 1px solid rgba(196,181,253,.20) !important;
  color: #efe9ff !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
}
.admin-role-pill button {
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  color: white;
  cursor: pointer;
  line-height: 1;
}
.admin-role-form {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) auto;
  gap: .5rem;
  align-items: center;
  min-width: min(100%, 360px);
}
.admin-user-row { align-items: flex-start !important; gap: 1rem !important; }
.admin-user-actions { align-items: flex-start !important; flex-wrap: wrap !important; }
@media (max-width: 900px) {
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .95rem !important; }
  .search-item { grid-template-columns: 62px minmax(0,1fr) !important; min-height: 92px !important; }
  .search-thumb { width: 62px !important; }
  .hero { min-height: 70vh !important; }
  .hero-bg { background-size: cover !important; background-position: center center !important; }
  .admin-role-form { grid-template-columns: 1fr; width: 100%; }
}
@media (max-width: 560px) {
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .7rem !important; }
  .content-card .card-poster, .card-poster, .poster { aspect-ratio: 2 / 3 !important; }
  .hero-copy-block { padding-inline: 0 !important; }
  .hero h1 { font-size: clamp(2.5rem, 13vw, 4.4rem) !important; }
}


/* Patch Streamland — affiches, TMDB, distribution, lecture et rôles */
.hero {
  min-height: clamp(560px, 78vh, 760px) !important;
}
.hero-bg {
  background-repeat: no-repeat !important;
  background-size: cover, cover, min(42vw, 420px) auto !important;
  background-position: center, center bottom, right 9% center !important;
}
.hero-slide-layout.hero-slide-no-poster {
  min-height: clamp(460px, 68vh, 680px) !important;
}
.card-row,
.ranked-row {
  grid-auto-columns: clamp(190px, 18vw, 250px) !important;
}
.content-card,
.catalog-grid .content-card,
.ranked-card,
.history-card {
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 2 / 3 !important;
  background-size: cover !important;
  background-position: center !important;
}
.ranked-card { padding-left: 3.8rem !important; }
.cast-section {
  display: block !important;
}
.cast-avatar.has-photo {
  background-size: cover !important;
  background-position: center !important;
  color: transparent !important;
}
.cast-member {
  min-height: 64px;
}
.cinema-meta span:has(★),
.content-card small:has(★),
.content-card p:has(★),
.search-result small:has(★) {
  color: #f8d66d !important;
}
.watch-progress-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: 999px;
  padding: .28rem .55rem;
  background: rgba(255,255,255,.10);
  font-size: .76rem;
  font-weight: 850;
}
.admin-role-form select {
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.07);
  color: var(--text);
  padding: .75rem .85rem;
  font-weight: 850;
}
.admin-role-form select option { background: #111116; color: white; }
@media (max-width: 900px) {
  .hero-bg { background-size: cover, cover, min(64vw, 320px) auto !important; background-position: center, center bottom, right 50% center !important; }
  .card-row, .ranked-row { grid-auto-columns: minmax(160px, 58vw) !important; }
}


/* Streamland v6.20 — profils style Letterboxd + hero affiche fixe + footer retiré */
.footer { display: none !important; }
.hero {
  min-height: clamp(590px, 76vh, 760px) !important;
  height: clamp(590px, 76vh, 760px) !important;
  align-items: flex-end !important;
  isolation: isolate;
}
.hero-bg {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
  background-color: #101116 !important;
  background-size: cover !important;
  background-position: center 28% !important;
}
.hero.hero-has-poster-bg .hero-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8,8,12,.98) 0%, rgba(8,8,12,.84) 34%, rgba(8,8,12,.44) 68%, rgba(8,8,12,.78) 100%),
    linear-gradient(0deg, var(--bg) 0%, rgba(8,8,12,.48) 22%, rgba(8,8,12,.08) 68%, rgba(8,8,12,.42) 100%);
  pointer-events: none;
}
.hero:not(.hero-has-poster-bg) .hero-bg {
  background-image: linear-gradient(135deg, #161821, #101116 52%, #18142a) !important;
}
.hero-content {
  min-height: 100% !important;
  display: flex !important;
  align-items: flex-end !important;
  padding-top: 8rem !important;
  padding-bottom: clamp(3.5rem, 7vh, 6.5rem) !important;
}
.hero-copy-wide { max-width: min(760px, 94vw) !important; }
.hero h1 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.hero-text {
  display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.6em * 3);
}
.hero-rotator { min-height: 22px; }

.profiles-body {
  background:
    radial-gradient(circle at 16% 0%, rgba(0,224,84,.16), transparent 24rem),
    radial-gradient(circle at 84% 8%, rgba(255,128,55,.14), transparent 24rem),
    linear-gradient(180deg, #14181c 0%, #0b0f14 100%) !important;
  color: #e5e7eb;
}
.profiles-shell {
  align-items: start !important;
  place-items: start center !important;
  padding-top: clamp(2.5rem, 8vh, 6rem) !important;
}
.letterbox-profile-card {
  text-align: left !important;
  width: min(1180px, 100%) !important;
  border-radius: 18px !important;
  border: 1px solid rgba(153,170,187,.20) !important;
  background: linear-gradient(180deg, rgba(32,39,46,.92), rgba(20,24,28,.96)) !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.45) !important;
}
.letterbox-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(153,170,187,.16);
  padding-bottom: 1.15rem;
  margin-bottom: 1.25rem;
}
.letterbox-head h1 {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: clamp(2.1rem, 5vw, 4.2rem) !important;
  letter-spacing: -.055em !important;
  margin: .2rem 0 0 !important;
}
.letterbox-tabs { display: flex; flex-wrap: wrap; gap: .35rem; color: #8c9aa8; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 850; }
.letterbox-tabs span { padding: .45rem .7rem; border-radius: 999px; background: rgba(255,255,255,.035); }
.letterbox-tabs .active { color: #fff; background: linear-gradient(90deg, #00e054, #40bcf4); }
.letterbox-profile-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  align-items: stretch !important;
  justify-items: stretch !important;
}
.letterbox-profile-tile {
  width: 100% !important;
  padding: 1rem !important;
  border-radius: 16px !important;
  border: 1px solid rgba(153,170,187,.16) !important;
  background: rgba(15,19,23,.78) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.letterbox-profile-tile:hover,
.letterbox-profile-tile.active {
  transform: translateY(-4px) !important;
  border-color: rgba(0,224,84,.55) !important;
  box-shadow: 0 16px 50px rgba(0,0,0,.35), 0 0 0 1px rgba(0,224,84,.18) inset;
}
.letterbox-profile-main {
  grid-template-columns: auto minmax(0,1fr) !important;
  justify-items: start !important;
  align-items: center !important;
  gap: .95rem !important;
  text-align: left !important;
}
.profile-avatar.letterbox-avatar,
.letterbox-profile-main .profile-avatar {
  width: 74px !important;
  height: 74px !important;
  border-radius: 50% !important;
  font-size: 2rem !important;
  border: 3px solid #2c3440 !important;
  box-shadow: 0 0 0 2px rgba(0,224,84,.22), 0 14px 30px rgba(0,0,0,.34) !important;
}
.letterbox-profile-copy { min-width: 0; display: grid; gap: .15rem; }
.letterbox-profile-copy strong { font-size: 1.25rem; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.letterbox-profile-copy small { color: #8c9aa8; font-size: .88rem; }
.letterbox-stat-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .5rem;
  margin: 1rem 0;
  border-top: 1px solid rgba(153,170,187,.12);
  border-bottom: 1px solid rgba(153,170,187,.12);
  padding: .8rem 0;
}
.letterbox-stat-row span { display: grid; gap: .1rem; }
.letterbox-stat-row b { font-size: 1.05rem; color: #fff; }
.letterbox-stat-row em { font-style: normal; color: #8c9aa8; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.letterbox-favorites { display: grid; grid-template-columns: repeat(4, 1fr); gap: .35rem; margin-top: .75rem; }
.letterbox-favorites span { aspect-ratio: 2/3; border-radius: 8px; background-size: cover; background-position: center; background-color: #20272e; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.letterbox-tools { justify-content: flex-start !important; }
.letterbox-tools span,
.letterbox-tools button { color: #9ab !important; background: transparent !important; border-color: rgba(153,170,187,.18) !important; }
.letterbox-tools button:hover { color: #fff !important; border-color: #00e054 !important; }
.letterbox-add-main { min-height: 100% !important; border: 1px dashed rgba(153,170,187,.25) !important; border-radius: 14px !important; padding: 1rem !important; background: rgba(255,255,255,.025) !important; }
.letterbox-add-main .profile-add-icon { width: 74px !important; height: 74px !important; border-radius: 50% !important; background: linear-gradient(135deg, rgba(0,224,84,.18), rgba(64,188,244,.14)) !important; }
@media (max-width: 760px) {
  .hero { height: clamp(560px, 78vh, 700px) !important; min-height: clamp(560px, 78vh, 700px) !important; }
  .hero-bg { background-position: center top !important; }
  .hero.hero-has-poster-bg .hero-bg::before { background: linear-gradient(180deg, rgba(8,8,12,.42) 0%, rgba(8,8,12,.88) 54%, var(--bg) 100%); }
  .letterbox-head { display: grid; align-items: start; }
  .letterbox-profile-grid { grid-template-columns: 1fr !important; }
}


/* V6.21 — bandes-annonces en modale, fond flouté et lecteur vidéo plus réactif */
body.trailer-open { overflow: hidden; }
body.trailer-open main,
body.trailer-open header,
body.trailer-open footer { filter: blur(10px); transition: filter .18s ease; }
.trailer-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 3rem);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.trailer-overlay.active { opacity: 1; pointer-events: auto; }
.trailer-backdrop { position: absolute; inset: 0; background: rgba(3, 6, 18, .72); backdrop-filter: blur(18px); }
.trailer-modal {
  position: relative;
  width: min(980px, 96vw);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(16, 18, 34, .96), rgba(5, 7, 15, .98));
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
  padding: clamp(1rem, 2.6vw, 1.5rem);
  transform: translateY(14px) scale(.985);
  transition: transform .2s ease;
}
.trailer-overlay.active .trailer-modal { transform: translateY(0) scale(1); }
.trailer-close {
  position: absolute;
  top: .85rem;
  right: .85rem;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}
.trailer-modal-head { padding: .2rem 3.5rem 1rem .2rem; }
.trailer-modal-head h2 { margin: .2rem 0 0; font-size: clamp(1.5rem, 4vw, 2.6rem); }
.trailer-modal-frame {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 22px;
  overflow: hidden;
  background: #000;
}
.trailer-modal-video,
.trailer-modal-iframe,
.watch-embed-player {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #000;
}
.trailer-modal-fallback,
.watch-external-player {
  min-height: 100%;
  display: grid;
  place-content: center;
  gap: 1rem;
  text-align: center;
  padding: 2rem;
}
.watch-video-frame { position: relative; overflow: hidden; }
.watch-video-frame.is-loading::after {
  content: "Chargement du lecteur…";
  position: absolute;
  inset: auto 1rem 1rem auto;
  border-radius: 999px;
  padding: .7rem 1rem;
  background: rgba(0,0,0,.72);
  color: #fff;
  font-weight: 800;
  font-size: .9rem;
  pointer-events: none;
}
.watch-embed-player { aspect-ratio: 16 / 9; }
.watch-external-player {
  min-height: 360px;
  color: #fff;
  background: radial-gradient(circle at 50% 0%, rgba(139,92,246,.32), transparent 45%), #030712;
}
.cinema-detail-hero.has-trailer-preview { min-height: clamp(560px, 74vh, 760px) !important; }
.cinema-detail-hero .cinema-synopsis {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 700px) {
  .trailer-modal { border-radius: 22px; padding: .75rem; }
  .trailer-modal-head { padding-right: 3rem; }
  .trailer-close { width: 38px; height: 38px; }
}


/* Streamland v6.22 — nettoyage fiche, affiches À la une, pub VIP et lecteur */
.footer,
a[href="legal.html"],
a[href="/legal.html"] { display: none !important; }
.profile-btn::before { content: none !important; display: none !important; }
.video-placeholder::after { content: none !important; display: none !important; }

.hero {
  height: clamp(600px, 76vh, 780px) !important;
  min-height: clamp(600px, 76vh, 780px) !important;
  overflow: hidden !important;
  background: #101218 !important;
}
.hero.hero-has-poster-bg .hero-bg {
  background-image:
    linear-gradient(90deg, rgba(8,9,13,.98) 0%, rgba(8,9,13,.82) 34%, rgba(8,9,13,.42) 68%, rgba(8,9,13,.88) 100%),
    linear-gradient(0deg, #101218 0%, rgba(8,9,13,.45) 36%, rgba(8,9,13,.06) 72%),
    var(--hero-poster) !important;
  background-size: cover !important;
  background-position: center 24% !important;
  background-repeat: no-repeat !important;
}
.hero.hero-has-poster-bg .hero-bg::after { opacity: .45 !important; }
.hero-content { min-height: 100% !important; display: grid !important; align-items: end !important; }
.hero-slide-layout { width: min(860px, 100%) !important; }
.hero-copy-block { max-width: 820px !important; min-width: 0 !important; }
.hero h1 {
  max-width: 820px !important;
  font-size: clamp(3rem, 8.4vw, 7.4rem) !important;
  line-height: .88 !important;
  overflow-wrap: anywhere !important;
}
.hero .meta {
  max-width: 100% !important;
  white-space: normal !important;
  line-height: 1.45 !important;
}
.hero-text {
  max-width: 760px !important;
  min-height: 0 !important;
  -webkit-line-clamp: 2 !important;
}

.cinema-detail-hero.has-trailer-preview,
.cinema-detail-hero {
  min-height: clamp(640px, 82vh, 860px) !important;
  padding-bottom: clamp(5rem, 11vw, 8rem) !important;
}
.cinema-detail-body {
  margin-top: -2.5rem !important;
  gap: clamp(1.4rem, 3vw, 2.4rem) !important;
  align-items: start !important;
}
.cinema-main-column { display: grid !important; gap: 1.15rem !important; min-width: 0 !important; }
.cast-section,
.reviews-panel,
.detail-block,
.episode-select-card,
.side-panel {
  overflow: visible !important;
  min-width: 0 !important;
}
.cast-grid { gap: .85rem !important; align-items: stretch !important; }
.cast-member { min-height: 76px !important; align-items: center !important; }
.cast-member div { min-width: 0 !important; }
.cast-member strong,
.cast-member small {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.reviews-head { align-items: flex-start !important; gap: 1rem !important; }
.reviews-head p { margin: .35rem 0 0 !important; line-height: 1.5 !important; }
.review-form { margin-top: 1rem !important; }
.cinema-synopsis:empty,
.detail-block:empty,
.reviews-list:empty { display: none !important; }

.watch-page { padding-top: 72px !important; }
.watch-hero-player { padding-top: 1rem !important; }
.watch-topline { margin-bottom: .8rem !important; }
.watch-title-row { display: none !important; }
.watch-video-frame.is-loading::after {
  content: "Chargement…" !important;
  inset: auto 1rem 1rem auto !important;
  opacity: .86 !important;
}
.watch-controls-strip.pro-watch-strip {
  justify-content: flex-end !important;
  gap: .7rem !important;
}
.watch-controls-strip.pro-watch-strip > span:empty { display: none !important; }
.watch-panel h2:empty,
.watch-panel p:empty { display: none !important; }

.trailer-modal-iframe { background: #000 !important; }
.trailer-modal-video { object-fit: contain !important; }

@media (max-width: 900px) {
  .cinema-detail-body { margin-top: -1rem !important; }
  .cinema-detail-hero { min-height: auto !important; }
}
@media (max-width: 760px) {
  .hero { height: clamp(560px, 82vh, 720px) !important; min-height: clamp(560px, 82vh, 720px) !important; }
  .hero.hero-has-poster-bg .hero-bg { background-position: center top !important; }
  .hero h1 { font-size: clamp(2.5rem, 14vw, 4.9rem) !important; }
  .hero .meta { font-size: .82rem !important; }
  .cinema-detail-body { margin-inline: .75rem !important; }
}

/* Streamland v6.23 — correctif mobile : menu droit + fiche film complète */
.hamburger {
  position: relative !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  padding: 0 !important;
  border-radius: 14px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
}
.hamburger span {
  display: block !important;
  width: 21px !important;
  height: 2px !important;
  min-height: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  transform-origin: 50% 50% !important;
  justify-self: center !important;
}
@media (min-width: 901px) {
  .hamburger { display: none !important; }
}
@media (max-width: 900px) {
  .hamburger {
    display: flex !important;
    flex-direction: column !important;
  }
  .hamburger[aria-expanded="false"] span:nth-child(1),
  .hamburger[aria-expanded="false"] span:nth-child(2),
  .hamburger[aria-expanded="false"] span:nth-child(3) {
    transform: none !important;
    opacity: 1 !important;
  }
  .hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg) !important; }
  .hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0 !important; }
  .hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) !important; }

  /* La fiche film/série sur téléphone garde les mêmes informations que sur PC. */
  body[data-page="player"] .player-page {
    padding: 0 0 3rem !important;
    width: 100% !important;
    max-width: 100vw !important;
  }
  body[data-page="player"] .video-shell,
  body[data-page="player"] .player-controls,
  body[data-page="player"] .player-info {
    display: none !important;
  }
  .cinema-detail-hero.has-trailer-preview,
  .cinema-detail-hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    padding: calc(var(--hud-height, 72px) + 1.4rem) 1rem 3.25rem !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  .cinema-detail-hero::before {
    background:
      linear-gradient(180deg, rgba(5,6,10,.18) 0%, rgba(5,6,10,.72) 42%, rgba(5,6,10,.98) 100%),
      linear-gradient(90deg, rgba(5,6,10,.90), rgba(5,6,10,.40), rgba(5,6,10,.92)) !important;
  }
  .cinema-detail-copy {
    max-width: 100% !important;
    align-self: end !important;
    padding-top: min(38vh, 280px) !important;
  }
  .cinema-detail-copy h1 {
    max-width: 100% !important;
    font-size: clamp(2.35rem, 13vw, 4.6rem) !important;
    line-height: .92 !important;
    letter-spacing: -.055em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  .cinema-meta,
  .cinema-genres {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .45rem .6rem !important;
    max-width: 100% !important;
    white-space: normal !important;
    line-height: 1.35 !important;
  }
  .cinema-synopsis {
    display: block !important;
    -webkit-line-clamp: unset !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    font-size: .98rem !important;
    line-height: 1.62 !important;
  }
  .cinema-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .65rem !important;
    width: 100% !important;
  }
  .cinema-actions .btn,
  .cinema-actions .watch-main {
    width: 100% !important;
    min-width: 0 !important;
  }
  .cinema-actions .watch-main,
  .cinema-actions a[href*="catalogue"],
  .cinema-actions a[href="films.html"],
  .cinema-actions a[href="series.html"] {
    grid-column: 1 / -1 !important;
  }
  .cinema-actions .round-action {
    width: 48px !important;
    height: 48px !important;
    justify-self: start !important;
  }
  .quick-opinion {
    width: 100% !important;
    border-radius: 14px !important;
    white-space: normal !important;
    line-height: 1.4 !important;
  }
  .cinema-detail-card {
    display: block !important;
    width: 100% !important;
    align-self: start !important;
    border-radius: 20px !important;
    padding: 1rem !important;
    margin-top: .35rem !important;
    background: rgba(8,10,16,.72) !important;
  }
  .detail-poster-card {
    display: block !important;
    width: min(180px, 52vw) !important;
    aspect-ratio: 2 / 3 !important;
    object-fit: cover !important;
    border-radius: 16px !important;
    margin: 0 auto 1rem !important;
  }
  .cinema-detail-card dl {
    gap: .65rem !important;
  }
  .cinema-detail-card dl div {
    display: grid !important;
    grid-template-columns: minmax(95px, .8fr) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: .6rem !important;
  }
  .cinema-detail-card dd {
    text-align: right !important;
    overflow-wrap: anywhere !important;
  }
  .mini-vip-callout { display: none !important; }
  .cinema-detail-body {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: calc(100% - 1.5rem) !important;
    margin: -1.2rem auto 0 !important;
    padding-top: 0 !important;
    gap: .95rem !important;
  }
  .cinema-main-column,
  .cinema-side-column {
    display: grid !important;
    gap: .95rem !important;
    min-width: 0 !important;
  }
  .side-panel {
    display: grid !important;
    order: -1 !important;
  }
  .detail-block,
  .cast-section,
  .reviews-panel,
  .episode-select-card,
  .side-panel {
    display: grid !important;
    min-width: 0 !important;
    overflow: visible !important;
    border-radius: 18px !important;
    padding: 1rem !important;
  }
  .detail-block h2,
  .cast-section h2,
  .reviews-panel h2 {
    font-size: 1.35rem !important;
    line-height: 1.1 !important;
  }
  .detail-block p,
  .cast-section p,
  .reviews-panel p,
  .side-panel p {
    font-size: .96rem !important;
    line-height: 1.58 !important;
    overflow-wrap: anywhere !important;
  }
  .genre-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .45rem !important;
  }
  .cast-section { display: grid !important; }
  .cast-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .7rem !important;
  }
  .cast-member {
    min-height: 64px !important;
    border-radius: 16px !important;
    padding: .55rem !important;
    background: rgba(255,255,255,.045) !important;
  }
  .reviews-head {
    display: grid !important;
    gap: .75rem !important;
  }
  .rating-input {
    display: flex !important;
    flex-wrap: wrap !important;
  }
  .review-form textarea { min-height: 110px !important; }
}
@media (max-width: 420px) {
  .cinema-actions { grid-template-columns: 1fr !important; }
  .cinema-actions .round-action { justify-self: stretch !important; width: 100% !important; border-radius: 14px !important; }
  .cinema-detail-copy { padding-top: min(34vh, 230px) !important; }
  .cinema-detail-card dl div { grid-template-columns: 1fr !important; }
  .cinema-detail-card dd { text-align: left !important; }
}



/* Streamland v6.24 — recherche plus large, mobile sans barre horizontale, À la une glissant, interfaces fluides */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}
body { overscroll-behavior-x: none; }
img, video, iframe, canvas, svg { max-width: 100%; }
main, header, .topbar, .stream-hud, .content-section, .catalog-page, .admin-page, .support-page, .vip-page, .player-page, .watch-page {
  max-width: 100vw !important;
}
.topbar.stream-hud,
.topbar {
  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
}
.top-actions { min-width: 0 !important; }

/* Barre de recherche agrandie sur desktop/tablette, tout en gardant l'icône compacte sur petit téléphone. */
.search-trigger,
.icon-btn.search-trigger {
  min-width: clamp(210px, 24vw, 360px) !important;
  width: clamp(210px, 24vw, 360px) !important;
  justify-content: flex-start !important;
  padding: 0 .95rem !important;
}
.search-trigger em { display: inline-block !important; }
.search-overlay input,
[data-global-search] {
  min-height: 68px !important;
  padding: 0 1.25rem !important;
  font-size: clamp(1.15rem, 2.2vw, 1.55rem) !important;
  border-radius: 22px !important;
}

/* À la une : transition en glissement au lieu d'un changement instantané. */
.hero { isolation: isolate; }
.hero-bg {
  will-change: transform, filter, opacity, background-position;
  transition: filter .45s ease, opacity .45s ease, transform .6s cubic-bezier(.2,.8,.2,1), background-position .6s cubic-bezier(.2,.8,.2,1) !important;
}
.hero-content {
  will-change: transform, opacity;
  transition: transform .46s cubic-bezier(.2,.8,.2,1), opacity .36s ease, filter .36s ease !important;
}
.hero-content-leave-left {
  transform: translate3d(-5.5%, 0, 0) scale(.985) !important;
  opacity: 0 !important;
  filter: blur(3px) !important;
  pointer-events: none !important;
}
.hero-content-leave-right {
  transform: translate3d(5.5%, 0, 0) scale(.985) !important;
  opacity: 0 !important;
  filter: blur(3px) !important;
  pointer-events: none !important;
}
.hero-content-enter-right {
  transform: translate3d(6.5%, 0, 0) scale(.99) !important;
  opacity: 0 !important;
  filter: blur(2px) !important;
}
.hero-content-enter-left {
  transform: translate3d(-6.5%, 0, 0) scale(.99) !important;
  opacity: 0 !important;
  filter: blur(2px) !important;
}
.hero-content-enter-active {
  transform: translate3d(0,0,0) scale(1) !important;
  opacity: 1 !important;
  filter: blur(0) !important;
}
.hero.hero-glide-next .hero-bg { animation: streamlandHeroBgNext .68s cubic-bezier(.2,.8,.2,1) both; }
.hero.hero-glide-prev .hero-bg { animation: streamlandHeroBgPrev .68s cubic-bezier(.2,.8,.2,1) both; }
@keyframes streamlandHeroBgNext {
  0% { transform: translate3d(2.4%,0,0) scale(1.035); filter: brightness(.82) saturate(.92); }
  100% { transform: translate3d(0,0,0) scale(1); filter: brightness(1) saturate(1); }
}
@keyframes streamlandHeroBgPrev {
  0% { transform: translate3d(-2.4%,0,0) scale(1.035); filter: brightness(.82) saturate(.92); }
  100% { transform: translate3d(0,0,0) scale(1); filter: brightness(1) saturate(1); }
}

/* Fluidité générale sans alourdir le site. */
.content-card, .catalog-card, .poster-card, .ranked-card, .admin-card, .panel-card, .cast-member, .review-card, .btn, .icon-btn, .profile-btn, .hamburger, .search-item, .mobile-panel, .trailer-modal {
  transition-property: transform, opacity, background, border-color, box-shadow, filter;
  transition-duration: .22s;
  transition-timing-function: cubic-bezier(.2,.8,.2,1);
}
.content-card:hover, .catalog-card:hover, .poster-card:hover, .ranked-card:hover, .cast-member:hover, .search-item:hover {
  transform: translate3d(0,-4px,0);
}
.card-row, .ranked-row, .catalog-grid, .cast-grid, .reviews-list { scroll-behavior: smooth; }

/* Correctif mobile : retire la barre blanche horizontale causée par le débordement. */
@media (max-width: 980px) {
  html,
  body,
  .site-shell,
  main {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  .topbar.stream-hud,
  .topbar {
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: 100vw !important;
    padding-left: max(1rem, env(safe-area-inset-left)) !important;
    padding-right: max(1rem, env(safe-area-inset-right)) !important;
  }
  .hero,
  .hero-bg,
  .cinema-detail-hero,
  .catalog-hero,
  .content-section,
  .quick-tabs,
  .card-row,
  .ranked-row,
  .catalog-grid,
  .cinema-detail-body,
  .watch-hero-player {
    max-width: 100vw !important;
  }
  .search-trigger,
  .icon-btn.search-trigger {
    min-width: 48px !important;
    width: 48px !important;
    height: 48px !important;
    justify-content: center !important;
    padding: 0 !important;
  }
  .search-trigger em { display: none !important; }
  .mobile-panel {
    max-width: 92vw !important;
    overflow-x: hidden !important;
  }
}
@media (max-width: 640px) {
  .hero-content { width: 100% !important; max-width: 100% !important; }
  .hero-slide-layout, .hero-copy-block { width: 100% !important; max-width: 100% !important; }
  .hero h1 { overflow-wrap: break-word !important; word-break: normal !important; }
  .search-overlay { overflow-x: hidden !important; }
  .search-overlay input,
  [data-global-search] { min-height: 60px !important; border-radius: 18px !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* === v6.25 acteurs + profils façon Letterboxd === */
.actor-link-card { text-decoration: none; color: inherit; cursor: pointer; transition: transform .22s ease, border-color .22s ease, background .22s ease; }
.actor-link-card:hover { transform: translateY(-3px); border-color: rgba(192,132,252,.34); background: rgba(255,255,255,.075); }
.actor-page { padding: calc(var(--hud-height, 76px) + 1.5rem) clamp(1rem, 4vw, 4rem) 4rem; }
.actor-hero { max-width: 1180px; margin: 0 auto 2rem; padding: clamp(1rem, 3vw, 2rem); border: 1px solid rgba(255,255,255,.10); border-radius: 34px; background: radial-gradient(circle at 15% 10%, rgba(139,92,246,.24), transparent 34%), rgba(13,14,20,.82); box-shadow: 0 30px 90px rgba(0,0,0,.34); }
.actor-hero-grid { display: grid; grid-template-columns: minmax(180px, 260px) 1fr; gap: clamp(1.2rem, 3vw, 2.4rem); align-items: center; margin-top: 1.2rem; }
.actor-photo { width: min(260px, 58vw); aspect-ratio: 2/3; border-radius: 28px; display: grid; place-items: center; font-size: 5rem; font-weight: 900; background: linear-gradient(135deg, rgba(139,92,246,.48), rgba(244,114,182,.34)); background-size: cover; background-position: center; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 24px 80px rgba(0,0,0,.38); }
.actor-copy h1 { font-size: clamp(2.4rem, 7vw, 5.8rem); line-height: .9; margin: .2rem 0 1rem; letter-spacing: -.06em; }
.actor-copy p { max-width: 820px; color: rgba(247,242,255,.78); line-height: 1.75; }
.actor-facts { color: rgba(255,255,255,.92) !important; font-weight: 800; }
.actor-section { max-width: 1220px; margin-inline: auto; }
.actor-local-grid { align-items: stretch; }
.actor-credit-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1rem; }
.actor-credit-card { min-height: 230px; border-radius: 20px; padding: .9rem; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(160deg, rgba(28,24,40,.94), rgba(11,13,18,.96)); background-size: cover; background-position: center; overflow: hidden; position: relative; border: 1px solid rgba(255,255,255,.09); }
.actor-credit-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 25%, rgba(0,0,0,.86)); }
.actor-credit-card span, .actor-credit-card small { position: relative; z-index: 1; }
.actor-credit-card span { font-weight: 900; line-height: 1.1; }
.actor-credit-card small { color: rgba(255,255,255,.72); margin-top: .25rem; }

.letterbox-dashboard { width: min(1220px, calc(100vw - 2rem)); margin: clamp(1rem, 3vw, 2rem) auto 1.5rem; padding: clamp(1rem, 3vw, 2rem); border-radius: 34px; border: 1px solid rgba(255,255,255,.10); background: linear-gradient(180deg, rgba(21,23,31,.94), rgba(11,12,17,.94)); box-shadow: 0 30px 90px rgba(0,0,0,.34); }
.letterbox-profile-hero { display: grid; grid-template-columns: auto 1fr; gap: clamp(1rem, 3vw, 2rem); align-items: center; }
.letterbox-hero-avatar { width: clamp(110px, 18vw, 170px) !important; height: clamp(110px, 18vw, 170px) !important; border-radius: 50% !important; font-size: clamp(2.5rem, 6vw, 5rem) !important; box-shadow: 0 22px 70px rgba(0,0,0,.42); }
.letterbox-hero-copy h1 { font-size: clamp(2.4rem, 7vw, 5.7rem); margin: 0; line-height: .88; letter-spacing: -.065em; }
.letterbox-handle { display: inline-flex; margin: .45rem 0 .8rem; color: rgba(255,255,255,.58); font-weight: 800; }
.letterbox-bio { max-width: 760px; color: rgba(247,242,255,.76); line-height: 1.65; }
.letterbox-profile-stats { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1rem 0 1.2rem; }
.letterbox-profile-stats span { min-width: 108px; padding: .8rem .95rem; border-radius: 18px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.08); display: grid; gap: .15rem; }
.letterbox-profile-stats b { font-size: 1.25rem; }
.letterbox-profile-stats em { font-style: normal; font-size: .74rem; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }
.letterbox-section-title { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: 1.4rem 0 .85rem; }
.letterbox-section-title h2 { margin: 0; font-size: clamp(1.2rem, 2vw, 1.65rem); }
.letterbox-section-title span { color: var(--muted); font-weight: 800; }
.letterbox-four-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.6rem, 1.2vw, 1rem); }
.letterbox-poster-tile { min-height: clamp(190px, 25vw, 330px); border-radius: 20px; display: flex; align-items: end; padding: .75rem; color: #fff; text-decoration: none; font-weight: 900; line-height: 1.1; background: linear-gradient(160deg, rgba(31,26,44,.95), rgba(11,13,18,.96)); background-size: cover; background-position: center; position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.10); transition: transform .22s ease, border-color .22s ease; }
.letterbox-poster-tile::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 42%, rgba(0,0,0,.86)); }
.letterbox-poster-tile span { position: relative; z-index: 1; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.letterbox-poster-tile:hover { transform: translateY(-5px); border-color: rgba(192,132,252,.34); }
.letterbox-empty-poster { min-height: clamp(190px, 25vw, 330px); border-radius: 20px; border: 1px dashed rgba(255,255,255,.16); display: grid; place-items: center; color: rgba(255,255,255,.38); font-size: 2rem; background: rgba(255,255,255,.035); }
.letterbox-favorites { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: .38rem; margin: .8rem 0; }
.letterbox-poster-tile.mini, .letterbox-favorites .letterbox-empty-poster { min-height: 82px; border-radius: 12px; padding: .35rem; font-size: .62rem; }
.letterbox-tile-bio { margin: .55rem 0 0; color: rgba(247,242,255,.62); font-size: .86rem; line-height: 1.45; min-height: 2.5em; }
.letterbox-activity-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.letterbox-activity-panel { padding: 1rem; border-radius: 24px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); min-width: 0; }
.letterbox-activity-panel.full-span { grid-column: 1 / -1; }
.profile-activity-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: .75rem; }
.profile-activity-card { min-height: 168px; border-radius: 16px; display: flex; flex-direction: column; justify-content: flex-end; padding: .65rem; text-decoration: none; color: #fff; background: linear-gradient(160deg, rgba(31,26,44,.95), rgba(11,13,18,.96)); background-size: cover; background-position: center; position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.08); }
.profile-activity-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 34%, rgba(0,0,0,.88)); }
.profile-activity-card span, .profile-activity-card small { position: relative; z-index: 1; }
.profile-activity-card span { font-weight: 900; line-height: 1.1; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.profile-activity-card small { color: rgba(255,255,255,.72); margin-top: .25rem; }
.letterbox-editor textarea, .profile-editor textarea, .profile-editor select { width: 100%; padding: .9rem 1rem; border-radius: 16px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); color: var(--text); font: inherit; outline: none; }
.profile-editor textarea { min-height: 92px; resize: vertical; }
.profile-editor select option { color: #111; }
.profile-editor-row { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.favorite-select-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; padding: .8rem; border-radius: 20px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.08); }

@media (max-width: 760px) {
  .actor-page { padding-inline: .85rem; }
  .actor-hero-grid, .letterbox-profile-hero { grid-template-columns: 1fr; text-align: left; }
  .actor-photo { width: min(220px, 72vw); }
  .letterbox-four-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .letterbox-activity-grid { grid-template-columns: 1fr; }
  .profile-activity-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .favorite-select-grid, .profile-editor-row { grid-template-columns: 1fr; }
  .letterbox-dashboard { width: min(100%, calc(100vw - 1rem)); padding: 1rem; border-radius: 24px; }
  .letterbox-poster-tile, .letterbox-empty-poster { min-height: 210px; }
  .letterbox-poster-tile.mini, .letterbox-favorites .letterbox-empty-poster { min-height: 76px; }
  .actor-credit-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* === Streamland v6.26 — URLs propres, tendances du jour et menu mobile simplifié === */
@media (max-width: 900px) {
  .mobile-panel a[href="/assistance"],
  .mobile-panel a[href="assistance.html"],
  .mobile-panel .mobile-genres,
  .mobile-panel [data-mobile-genres] {
    display: none !important;
  }
}
.hero .eyebrow {
  text-shadow: 0 2px 14px rgba(0,0,0,.45);
}
.hero-has-poster-bg .hero-bg::after {
  backdrop-filter: blur(1px);
}
.hero-content a[href$=".html"] {
  pointer-events: auto;
}


/* === Streamland v6.27 — accueil nettoyé, historique réel, hero portrait gauche === */
body[data-page="home"] .quick-tabs { display: none !important; }
.hero {
  height: clamp(620px, 78vh, 820px) !important;
  min-height: clamp(620px, 78vh, 820px) !important;
}
.hero-content {
  align-items: center !important;
  justify-content: center !important;
  padding-top: clamp(5.5rem, 9vh, 7.5rem) !important;
  padding-bottom: clamp(2.3rem, 6vh, 4.6rem) !important;
}
.hero-slide-layout.hero-slide-with-portrait,
.hero-slide-layout.hero-slide-no-poster {
  width: min(1180px, 100%) !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(180px, 310px) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(1.2rem, 4.6vw, 4.8rem) !important;
}
.hero-slide-layout.hero-slide-with-portrait .hero-feature-poster,
.hero-feature-poster.hero-feature-poster-left {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  width: min(28vw, 310px) !important;
  min-width: 180px !important;
  aspect-ratio: 2 / 3 !important;
  transform: perspective(900px) rotateY(7deg) translateY(0) !important;
  border-radius: 26px !important;
  box-shadow: 0 34px 100px rgba(0,0,0,.62), 0 0 58px rgba(139,92,246,.22) !important;
  z-index: 4 !important;
}
.hero-slide-layout.hero-slide-with-portrait .hero-copy-block {
  grid-column: 2 !important;
  max-width: min(760px, 100%) !important;
  align-self: center !important;
}
.hero-slide-layout.hero-slide-with-portrait .hero-copy-block h1 {
  max-width: 760px !important;
  font-size: clamp(3.2rem, 7.3vw, 7rem) !important;
  line-height: .9 !important;
  letter-spacing: -.075em !important;
}
.hero.hero-has-poster-bg .hero-bg {
  filter: saturate(.98) brightness(.9) !important;
}
.hero.hero-has-poster-bg .hero-bg::before {
  background:
    linear-gradient(90deg, rgba(8,9,13,.94) 0%, rgba(8,9,13,.72) 30%, rgba(8,9,13,.38) 62%, rgba(8,9,13,.84) 100%),
    linear-gradient(0deg, #101218 0%, rgba(8,9,13,.46) 32%, rgba(8,9,13,.08) 72%) !important;
}
.hero-rotator { margin-top: 1.35rem !important; }
.history-section { margin-top: clamp(1.4rem, 3.2vw, 2.6rem) !important; }
@media (max-width: 900px) {
  .hero {
    height: auto !important;
    min-height: 650px !important;
  }
  .hero-content {
    padding-top: 6.2rem !important;
    padding-bottom: 2.6rem !important;
  }
  .hero-slide-layout.hero-slide-with-portrait,
  .hero-slide-layout.hero-slide-no-poster {
    grid-template-columns: minmax(106px, 32vw) minmax(0, 1fr) !important;
    gap: .95rem !important;
    align-items: center !important;
  }
  .hero-slide-layout.hero-slide-with-portrait .hero-feature-poster,
  .hero-feature-poster.hero-feature-poster-left {
    width: min(32vw, 150px) !important;
    min-width: 104px !important;
    border-radius: 18px !important;
    transform: none !important;
  }
  .hero-slide-layout.hero-slide-with-portrait .hero-copy-block h1 {
    font-size: clamp(2.3rem, 12.2vw, 4.4rem) !important;
    max-width: 100% !important;
    overflow-wrap: normal !important;
  }
  .hero-slide-layout.hero-slide-with-portrait .hero-text {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
}
@media (max-width: 560px) {
  .hero {
    min-height: 610px !important;
  }
  .hero-slide-layout.hero-slide-with-portrait,
  .hero-slide-layout.hero-slide-no-poster {
    grid-template-columns: 1fr !important;
    justify-items: start !important;
  }
  .hero-slide-layout.hero-slide-with-portrait .hero-feature-poster,
  .hero-feature-poster.hero-feature-poster-left {
    width: min(42vw, 150px) !important;
  }
  .hero-slide-layout.hero-slide-with-portrait .hero-copy-block { grid-column: 1 !important; }
  .hero-slide-layout.hero-slide-with-portrait .hero-copy-block h1 {
    font-size: clamp(2.6rem, 15vw, 4.6rem) !important;
  }
}

/* === Streamland v6.28 — hero : affiche vraiment à gauche, texte séparé === */
body[data-page="home"] .hero-content {
  width: 100% !important;
  max-width: none !important;
  justify-content: start !important;
  justify-items: start !important;
  padding-left: clamp(1.2rem, 7vw, 8rem) !important;
  padding-right: clamp(1rem, 5vw, 6rem) !important;
}
body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait,
body[data-page="home"] .hero-slide-layout.hero-slide-no-poster {
  width: min(1360px, 100%) !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  justify-content: start !important;
  grid-template-columns: clamp(220px, 20vw, 330px) minmax(0, 780px) !important;
  gap: clamp(2rem, 4.5vw, 5.5rem) !important;
}
body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-feature-poster,
body[data-page="home"] .hero-feature-poster.hero-feature-poster-left {
  grid-column: 1 !important;
  justify-self: start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 330px !important;
  z-index: 6 !important;
}
body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-copy-block {
  grid-column: 2 !important;
  position: relative !important;
  z-index: 7 !important;
  min-width: 0 !important;
  max-width: 780px !important;
  transform: none !important;
}
body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-copy-block h1,
body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-copy-block .meta,
body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-copy-block .hero-text {
  position: relative !important;
  z-index: 8 !important;
}
@media (min-width: 1500px) {
  body[data-page="home"] .hero-content {
    padding-left: clamp(6rem, 10vw, 13rem) !important;
  }
}
@media (max-width: 900px) {
  body[data-page="home"] .hero-content {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait,
  body[data-page="home"] .hero-slide-layout.hero-slide-no-poster {
    grid-template-columns: minmax(104px, 32vw) minmax(0, 1fr) !important;
    gap: 1rem !important;
  }
  body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-feature-poster,
  body[data-page="home"] .hero-feature-poster.hero-feature-poster-left {
    width: min(32vw, 150px) !important;
    max-width: 150px !important;
  }
}
@media (max-width: 560px) {
  body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait,
  body[data-page="home"] .hero-slide-layout.hero-slide-no-poster {
    grid-template-columns: 1fr !important;
  }
  body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-copy-block {
    grid-column: 1 !important;
  }
}

/* === Streamland v6.29 — catalogues plus compacts + accueil mieux espacé === */
.catalog-page .catalog-grid,
.catalog-grid {
  grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)) !important;
  gap: .9rem !important;
}
.catalog-grid .content-card {
  height: clamp(132px, 8.6vw, 150px) !important;
  border-radius: 8px !important;
  padding: .64rem !important;
}
.catalog-grid .content-card h3 {
  font-size: clamp(.92rem, .92vw, 1.08rem) !important;
  line-height: 1.08 !important;
  -webkit-line-clamp: 2 !important;
}
.catalog-grid .content-card p,
.catalog-grid .content-card small {
  font-size: .69rem !important;
  line-height: 1.18 !important;
  opacity: .86 !important;
}
.catalog-grid .content-card .badge {
  font-size: .58rem !important;
  padding: .18rem .34rem !important;
}

body[data-page="home"] .card-row,
body[data-page="home"] .history-row,
body[data-page="home"] .ranked-row {
  gap: .9rem !important;
  padding-top: .32rem !important;
  padding-bottom: 1.25rem !important;
}
body[data-page="home"] .card-row {
  grid-auto-columns: minmax(235px, 16vw) !important;
}
body[data-page="home"] .ranked-row {
  grid-auto-columns: minmax(255px, 18vw) !important;
}
body[data-page="home"] .history-row {
  grid-auto-columns: minmax(225px, 15.5vw) !important;
}
body[data-page="home"] .content-section {
  padding-bottom: 1.15rem !important;
}
body[data-page="home"] .section-title {
  margin-bottom: .52rem !important;
}
body[data-page="home"] .card-row .content-card,
body[data-page="home"] .history-row .content-card,
body[data-page="home"] .ranked-row .content-card {
  border-radius: 8px !important;
}

@media (max-width: 900px) {
  .catalog-grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
    gap: .75rem !important;
  }
  .catalog-grid .content-card {
    height: 138px !important;
  }
  body[data-page="home"] .card-row,
  body[data-page="home"] .history-row,
  body[data-page="home"] .ranked-row {
    gap: .78rem !important;
  }
  body[data-page="home"] .card-row,
  body[data-page="home"] .history-row {
    grid-auto-columns: minmax(218px, 70vw) !important;
  }
}
@media (max-width: 650px) {
  .catalog-grid {
    grid-template-columns: 1fr !important;
  }
  .catalog-grid .content-card {
    height: 142px !important;
  }
  .catalog-grid .content-card h3 {
    font-size: 1rem !important;
  }
  body[data-page="home"] .content-section {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  body[data-page="home"] .card-row,
  body[data-page="home"] .history-row {
    grid-auto-columns: minmax(210px, 72vw) !important;
  }
  body[data-page="home"] .ranked-row {
    grid-auto-columns: minmax(232px, 76vw) !important;
  }
}


/* v6.30 admin membres */
.admin-member-row { align-items: flex-start; gap: 18px; }
.admin-member-head { display: flex; align-items: center; gap: 12px; min-width: 0; }
.admin-member-avatar { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 16px; display: grid; place-items: center; background: linear-gradient(135deg, rgba(124,58,237,.45), rgba(34,197,94,.25)); background-size: cover; background-position: center; font-weight: 900; color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.admin-member-editor { margin-top: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 10px 12px; background: rgba(255,255,255,.035); }
.admin-member-editor summary { cursor: pointer; font-weight: 800; color: rgba(255,255,255,.86); }
.admin-member-form { display: grid; gap: 10px; margin-top: 10px; }
.admin-member-form input { width: 100%; }
.admin-visitors-list { display: grid; gap: 10px; margin-top: 18px; }
.admin-visitor-row { border-color: rgba(56,189,248,.18); background: rgba(14,165,233,.07); }
@media (max-width: 760px) { .admin-member-row { grid-template-columns: 1fr; } .admin-user-actions { width: 100%; } .admin-member-head { align-items: flex-start; } }


/* === Streamland v6.31 — hero texte propre, catalogues restaurés, croix centrée === */
body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait,
body[data-page="home"] .hero-slide-layout.hero-slide-no-poster {
  grid-template-columns: clamp(250px, 22vw, 350px) minmax(520px, 780px) !important;
  gap: clamp(3rem, 5.4vw, 6.5rem) !important;
  align-items: center !important;
}
body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-copy-block {
  display: grid !important;
  gap: .78rem !important;
  align-content: center !important;
  width: 100% !important;
  max-width: 780px !important;
  overflow: visible !important;
}
body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-copy-block h1 {
  display: block !important;
  max-width: 760px !important;
  margin: .06rem 0 .1rem !important;
  font-size: clamp(3rem, 5.5vw, 5.75rem) !important;
  line-height: .98 !important;
  letter-spacing: -.06em !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  text-wrap: balance;
}
body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: .28rem !important;
  margin: 0 !important;
  max-width: 680px !important;
  line-height: 1.35 !important;
}
body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-text {
  max-width: 650px !important;
  margin: .35rem 0 .15rem !important;
  font-size: clamp(1.02rem, 1.22vw, 1.22rem) !important;
  line-height: 1.58 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-feature-poster,
body[data-page="home"] .hero-feature-poster.hero-feature-poster-left {
  max-width: 350px !important;
}
body[data-page="home"] .hero-actions {
  margin-top: .55rem !important;
}
body[data-page="home"] .hero-rotator {
  margin-top: .55rem !important;
}

/* Les cartes des catalogues reviennent à la taille cinéma d'avant v6.29. */
body[data-page="films"] .catalog-grid,
body[data-page="series"] .catalog-grid,
body[data-page="anime"] .catalog-grid,
body[data-page="explorer"] .catalog-grid {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.35rem) !important;
}
body[data-page="films"] .catalog-grid .content-card,
body[data-page="series"] .catalog-grid .content-card,
body[data-page="anime"] .catalog-grid .content-card,
body[data-page="explorer"] .catalog-grid .content-card {
  height: auto !important;
  min-height: 330px !important;
  aspect-ratio: auto !important;
  border-radius: 24px !important;
  padding: 1rem !important;
}
body[data-page="films"] .catalog-grid .content-card h3,
body[data-page="series"] .catalog-grid .content-card h3,
body[data-page="anime"] .catalog-grid .content-card h3,
body[data-page="explorer"] .catalog-grid .content-card h3 {
  font-size: clamp(1.12rem, 1.25vw, 1.4rem) !important;
  line-height: 1.08 !important;
}
body[data-page="films"] .catalog-grid .content-card p,
body[data-page="films"] .catalog-grid .content-card small,
body[data-page="series"] .catalog-grid .content-card p,
body[data-page="series"] .catalog-grid .content-card small,
body[data-page="anime"] .catalog-grid .content-card p,
body[data-page="anime"] .catalog-grid .content-card small,
body[data-page="explorer"] .catalog-grid .content-card p,
body[data-page="explorer"] .catalog-grid .content-card small {
  font-size: .84rem !important;
  line-height: 1.35 !important;
}
body[data-page="films"] .catalog-grid .content-card .badge,
body[data-page="series"] .catalog-grid .content-card .badge,
body[data-page="anime"] .catalog-grid .content-card .badge,
body[data-page="explorer"] .catalog-grid .content-card .badge {
  font-size: .68rem !important;
  padding: .26rem .5rem !important;
}

/* Croix bien centrée dans le rond des fenêtres : Votre espace, recherche, menu, etc. */
.close-btn,
.stream-overlay-close,
.ad-close-soft {
  display: inline-grid !important;
  place-items: center !important;
  align-content: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}
.close-btn { border-radius: 999px !important; }

@media (max-width: 1100px) {
  body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait,
  body[data-page="home"] .hero-slide-layout.hero-slide-no-poster {
    grid-template-columns: minmax(170px, 30vw) minmax(0, 1fr) !important;
    gap: clamp(1.2rem, 4vw, 2.4rem) !important;
  }
  body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-copy-block h1 {
    font-size: clamp(2.4rem, 8vw, 4.7rem) !important;
  }
}
@media (max-width: 760px) {
  body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait,
  body[data-page="home"] .hero-slide-layout.hero-slide-no-poster {
    grid-template-columns: minmax(110px, 36vw) minmax(0, 1fr) !important;
    gap: .95rem !important;
  }
  body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-copy-block h1 {
    font-size: clamp(2rem, 11vw, 3.55rem) !important;
    letter-spacing: -.052em !important;
  }
  body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-text { -webkit-line-clamp: 2 !important; }
  body[data-page="films"] .catalog-grid,
  body[data-page="series"] .catalog-grid,
  body[data-page="anime"] .catalog-grid,
  body[data-page="explorer"] .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .85rem !important;
  }
  body[data-page="films"] .catalog-grid .content-card,
  body[data-page="series"] .catalog-grid .content-card,
  body[data-page="anime"] .catalog-grid .content-card,
  body[data-page="explorer"] .catalog-grid .content-card {
    min-height: 275px !important;
    border-radius: 18px !important;
    padding: .85rem !important;
  }
}
@media (max-width: 560px) {
  body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait,
  body[data-page="home"] .hero-slide-layout.hero-slide-no-poster {
    grid-template-columns: 1fr !important;
  }
  body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-feature-poster,
  body[data-page="home"] .hero-feature-poster.hero-feature-poster-left {
    width: min(42vw, 150px) !important;
    max-width: 150px !important;
  }
  body[data-page="home"] .hero-slide-layout.hero-slide-with-portrait .hero-copy-block h1 {
    font-size: clamp(2.25rem, 13vw, 4rem) !important;
  }
  body[data-page="films"] .catalog-grid,
  body[data-page="series"] .catalog-grid,
  body[data-page="anime"] .catalog-grid,
  body[data-page="explorer"] .catalog-grid {
    grid-template-columns: 1fr !important;
  }
  body[data-page="films"] .catalog-grid .content-card,
  body[data-page="series"] .catalog-grid .content-card,
  body[data-page="anime"] .catalog-grid .content-card,
  body[data-page="explorer"] .catalog-grid .content-card {
    min-height: 290px !important;
  }
}

/* === Streamland v6.32 — profils publics, avatars avis/admin, suppression avis === */
.review-meta-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
}
.review-author {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.review-author:hover .review-author-copy strong { color: var(--accent); }
.review-author-avatar {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(124,58,237,.6), rgba(34,197,94,.28));
  background-size: cover;
  background-position: center;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 10px 22px rgba(0,0,0,.28);
}
.review-author-copy {
  display: grid;
  gap: .1rem;
  min-width: 0;
}
.review-author-copy strong {
  color: var(--text);
  line-height: 1.05;
}
.review-author-copy small {
  color: var(--muted);
  font-size: .76rem;
}
.review-stars {
  white-space: nowrap;
  color: var(--accent-2);
  font-weight: 800;
}
.review-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: .65rem;
}
.review-delete-btn {
  border: 1px solid rgba(248,113,113,.35);
  color: #fecaca;
  background: rgba(248,113,113,.08);
  border-radius: 999px;
  padding: .42rem .72rem;
  font-weight: 800;
  cursor: pointer;
}
.review-delete-btn:hover { background: rgba(248,113,113,.18); color: #fff; }
.public-profile-page { max-width: 1180px; margin: 0 auto; }
.public-profile-page .profile-actions-row { margin-top: 1.25rem; }
.profile-editor select,
.admin-member-form select {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(10,12,18,.86);
  color: var(--text);
  padding: 0 .9rem;
}
.admin-privacy-field { display: grid; gap: .4rem; color: var(--muted); font-weight: 800; }
.admin-member-profiles {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: .75rem 0 .2rem;
}
.admin-mini-profile {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  padding: .35rem .55rem .35rem .38rem;
  max-width: 260px;
}
.admin-mini-profile i {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(124,58,237,.28);
  background-size: cover;
  background-position: center;
  font-style: normal;
  font-size: .92rem;
}
.admin-mini-profile b {
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 110px;
}
.admin-mini-profile em {
  font-style: normal;
  color: var(--muted);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.admin-member-avatar.has-photo,
.admin-mini-profile i.has-photo,
.review-author-avatar.has-photo { color: transparent; }
@media (max-width: 720px) {
  .review-meta-row,
  .review-foot { align-items: flex-start !important; flex-direction: column; }
  .review-stars { white-space: normal; }
  .admin-mini-profile { max-width: 100%; }
}

/* === v6.33 — bandeaux catalogues plus compacts ===
   Réduit uniquement le grand embed/hero en haut des catalogues Films, Séries et Animés.
   Les cartes de films restent à la taille de la v6.31/v6.32. */
body[data-page="films"] .catalog-page,
body[data-page="series"] .catalog-page,
body[data-page="anime"] .catalog-page {
  padding-top: calc(var(--hud-h, 76px) + 18px) !important;
}
body[data-page="films"] .catalog-hero,
body[data-page="series"] .catalog-hero,
body[data-page="anime"] .catalog-hero {
  min-height: clamp(230px, 34vh, 365px) !important;
  height: auto !important;
  max-width: min(1440px, calc(100vw - clamp(2rem, 8vw, 7rem))) !important;
  margin: clamp(.8rem, 1.8vw, 1.4rem) auto clamp(1rem, 2vw, 1.6rem) !important;
  padding: clamp(2rem, 4vw, 4.2rem) clamp(1.8rem, 5vw, 5.2rem) !important;
  border-radius: 26px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  overflow: hidden !important;
}
body[data-page="films"] .catalog-hero .eyebrow,
body[data-page="series"] .catalog-hero .eyebrow,
body[data-page="anime"] .catalog-hero .eyebrow {
  margin: 0 0 .75rem !important;
  font-size: clamp(.78rem, 1vw, .98rem) !important;
  letter-spacing: .22em !important;
}
body[data-page="films"] .catalog-hero h1,
body[data-page="series"] .catalog-hero h1,
body[data-page="anime"] .catalog-hero h1 {
  margin: 0 0 .8rem !important;
  font-size: clamp(3.6rem, 7.2vw, 6.8rem) !important;
  line-height: .86 !important;
  max-width: 760px !important;
}
body[data-page="films"] .catalog-hero p:not(.eyebrow),
body[data-page="series"] .catalog-hero p:not(.eyebrow),
body[data-page="anime"] .catalog-hero p:not(.eyebrow) {
  margin: 0 !important;
  max-width: 620px !important;
  font-size: clamp(.98rem, 1.25vw, 1.14rem) !important;
  line-height: 1.45 !important;
}
body[data-page="films"] .filters,
body[data-page="series"] .filters,
body[data-page="anime"] .filters,
body[data-page="films"] .catalog-grid,
body[data-page="series"] .catalog-grid,
body[data-page="anime"] .catalog-grid {
  max-width: min(1440px, calc(100vw - clamp(2rem, 8vw, 7rem))) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 900px) {
  body[data-page="films"] .catalog-hero,
  body[data-page="series"] .catalog-hero,
  body[data-page="anime"] .catalog-hero {
    min-height: 220px !important;
    max-width: calc(100vw - 2rem) !important;
    padding: 2rem 1.35rem !important;
    border-radius: 22px !important;
  }
  body[data-page="films"] .catalog-hero h1,
  body[data-page="series"] .catalog-hero h1,
  body[data-page="anime"] .catalog-hero h1 {
    font-size: clamp(3rem, 15vw, 5rem) !important;
  }
  body[data-page="films"] .filters,
  body[data-page="series"] .filters,
  body[data-page="anime"] .filters,
  body[data-page="films"] .catalog-grid,
  body[data-page="series"] .catalog-grid,
  body[data-page="anime"] .catalog-grid {
    max-width: calc(100vw - 2rem) !important;
  }
}
@media (max-width: 560px) {
  body[data-page="films"] .catalog-hero,
  body[data-page="series"] .catalog-hero,
  body[data-page="anime"] .catalog-hero {
    min-height: 185px !important;
    padding: 1.65rem 1rem !important;
  }
  body[data-page="films"] .catalog-hero h1,
  body[data-page="series"] .catalog-hero h1,
  body[data-page="anime"] .catalog-hero h1 {
    font-size: clamp(2.55rem, 17vw, 4.2rem) !important;
  }
}

/* v6.34 - Lecteurs externes autorisés */
.external-player-settings textarea,
.external-source-import-box textarea {
  min-height: 140px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  line-height: 1.5;
}
.external-source-import-box {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
}
.external-source-import-box summary {
  cursor: pointer;
  font-weight: 800;
  letter-spacing: .02em;
  color: var(--text);
}
.external-source-import-box[open] summary {
  margin-bottom: 14px;
}
.source-admin-form .media-form-title small {
  max-width: 760px;
}
.watch-empty .btn + .btn,
.watch-empty button + a {
  margin-left: 10px;
  margin-top: 10px;
}

/* v6.35 — assistance temps réel */
.support-admin-panel,
.support-customer-inbox {
  display: grid;
  gap: 1rem;
}
.support-service-card,
.support-admin-toolbar,
.support-inbox-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.045);
  border-radius: 22px;
}
.support-switch {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .85rem;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  font-weight: 800;
  color: #fff;
  white-space: nowrap;
}
.support-switch input { width: 18px; height: 18px; accent-color: #22c55e; }
.support-admin-list,
.support-customer-inbox { margin-top: 1rem; }
.support-thread {
  display: grid;
  gap: .8rem;
  padding: 1rem;
  margin-bottom: .9rem;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 18px 50px rgba(0,0,0,.22);
}
.support-thread.is-unread-admin,
.support-thread.is-unread-user { border-color: rgba(245,158,11,.5); box-shadow: 0 18px 55px rgba(245,158,11,.12); }
.support-thread-head,
.support-reply,
.support-float-item {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
}
.support-thread-head strong { display: block; font-size: 1rem; }
.support-thread-head small,
.support-reply small,
.support-float-item span { color: #b8bfcc; font-size: .82rem; }
.support-thread-message,
.support-reply p { margin: 0; color: #eef2f8; line-height: 1.55; overflow-wrap: anywhere; }
.support-avatar {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  color: #fff;
  font-weight: 900;
  background: linear-gradient(135deg, #f59e0b, #ef4444);
  background-size: cover;
  background-position: center;
  border: 2px solid rgba(255,255,255,.18);
}
.support-avatar.small { width: 30px; height: 30px; font-size: .75rem; }
.support-replies {
  display: grid;
  gap: .55rem;
  padding-left: .5rem;
  border-left: 2px solid rgba(255,255,255,.12);
}
.support-reply {
  padding: .7rem;
  border-radius: 16px;
  background: rgba(0,0,0,.18);
}
.support-reply.from-admin { background: rgba(245,158,11,.11); }
.support-reply-form {
  display: grid;
  gap: .65rem;
}
.support-reply-form textarea {
  min-height: 82px;
  border-radius: 16px;
  padding: .8rem;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.26);
  color: #fff;
  resize: vertical;
}
.support-thread-actions { display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; }
.floating-support-widget {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 1200;
  width: min(360px, calc(100vw - 24px));
  pointer-events: none;
}
.floating-support-widget > * { pointer-events: auto; }
.support-float-card,
.support-float-mini {
  display: grid;
  gap: .75rem;
  padding: .95rem;
  border-radius: 24px;
  background: rgba(15,17,23,.92);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 24px 80px rgba(0,0,0,.45);
  backdrop-filter: blur(18px);
}
.support-float-card.compact { grid-template-columns: 1fr auto; align-items: center; }
.support-float-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: .75rem;
}
.support-float-head strong,
.support-float-card strong { color: #fff; display: block; }
.support-float-head small,
.support-float-card small { color: #b8bfcc; display: block; }
.support-float-off {
  border: 0;
  border-radius: 999px;
  padding: .45rem .7rem;
  background: rgba(255,255,255,.1);
  color: #fff;
  cursor: pointer;
}
.support-float-item {
  padding: .55rem;
  border-radius: 16px;
  background: rgba(255,255,255,.055);
}
.support-float-item.unread { background: rgba(245,158,11,.14); }
.support-float-item b { color: #fff; display: block; font-size: .9rem; }
.support-float-mini {
  grid-template-columns: auto 1fr;
  align-items: center;
  color: #fff;
  text-decoration: none;
}
.support-float-mini b {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f59e0b;
  color: #111827;
}
.admin-direct-message-form {
  padding: 1rem;
  border-radius: 22px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.1);
}
@media (max-width: 720px) {
  .support-service-card,
  .support-admin-toolbar,
  .support-inbox-title { align-items: flex-start; flex-direction: column; }
  .floating-support-widget { left: 12px; right: 12px; bottom: 12px; width: auto; }
  .support-float-card.compact { grid-template-columns: 1fr; }
}


/* v6.36 - pop-up publicitaire non-VIP */
.site-popup-ad-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(5, 7, 12, 0.62);
  backdrop-filter: blur(10px);
}
.site-popup-ad-card {
  width: min(520px, 94vw);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(18,22,34,.98), rgba(9,10,15,.98));
  box-shadow: 0 28px 90px rgba(0,0,0,.55);
  position: relative;
}
.site-popup-ad-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(0,0,0,.56);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}
.site-popup-ad-media {
  min-height: 155px;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 30% 20%, rgba(245,158,11,.30), transparent 35%), linear-gradient(135deg, #161827, #0b0d14);
  background-size: cover;
  background-position: center;
  color: rgba(255,255,255,.82);
  font-weight: 900;
  letter-spacing: .18em;
}
.site-popup-ad-body { padding: 22px; }
.site-popup-ad-body h3 { margin: 4px 0 8px; font-size: clamp(1.35rem, 4vw, 2rem); }
.site-popup-ad-body p { color: rgba(255,255,255,.76); margin: 0 0 16px; }
.site-popup-ad-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.site-popup-ad-body small { display: block; margin-top: 12px; color: rgba(255,255,255,.52); }

/* v6.37 — catalogue admin repliable + statistiques respirantes */
.catalog-manager .admin-content-list {
  gap: clamp(1rem, 1.8vw, 1.35rem) !important;
}
.catalog-manager .staff-content-card.clean-admin-card {
  padding: clamp(.9rem, 1.6vw, 1.2rem) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
}
.catalog-manager .staff-content-card.clean-admin-card:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,.055) !important;
}
.catalog-manager .admin-content-head {
  align-items: center !important;
}
.content-toggle-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .45rem !important;
  min-width: 112px !important;
}
.content-toggle-btn .toggle-arrow {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  transition: transform .2s ease, background .2s ease;
  line-height: 1;
}
.content-toggle-btn[aria-expanded="true"] .toggle-arrow {
  transform: rotate(180deg);
  background: rgba(229,9,20,.16);
}
.admin-content-details[hidden] {
  display: none !important;
}
.admin-content-details {
  display: grid;
  gap: 1rem;
  margin-top: .95rem;
  padding-top: .95rem;
  border-top: 1px solid rgba(255,255,255,.08);
  animation: adminDetailsSlide .18s ease both;
}
@keyframes adminDetailsSlide {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}
.catalog-manager .staff-content-card.has-playback { box-shadow: inset 4px 0 0 rgba(34,197,94,.88), 0 14px 32px rgba(0,0,0,.12) !important; }
.catalog-manager .staff-content-card.missing-playback { box-shadow: inset 4px 0 0 rgba(248,113,113,.86), 0 14px 32px rgba(0,0,0,.12) !important; }
.catalog-manager .status-pill.playback.ready,
.catalog-manager .status-pill.ok { color: #bbf7d0 !important; border-color: rgba(34,197,94,.36) !important; background: rgba(34,197,94,.12) !important; }
.catalog-manager .status-pill.playback.missing { color: #fecaca !important; border-color: rgba(239,68,68,.40) !important; background: rgba(239,68,68,.12) !important; }

.staff-stats-panel {
  display: grid !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
}
.stats-range-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .65rem !important;
  margin: .25rem 0 .35rem !important;
}
.staff-stats-grid {
  display: grid !important;
  gap: clamp(1.15rem, 2.2vw, 1.65rem) !important;
}
.staff-stats-cards {
  display: grid !important;
  gap: clamp(.95rem, 1.9vw, 1.3rem) !important;
}
.staff-stat-card {
  padding: clamp(1rem, 1.8vw, 1.25rem) !important;
  min-height: 128px !important;
  align-content: start !important;
}
.staff-chart-grid {
  display: grid !important;
  gap: clamp(1rem, 2vw, 1.4rem) !important;
  margin-top: .15rem !important;
}
.staff-chart-card {
  padding: clamp(1rem, 1.8vw, 1.25rem) !important;
  min-height: 270px !important;
}
.staff-chart-head {
  margin-bottom: .95rem !important;
}
.traffic-list {
  gap: .75rem !important;
}
.traffic-row {
  padding-block: .85rem !important;
}
@media (max-width: 760px) {
  .catalog-manager .admin-content-head { align-items: stretch !important; }
  .content-toggle-btn { width: 100% !important; min-width: 0 !important; }
  .staff-stat-card { min-height: auto !important; }
}
