/* Shared cinematic palette and interior components. Homepage keeps its own layout. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root { color-scheme: dark; --bg-base:#101112; --bg-surface:#18191b; --bg-elevated:#212224; --bg-card:#18191b; --glass-bg:#18191bf0; --text-primary:#f5f3ee; --text-secondary:#a3a4a6; --text-muted:#8b8c90; --accent:#f88c53; --accent-bright:#ffa371; --accent-dim:#c76c3d; --accent-bg:#f88c5312; --accent-border:#f88c5338; --accent-glow:0 8px 28px #f88c5310; --glass-border:#ffffff13; --font:'DM Sans',sans-serif; }
body { font-family:var(--font); }
body::before, body::after { display:none; }
:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
::selection { background:#f88c5360; color:white; }
.interior-main.main-content { margin:0 auto; padding:48px 56px 64px; width:100%; max-width:1560px; min-height:calc(100vh - 210px); }
.interior-page h1,.interior-page h2,.interior-page h3 { font-family:'Manrope',sans-serif; letter-spacing:-.035em; }
.interior-page .page-header { padding-bottom:28px; margin-bottom:30px; border-bottom:1px solid var(--glass-border); }
.interior-page .page-title { font-size:clamp(25px,3vw,38px); font-weight:750; line-height:1.25; overflow-wrap:anywhere; }
.interior-page .page-title i { font-size:.68em; margin-right:8px; color:var(--accent); }
.interior-page .page-subtitle { margin-top:10px; color:var(--text-secondary); }
.glass-card,.stat-card,.cyber-card { background:var(--bg-surface); border:1px solid var(--glass-border); box-shadow:0 12px 40px #00000018; }
.btn { border-radius:9px; transition:transform .2s,background .2s,border-color .2s; }
.btn-accent,.btn-primary,.btn-gold { background:var(--accent); color:#24180f; border-color:transparent; box-shadow:none; }
.btn-accent:hover,.btn-primary:hover,.btn-gold:hover { background:var(--accent-bright); color:#24180f; box-shadow:0 8px 24px #f88c531a; transform:translateY(-2px); }
.btn-ghost { background:#ffffff05; border:1px solid #ffffff18; }
.form-input { background:#131416; border-color:#ffffff18; border-radius:10px; min-height:46px; }
.form-input:focus { border-color:var(--accent); box-shadow:0 0 0 3px #f88c5312; }
.form-label { color:#c5c3c0; font-size:12px; letter-spacing:.02em; }
.interior-page .movie-grid { gap:24px; }
.interior-page .movie-card { border:1px solid #ffffff0c; border-radius:12px; background:var(--bg-surface); box-shadow:none; transition:transform .3s,border-color .3s,box-shadow .3s; }
.interior-page .movie-card:hover { transform:translateY(-6px); border-color:#f88c5360; box-shadow:0 18px 38px #0006; }
.interior-page .movie-card img { transition:transform .5s; }
.interior-page .movie-card-info { padding:16px; }
.interior-page .movie-card-title { font-size:14px; font-weight:650; }
.video-card { background:var(--bg-surface); border-radius:14px; }
.video-card:hover { border-color:#f88c5350; box-shadow:0 18px 38px #0005; }
.empty-state { background:radial-gradient(ellipse at top,#f88c5308,transparent 65%),var(--bg-surface); border:1px solid var(--glass-border); border-radius:18px; }
.empty-state i { color:var(--accent); opacity:.75; }
.modal-content { background:#1b1c1e; border:1px solid #ffffff20; box-shadow:0 30px 100px #0009; }
.interior-page .auth-container { min-height:620px; padding:48px; border:1px solid var(--glass-border); border-radius:22px; background:linear-gradient(90deg,#10111255,#101112e8 65%),url('/static/homepage/157336-backdrop.jpg') center/cover; justify-content:flex-end; }
.interior-page .auth-card { max-width:440px; padding:40px; background:#18191bf0; backdrop-filter:blur(24px); border-color:#ffffff1a; box-shadow:0 24px 80px #0005; }
.interior-page .auth-icon { display:grid; place-items:center; width:56px; height:56px; margin:0 auto 24px; border:1px solid var(--accent-border); background:var(--accent-bg); border-radius:16px; font-size:23px; filter:none; }
.interior-page .auth-card .page-title { font-size:30px; }
.filter-panel { top:112px; }
.sv-table th { color:var(--text-muted); background:#ffffff02; }
.sv-table tbody tr:hover { background:#ffffff03; }
@media(max-width:1050px) { .interior-main.main-content { padding:36px; } }
@media(max-width:680px) { .interior-main.main-content { padding:28px 20px 40px; } .interior-page .movie-grid { gap:14px; grid-template-columns:repeat(2,minmax(0,1fr)); } .interior-page .movie-card-info { padding:12px; } .interior-page .auth-container { min-height:0; padding:16px; } .interior-page .auth-card { max-width:none; padding:30px 20px; } .interior-page .page-header { gap:16px; flex-wrap:wrap; } .video-grid { grid-template-columns:minmax(0,1fr) !important; } .filter-panel { position:static; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
.film-feedback { display:flex; flex-wrap:wrap; gap:5px; padding:10px 0; }
.film-feedback button { color:var(--text-secondary); border:1px solid var(--glass-border); background:var(--bg-surface); border-radius:6px; padding:6px 8px; font-size:10px; }
.film-feedback button:hover { color:var(--accent); border-color:var(--accent-border); }
.interior-page .film-feedback { padding:0 12px 12px; }
.feedback-row,.match-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:24px; margin-bottom:16px; border-radius:16px; }
.match-toolbar p,.feedback-row p { color:var(--text-secondary); }
#match-status { margin:20px 0; color:var(--text-secondary); }
.match-card { position:relative; isolation:isolate; display:grid; grid-template-columns:280px minmax(0,1fr); max-width:900px; margin:44px auto; border:1px solid var(--glass-border); border-radius:20px; background:var(--bg-surface); }
.match-poster { position:relative; width:280px; height:420px; flex-shrink:0; }
.match-poster-image { position:relative; display:block; width:100%; height:100%; object-fit:cover; border-radius:20px 0 0 20px; background:#111; }
.match-ambient { position:absolute; inset:-12px; width:calc(100% + 24px); max-width:none; height:calc(100% + 24px); object-fit:cover; filter:blur(38px) saturate(1.4); opacity:.48; z-index:-1; pointer-events:none; user-select:none; }
.match-poster.is-unavailable::after { content:'Plakát není dostupný'; position:absolute; inset:0; display:grid; place-items:center; color:var(--text-muted); }
.match-description { overflow:auto; min-height:0; scrollbar-width:thin; scrollbar-color:#ffffff30 transparent; padding-right:6px; }
.match-copy>h2 { font-size:clamp(20px,2.6vw,30px); line-height:1.25; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.match-copy .section-kicker { font-size:10px; letter-spacing:.12em; margin:0; }
.match-copy>h2,.match-copy .section-kicker,.match-actions { flex-shrink:0; }
.match-result img { width:100%; height:auto !important; aspect-ratio:2/3; object-fit:cover; }
#match-list { align-items:start; }
.match-copy { height:420px; min-width:0; padding:32px; display:flex; flex-direction:column; gap:20px; }
.match-copy>p { color:var(--text-secondary); }
.match-actions { display:flex; gap:12px; margin-top:auto; }
.match-result { background:none; border:0; color:var(--text-primary); width:100%; cursor:pointer; }
.match-result strong { display:block; padding:12px; }
.continue-shelf { margin:36px 0; }
.continue-grid { display:flex; gap:18px; overflow-x:auto; padding:20px 0; }
.continue-card { flex:0 0 260px; border:1px solid var(--glass-border); background:var(--bg-surface); border-radius:12px; overflow:hidden; }
.continue-card img { width:100%; height:140px; object-fit:cover; }
.continue-copy { padding:14px; }
.continue-copy strong { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.continue-copy p { color:var(--text-secondary); font-size:12px; margin:8px 0; }
.continue-copy progress { width:100%; height:4px; accent-color:var(--accent); }
@media(max-width:680px){ .match-card { grid-template-columns:1fr; } .match-poster{width:240px;height:360px;margin:24px auto 0;} .match-poster-image{border-radius:12px;} .match-ambient{opacity:.38;filter:blur(30px) saturate(1.4);} .match-copy{height:340px;padding:24px;gap:16px;} .match-toolbar,.feedback-row{align-items:flex-start;flex-direction:column;} }
