/* NStreamPro — site public (vitrine, catalogue, support) */
body.site { background: #0a0a0c; }
.st-top { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 26px; padding: 14px 4vw;
  background: rgba(10,10,12,.86); backdrop-filter: blur(12px); border-bottom: 1px solid #ffffff0d; }
.st-top .logo { text-decoration: none; font-size: 22px; }
.st-nav { display: flex; gap: 6px; }
.st-nav a { color: #c9cfdb; font-weight: 500; padding: 8px 12px; border-radius: 8px; text-decoration: none; }
.st-nav a:hover, .st-nav a.active { color: #fff; background: #ffffff10; }
.st-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.st-actions .lang-select { width: auto; padding: 6px 8px; }
.st-actions span { display: inline-flex; gap: 10px; }
.st-burger { display: none; background: none; border: 0; color: #fff; font-size: 24px; cursor: pointer; }
@media (max-width: 900px) {
  .st-burger { display: block; }
  .st-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; background: #0f1015; padding: 10px 4vw 16px; border-bottom: 1px solid #ffffff12; }
  .st-nav.open { display: flex; }
  .st-actions .btn.ghost { display: none; }
}

/* héros avec mur d'affiches */
.st-hero { position: relative; min-height: 640px; display: flex; align-items: center; overflow: hidden; }
.st-wall { position: absolute; inset: -10% -5%; display: grid; grid-template-columns: repeat(7, 1fr); gap: 12px; transform: rotate(-8deg) scale(1.15);
  opacity: .5; animation: drift 60s linear infinite alternate; }
.st-wall img { width: 100%; aspect-ratio: 2/3; object-fit: cover; border-radius: 10px; background: #1c1f27; }
@keyframes drift { from { transform: rotate(-8deg) scale(1.15) translateY(0); } to { transform: rotate(-8deg) scale(1.15) translateY(-12%); } }
.st-hero-shade { position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 50%, rgba(10,10,12,.55), rgba(10,10,12,.92) 65%),
  linear-gradient(0deg, #0a0a0c 0%, rgba(10,10,12,0) 30%); }
.st-hero-text { position: relative; max-width: 720px; padding: 60px 4vw; }
.st-eyebrow { display: inline-block; color: var(--accent-2); font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; font-size: 13px; margin-bottom: 14px; }
.st-hero h1 { font-size: clamp(38px, 6vw, 72px); line-height: 1.02; letter-spacing: -2px; margin: 0 0 20px; }
.st-hero p { font-size: 18px; line-height: 1.6; color: #d3d8e2; max-width: 620px; }
.st-from { margin-top: 10px; font-size: 15px; }
@media (max-width: 700px) { .st-hero { min-height: 560px; } .st-wall { grid-template-columns: repeat(4, 1fr); } }

/* chiffres */
.st-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; max-width: 1100px; margin: -40px auto 20px; position: relative;
  background: #ffffff10; border-radius: 16px; overflow: hidden; border: 1px solid #ffffff12; }
.st-stats div { background: #12131a; padding: 22px; text-align: center; display: flex; flex-direction: column; gap: 4px; }
.st-stats b { font-size: 34px; font-weight: 800; background: linear-gradient(90deg, #fff, #ffb4b6); -webkit-background-clip: text; background-clip: text; color: transparent; }
.st-stats span { color: var(--muted); font-size: 14px; }
@media (max-width: 700px) { .st-stats { grid-template-columns: repeat(2, 1fr); margin: 0 4vw 20px; } }

/* rangées d'affiches */
.st-band { padding: 18px 4vw 6px; }
.st-row-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.st-row-head h2 { margin: 0; font-size: 24px; }
.st-row-head a { text-decoration: none; }
.st-posters { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 7 * 14px) / 8); gap: 14px; overflow-x: auto; scrollbar-width: none; padding-bottom: 6px; }
.st-posters::-webkit-scrollbar { display: none; }
@media (max-width: 1300px) { .st-posters { grid-auto-columns: calc((100% - 5 * 14px) / 6); } }
@media (max-width: 900px) { .st-posters { grid-auto-columns: 30vw; } }
@media (max-width: 600px) { .st-posters { grid-auto-columns: 40vw; } }
.st-poster { display: flex; flex-direction: column; gap: 4px; text-decoration: none; color: inherit; min-width: 0; }
.st-poster-img { position: relative; display: block; aspect-ratio: 2/3; border-radius: 10px; overflow: hidden; background: linear-gradient(135deg, #1d2230, #2a1520); }
.st-poster-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.st-poster-img img.broken { visibility: hidden; }
.st-poster-name { position: absolute; inset: auto 8px 8px; font-weight: 700; font-size: 14px; text-shadow: 0 1px 6px #000; display: none; }
.st-poster-img img.broken + .st-poster-name { display: block; }
.st-poster:hover .st-poster-img { box-shadow: 0 0 0 3px var(--accent); }
.st-poster:hover img { transform: scale(1.05); }
.st-poster-title { font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.st-poster-year { font-size: 12.5px; color: var(--muted); }

/* sections */
.st-section { max-width: 1240px; margin: 0 auto; padding: 60px 4vw 20px; }
.st-title { font-size: clamp(28px, 3.4vw, 40px); letter-spacing: -1px; text-align: center; margin: 0 0 8px; }
.st-sub { text-align: center; margin: 0 auto 26px; max-width: 640px; }
.center { text-align: center; }
.st-ico { font-size: 34px; }
.st-why .ap-card { padding: 24px; }

/* formules */
.st-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 18px; align-items: stretch; }
.st-plan { position: relative; background: #12131a; border: 1px solid #ffffff14; border-radius: 18px; padding: 26px 22px; display: flex; flex-direction: column; gap: 8px; }
.st-plan.hot { border-color: var(--accent); box-shadow: 0 20px 60px rgba(229,72,77,.18); transform: translateY(-6px); }
.st-plan h3 { margin: 0; font-size: 18px; color: #c9cfdb; }
.st-price { font-size: clamp(24px, 2.2vw, 32px); font-weight: 800; letter-spacing: -1px; white-space: nowrap; }
.st-plan ul { list-style: none; padding: 0; margin: 10px 0 18px; display: flex; flex-direction: column; gap: 8px; }
.st-plan li::before { content: "✓"; color: #4ade80; font-weight: 800; margin-right: 8px; }
.st-plan .btn { margin-top: auto; text-align: center; justify-content: center; }
.st-plan-tag { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--accent); color: #fff; font-size: 12px;
  font-weight: 700; padding: 4px 12px; border-radius: 999px; white-space: nowrap; }
.st-pay-logos { display: flex; justify-content: center; gap: 10px; margin-top: 22px; }
.pay-pill { padding: 6px 14px; border-radius: 999px; font-weight: 700; font-size: 13px; }
.pay-pill.tm { background: #facc15; color: #111; }
.pay-pill.fl { background: #0ea5e9; color: #fff; }
.pay-pill.pp { background: #0070ba; color: #fff; }

/* appareils */
.st-devices { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; }
.st-dev { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 24px 14px; border-radius: 16px; background: #12131a;
  border: 1px solid #ffffff10; text-decoration: none; color: inherit; text-align: center; }
.st-dev span { font-size: 36px; }
.st-dev small { color: var(--muted); }
.st-dev:hover { border-color: var(--accent); }

/* FAQ */
.st-faq { max-width: 860px; margin: 0 auto 18px; display: flex; flex-direction: column; gap: 10px; }
.st-q { background: #12131a; border: 1px solid #ffffff10; border-radius: 12px; padding: 0 18px; }
.st-q summary { cursor: pointer; padding: 16px 0; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.st-q summary::after { content: "+"; color: var(--accent); font-size: 22px; line-height: 1; }
.st-q[open] summary::after { content: "−"; }
.st-q p { margin: 0 0 16px; color: #c9cfdb; line-height: 1.6; }

/* appel final */
.st-cta { margin: 60px 4vw; padding: 50px 30px; text-align: center; border-radius: 24px;
  background: radial-gradient(800px 300px at 50% 0%, rgba(229,72,77,.35), transparent), #12131a; border: 1px solid #ffffff12; }
.st-cta h2 { font-size: clamp(28px, 4vw, 44px); margin: 0 0 8px; }
.st-cta p { color: #c9cfdb; margin: 0 0 22px; }

/* démo */
.st-demo-player { position: relative; height: min(70vh, 640px); background: #000; overflow: hidden; }
.st-demo-player video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.st-demo-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,10,12,.95) 0%, rgba(10,10,12,.6) 45%, rgba(10,10,12,.1) 75%),
  linear-gradient(0deg, #0a0a0c, rgba(10,10,12,0) 35%); }
.st-demo-info { position: absolute; left: 4vw; bottom: 50px; max-width: 620px; }
.st-demo-info h1 { font-size: clamp(30px, 4.5vw, 52px); margin: 0 0 8px; letter-spacing: -1px; }
.st-demo-info p { line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.st-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.st-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 20px 14px; margin-bottom: 26px; }

/* support */
.st-support { display: grid; grid-template-columns: 1.3fr 1fr; gap: 30px; align-items: start; }
.st-support h1 { font-size: clamp(28px, 4vw, 42px); margin: 0 0 20px; }
.st-support .st-faq { margin: 0; }
.st-contact h2 { margin: 0 0 4px; }
.st-quick { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 18px; }
.btn.wa { background: #25d366; color: #fff; border-color: #25d366; }
.st-hp { position: absolute; left: -9999px; opacity: 0; height: 0; }
#st-ticket-msg.ok { color: #4ade80; }
@media (max-width: 900px) { .st-support { grid-template-columns: 1fr; } }

/* pied de page */
.st-foot { border-top: 1px solid #ffffff10; margin-top: 60px; padding: 40px 4vw 26px; background: #0c0d11; }
.st-foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 30px; max-width: 1240px; margin: 0 auto; }
.st-foot-grid h4 { margin: 0 0 12px; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; color: var(--muted); }
.st-foot-grid a { display: block; color: #c9cfdb; text-decoration: none; margin: 0 0 8px; font-size: 14px; }
.st-foot-grid a:hover { color: #fff; }
#st-foot-contact a { display: inline-block; margin-right: 14px; }
.st-copy { max-width: 1240px; margin: 26px auto 0; padding-top: 18px; border-top: 1px solid #ffffff0a; text-align: center; }
@media (max-width: 800px) { .st-foot-grid { grid-template-columns: 1fr 1fr; } }
.st-contact .sb-form { display: flex; flex-direction: column; gap: 14px; }
.st-contact .sb-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: #c9cfdb; }
.st-contact textarea { width: 100%; resize: vertical; background: var(--panel-2, #1c1f27); color: var(--text); border: 1px solid #ffffff1f;
  border-radius: 10px; padding: 10px 12px; font: inherit; }
.st-contact .sb-error { color: var(--accent-2); min-height: 1.2em; margin: 0; }
