/* 123Flix Hybrid - Shared archive card styles (.ac-*).
 * Single source of truth for every card grid (genre/year/country
 * archives, category pages, search, blog movie rails, JS shelves).
 * Previously embedded in template-parts/archive-card.php, which meant
 * pages with zero WP posts (pure API grids) rendered cards unstyled. */
.ac-card{position:relative;display:flex;flex-direction:column;background:#14141b;border-radius:8px;overflow:hidden;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.ac-card:hover{transform:scale(1.06);box-shadow:0 14px 44px rgba(0,0,0,.75);z-index:5}
.ac-art{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;background:#1b1b24;display:block}
.ac-art img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:2/3}
.ac-noimg{width:100%;height:100%;aspect-ratio:2/3;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a24,#2a1015);color:#52525b;font-size:1.6rem}
.ac-rank{position:absolute;top:2px;left:6px;z-index:3;font-size:3.2rem;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:2px #f5c518;text-shadow:0 2px 12px rgba(0,0,0,.8);pointer-events:none}
.ac-rating{position:absolute;top:6px;left:6px;z-index:3;background:rgba(0,0,0,.78);color:#f5c518;font-size:.68rem;font-weight:800;padding:2px 7px;border-radius:4px}
.ac-rank + .ac-art .ac-rating,.ac-card .ac-art .ac-rating{left:6px}
.ac-card .ac-rank ~ .ac-art .ac-rating{left:auto;right:6px}
.ac-year{position:absolute;top:6px;right:6px;z-index:3;background:rgba(0,0,0,.65);color:rgba(255,255,255,.85);font-size:.62rem;font-weight:700;padding:2px 6px;border-radius:4px}
.ac-series{position:absolute;top:30px;right:6px;z-index:3;background:#e50914;color:#fff;font-size:.6rem;font-weight:800;letter-spacing:.05em;padding:2px 7px;border-radius:4px}
.ac-ov{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;background:linear-gradient(to top,rgba(5,5,10,.96) 0%,rgba(5,5,10,.7) 55%,rgba(5,5,10,.35) 100%);opacity:0;transition:opacity .25s ease;text-align:center}
.ac-card:hover .ac-ov{opacity:1}
.ac-play{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid #e50914;border-radius:50%;color:#fff;font-size:1rem;background:rgba(229,9,20,.25)}
.ac-ov-meta{color:#a1a1aa;font-size:.68rem;font-weight:700}
.ac-ov-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#d4d4d8;font-size:.72rem;line-height:1.45;max-width:100%}
.ac-bookmark{font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#a1a1aa;border:1px solid rgba(255,255,255,.2);padding:3px 10px;border-radius:999px}
.ac-info{display:flex;flex-direction:column;gap:6px;padding:8px 8px 10px;min-width:0}
.ac-title{color:#fff;font-size:.78rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-desc{display:none;color:#a1a1aa;font-size:.76rem;line-height:1.5;overflow:hidden}
.ac-cta{display:none;align-items:center;gap:8px;margin-top:4px}
.ac-watch{display:inline-flex;align-items:center;background:#e50914;color:#fff;font-size:.74rem;font-weight:800;padding:7px 16px;border-radius:6px}
.ac-details{display:inline-flex;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#e4e4e7;font-size:.74rem;font-weight:700;padding:7px 16px;border-radius:6px}
.ac-spotlight{grid-column:span 2;flex-direction:row;align-items:stretch}
.ac-spotlight .ac-art{width:38%;min-width:38%;aspect-ratio:2/3}
.ac-spotlight .ac-info{justify-content:center;padding:16px}
.ac-spotlight .ac-title{white-space:normal;font-size:1.05rem;font-weight:800}
.ac-spotlight .ac-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.ac-spotlight .ac-cta{display:flex}
.ac-sk{position:relative;width:100%;aspect-ratio:2/3;border-radius:8px;overflow:hidden;background:rgba(255,255,255,.05)}
.ac-sk::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:acSh 1.4s infinite}
@keyframes acSh{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.ac-card,.ac-card:hover{transition:none;transform:none}.ac-sk::after{animation:none}}
