/* NounoursTV Cinéma */
.cin-hero{position:relative;border-radius:18px;overflow:hidden;padding:34px 30px;margin-bottom:22px;background:linear-gradient(120deg,#1a0510,#3b0a1d 55%,#0b0b14);color:#fff}
.cin-hero h1{font-size:2rem;margin:0 0 6px;color:#fff}
.cin-hero p{color:rgba(255,255,255,.75);margin:0;max-width:620px}
.cin-hero .row{margin-top:16px}
.cin-hero::after{content:"🎬";position:absolute;right:26px;top:50%;transform:translateY(-50%);font-size:6rem;opacity:.18}
.cin-day{font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin:26px 0 10px}
.cin-shows{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.cin-show{display:flex;gap:14px;padding:12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);transition:border-color .15s,transform .15s}
.cin-show:hover{border-color:var(--acc);transform:translateY(-1px)}
.cin-show img,.cin-show .ph{width:92px;aspect-ratio:2/3;object-fit:cover;border-radius:10px;background:var(--surface-2);flex-shrink:0;display:grid;place-items:center;font-size:2rem}
.cin-show h3{margin:0 0 4px;font-size:1.02rem;line-height:1.25}
.cin-show .meta{display:flex;flex-wrap:wrap;gap:6px;font-size:.78rem;color:var(--text-3);margin-bottom:8px}
.cin-time{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.cin-time small{font-size:.72rem;font-weight:600;color:var(--text-3);letter-spacing:0;margin-left:4px}
.cin-show .foot{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:8px}
.cin-show .body{display:flex;flex-direction:column;min-width:0;flex:1}
.cin-left{font-size:.78rem;font-weight:650}
.cin-left.low{color:var(--warn)}
.cin-left.none{color:var(--err)}
.cin-price{margin-left:auto;font-weight:750}

/* Plan de salle */
.cin-book{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
.cin-screen-arc{height:34px;margin:4px auto 26px;width:80%;border-top:5px solid var(--acc);border-radius:50%/100% 100% 0 0;text-align:center;font-size:.7rem;letter-spacing:.3em;color:var(--text-3);padding-top:10px;box-shadow:0 -14px 30px -18px var(--acc)}
.cin-map{overflow-x:auto;padding-bottom:10px}
.cin-grid{display:grid;gap:6px;justify-content:center;margin:0 auto}
.cin-seat{width:30px;height:28px;border-radius:7px 7px 4px 4px;border:0;background:var(--surface-2);box-shadow:inset 0 -3px 0 rgba(0,0,0,.12);color:var(--text-3);font-size:.6rem;font-weight:700;cursor:pointer;padding:0}
.cin-seat:hover{background:var(--acc-soft);color:var(--acc)}
.cin-seat.taken{background:repeating-linear-gradient(45deg,var(--line),var(--line) 3px,transparent 3px,transparent 6px);cursor:not-allowed;color:transparent}
.cin-seat.mine{background:var(--ok);color:#fff;cursor:default}
.cin-seat.sel{background:var(--acc);color:#fff}
.cin-seat.gap{visibility:hidden}
.cin-rowl{width:18px;display:grid;place-items:center;font-size:.7rem;font-weight:700;color:var(--text-3)}
.cin-legend{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:14px;font-size:.78rem;color:var(--text-2)}
.cin-legend span{display:inline-flex;align-items:center;gap:6px}
.cin-legend .cin-seat{width:16px;height:14px;cursor:default}
.cin-sum{position:sticky;top:calc(var(--header-h) + 16px)}
.cin-sum .poster{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin-bottom:12px;background:var(--surface-2)}
.cin-sum dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:.88rem;margin:12px 0}
.cin-sum dt{color:var(--text-3)}
.cin-sum dd{margin:0;font-weight:600}
.cin-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:12px;margin-top:6px}
.cin-total b{font-size:1.4rem}

/* Billets */
.cin-tickets{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.cin-ticket{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.cin-ticket .top{padding:16px 18px;background:linear-gradient(120deg,#e11d48,#7c1d3c);color:#fff;position:relative}
.cin-ticket .top h3{margin:0 0 2px;color:#fff;font-size:1.05rem}
.cin-ticket .top .s{opacity:.85;font-size:.82rem}
.cin-ticket .tear{height:0;border-top:2px dashed var(--line);margin:0 14px;position:relative}
.cin-ticket .tear::before,.cin-ticket .tear::after{content:"";position:absolute;top:-11px;width:20px;height:20px;border-radius:50%;background:var(--bg)}
.cin-ticket .tear::before{left:-25px}.cin-ticket .tear::after{right:-25px}
.cin-ticket .bot{display:flex;gap:14px;align-items:center;padding:16px 18px}
.cin-ticket .qr{width:110px;height:110px;flex-shrink:0;background:#fff;border-radius:8px;padding:6px;display:grid;place-items:center}
.cin-ticket .qr img,.cin-ticket .qr canvas{width:100%!important;height:100%!important}
.cin-code{font-family:var(--mono);font-size:1.35rem;font-weight:800;letter-spacing:.14em}
.cin-ticket.used,.cin-ticket.past{opacity:.6}
.cin-ticket .stamp{position:absolute;right:14px;top:14px;border:2px solid #fff;border-radius:6px;padding:2px 8px;font-size:.7rem;font-weight:800;letter-spacing:.1em;transform:rotate(8deg)}

/* Contrôle */
.cin-check{max-width:520px;margin:0 auto}
.cin-check video{width:100%;border-radius:14px;background:#000;aspect-ratio:4/3;object-fit:cover}
.cin-res{border-radius:16px;padding:22px;text-align:center;margin-top:14px;color:#fff}
.cin-res b{display:block;font-size:1.35rem;margin-bottom:4px}
.cin-res.ok{background:linear-gradient(180deg,#22c55e,#15803d)}
.cin-res.warn{background:linear-gradient(180deg,#f59e0b,#b45309)}
.cin-res.bad{background:linear-gradient(180deg,#ef4444,#b91c1c)}

/* Gestion */
.cin-adm table{width:100%;border-collapse:collapse;font-size:.86rem}
.cin-adm th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:8px;border-bottom:1px solid var(--line)}
.cin-adm td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}
.cin-adm tr.past td{opacity:.55}
.cin-adm tr.cancel td{text-decoration:line-through;opacity:.55}
.cin-adm .link{font-family:var(--mono);font-size:.75rem;word-break:break-all}
.cin-bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;min-width:70px}
.cin-bar i{display:block;height:100%;background:var(--acc)}

@media(max-width:900px){.cin-book{grid-template-columns:1fr}.cin-sum{position:static}}
@media(max-width:560px){.cin-shows{grid-template-columns:1fr}.cin-seat{width:24px;height:23px;font-size:.5rem}.cin-grid{gap:4px}.cin-hero{padding:24px 20px}.cin-hero h1{font-size:1.5rem}}
