/* ═══════════════════════════════════════════════════════════
   FİLMLER — filmler.php (liste) · film.php (detay) · admin/oyla.php kartları
   Afişler: eski IMDb adresleri artık çalışmıyor → baş harfli "afiş" döşemesi
═══════════════════════════════════════════════════════════ */
.fm-poster{ position:relative; aspect-ratio:2/3; border-radius:var(--radius-sm); overflow:hidden; display:flex; flex-direction:column; justify-content:space-between;
  padding:.7rem; background:
    radial-gradient(120% 80% at 0% 0%, var(--accent-glow), transparent 60%),
    linear-gradient(160deg, var(--surface-2, var(--surface)), var(--surface-solid));
  border:1px solid var(--border); color:var(--text); }
.fm-poster .ini{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:2.4rem; line-height:1; color:var(--accent); letter-spacing:-.04em; }
.fm-poster .yr{ font-family:'Space Grotesk',sans-serif; font-size:.78rem; color:var(--text-muted); letter-spacing:.12em; }
.fm-poster i{ position:absolute; right:.6rem; top:.6rem; color:var(--text-dim); font-size:.9rem; }
.fm-poster img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; background:var(--surface-solid); }
.fm-poster.xl{ width:170px; flex-shrink:0; padding:1rem; }
.fm-poster.xl .ini{ font-size:3.6rem; }

/* liste */
.fm-page{ max-width:1200px; margin:0 auto; padding:2rem 16px 4rem; }
.fm-filters{ display:grid; grid-template-columns:2fr 1fr 1.6fr 1fr 1fr auto; gap:.55rem; margin:1.2rem 0 1rem; align-items:end; }
.fm-filters label{ display:block; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); margin-bottom:.25rem; }
.fm-filters input, .fm-filters select{ width:100%; background:var(--surface-2, var(--surface)); border:1px solid var(--border); color:var(--text);
  border-radius:var(--radius-sm); padding:.45rem .6rem; font-size:.86rem; font-family:inherit; min-width:0; }
.fm-filters input:focus, .fm-filters select:focus{ outline:none; border-color:var(--accent); }
.fm-filters .kisi{ display:flex; gap:.35rem; }
.fm-filters .kisi select{ width:auto; flex-shrink:0; }
.fm-filters button{ background:var(--accent); color:#1a1206; border:0; border-radius:var(--radius-sm); padding:.5rem .9rem; font-weight:600; cursor:pointer; font-size:.86rem; }
.fm-active{ display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; margin-bottom:1rem; font-size:.84rem; color:var(--text-muted); }
.fm-active a.x{ display:inline-flex; align-items:center; gap:.3rem; padding:.2rem .6rem; border:1px solid var(--border-bright); border-radius:999px; color:var(--text); text-decoration:none; }
.fm-active a.x:hover{ border-color:var(--accent); color:var(--accent); }

.fm-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(168px, 1fr)); gap:1rem; }
.fm-card{ display:flex; flex-direction:column; gap:.55rem; text-decoration:none; color:var(--text); }
.fm-card:hover .fm-poster{ border-color:var(--accent); transform:translateY(-3px); }
.fm-card .fm-poster{ transition:transform .2s, border-color .2s; }
.fm-card .t{ font-weight:600; font-size:.92rem; line-height:1.3; }
.fm-card .m{ font-size:.78rem; color:var(--text-muted); line-height:1.35; }
.fm-scores{ display:flex; flex-wrap:wrap; gap:.3rem; }
.fm-badge{ display:inline-flex; align-items:center; gap:.25rem; font-size:.72rem; font-weight:600; padding:.12rem .45rem; border-radius:6px;
  background:var(--accent-light); color:var(--accent); font-variant-numeric:tabular-nums; }
.fm-badge.imdb{ background:transparent; border:1px solid var(--border-bright); color:var(--text-muted); }
.fm-badge.gl{ background:var(--gl-win-bg, var(--accent-light)); color:var(--gl-win, var(--accent)); }

/* ödül / dış puan rozetleri */
.fm-badge.oscar{ background:rgba(212,168,83,.16); color:#d4a853; }
[data-theme="light"] .fm-badge.oscar{ background:rgba(160,110,20,.12); color:#8a5a08; }
.fm-awards{ display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.9rem; }
.fm-awards .fm-badge{ font-size:.8rem; padding:.25rem .6rem; }
.fm-plot{ color:var(--text-muted); line-height:1.8; max-width:760px; font-size:1rem; margin:0; }
.fm-expect{ font-size:.86rem; color:var(--text-muted); margin-top:.6rem; }

/* detay */
.fm-hero{ display:flex; gap:1.6rem; align-items:flex-start; padding:2rem 0 1rem; }
.fm-hero .eyebrow{ font-family:'Space Grotesk',sans-serif; font-size:.74rem; letter-spacing:.24em; text-transform:uppercase; color:var(--accent); }
.fm-hero h1{ font-size:clamp(1.9rem,4.5vw,3rem); margin:.3rem 0 .5rem; line-height:1.08; }
.fm-hero .sub{ color:var(--text-muted); display:flex; flex-wrap:wrap; gap:.4rem .9rem; align-items:center; font-size:.95rem; }
.fm-hero .sub a{ color:var(--text-muted); }
.fm-hero .sub a:hover{ color:var(--accent); }
.fm-chips{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.8rem; }
.fm-stats{ display:flex; flex-wrap:wrap; gap:1.6rem; margin-top:1.1rem; }
.fm-stat .k{ font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); }
.fm-stat .v{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.5rem; }
.fm-stat .v small{ font-size:.85rem; color:var(--text-dim); font-weight:500; }
.fm-section{ margin:2rem 0; max-width:900px; }
.fm-section h2{ font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--text-muted); font-family:'Space Grotesk',sans-serif; margin:0 0 .8rem; }
.fm-quote{ border-left:2px solid var(--accent); padding:.3rem 0 .3rem 1rem; margin:0 0 1rem; color:var(--text); line-height:1.75; font-size:1rem; }
.fm-people{ display:flex; flex-wrap:wrap; gap:.4rem; }
.fm-people a{ font-size:.84rem; padding:.28rem .7rem; border:1px solid var(--border); border-radius:999px; color:var(--text); text-decoration:none; background:var(--surface); }
.fm-people a:hover{ border-color:var(--accent); color:var(--accent); }
.fm-people .more{ font-size:.84rem; color:var(--text-muted); background:none; border:0; cursor:pointer; padding:.28rem .4rem; font-family:inherit; }
.fm-rel{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:.6rem; }
.fm-rel a{ display:block; padding:.7rem .85rem; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); text-decoration:none; color:var(--text); }
.fm-rel a:hover{ border-color:var(--accent); }
.fm-rel .t{ font-weight:600; font-size:.9rem; }
.fm-rel .w{ font-size:.76rem; color:var(--text-muted); margin-top:.2rem; }

@media (max-width:900px){
  .fm-filters{ grid-template-columns:1fr 1fr; }
  .fm-filters .q, .fm-filters .kisi-wrap{ grid-column:1 / -1; }
}
@media (max-width:560px){
  .fm-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:.8rem; }
  .fm-hero{ flex-direction:column; gap:1rem; }
  .fm-poster.xl{ width:120px; }
  .fm-poster.xl .ini{ font-size:2.6rem; }
}
