/* ============================================================
   Allymonews Video Portal — Frontend Styles
   ============================================================ */

/* Header */
.ally-vid-portal { max-width: 1200px; margin: 0 auto; padding: 0 0 40px; }
.ally-vid-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px; }
.ally-vid-title  { font-size:28px;font-weight:700;color:#111827;margin:0; }
.ally-vid-subtitle { color:#6b7280;font-size:14px;margin:4px 0 0; }
.ally-vid-upgrade-btn { background:#1F3864;color:#fff;padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px;text-decoration:none;transition:background .2s; }
.ally-vid-upgrade-btn:hover { background:#162454;color:#fff; }

/* Filters */
.ally-vid-filters { margin-bottom:24px; }
.ally-vid-search-input { width:100%;padding:12px 16px;border:1px solid #e5e7eb;border-radius:10px;font-size:15px;margin-bottom:14px;box-sizing:border-box;transition:border-color .2s; }
.ally-vid-search-input:focus { outline:none;border-color:#0891b2;box-shadow:0 0 0 3px rgba(8,145,178,.1); }
.ally-vid-cats { display:flex;gap:8px;flex-wrap:wrap; }
.ally-vid-cat-btn { background:#f1f5f9;border:1px solid #e5e7eb;color:#374151;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s; }
.ally-vid-cat-btn:hover { background:#e0f2fe;border-color:#bae6fd;color:#0891b2; }
.ally-vid-cat-btn.active { background:#0891b2;border-color:#0891b2;color:#fff; }

/* Access notice */
.ally-vid-access-notice { background:linear-gradient(135deg,#1F3864,#0891b2);border-radius:14px;padding:28px;margin-bottom:28px;color:#fff; }
.ally-vid-notice-inner { display:flex;gap:20px;align-items:flex-start; }
.ally-vid-notice-inner strong { font-size:18px;display:block;margin-bottom:6px; }
.ally-vid-notice-inner p { margin:0 0 12px;opacity:.85;font-size:14px; }
.ally-vid-tier-chips { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px; }
.ally-vid-chip { color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600; }

/* Grid */
.ally-vid-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px; }
.ally-vid-empty { grid-column:1/-1;text-align:center;padding:40px;color:#9ca3af;font-size:16px; }

/* Card */
.ally-vid-card { background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:transform .2s,box-shadow .2s;cursor:pointer; }
.ally-vid-card:hover { transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.12); }
.ally-vid-locked { cursor:default;opacity:.85; }
.ally-vid-locked:hover { transform:none;box-shadow:0 2px 8px rgba(0,0,0,.08); }

/* Thumbnail */
.ally-vid-thumb-wrap { position:relative;width:100%;padding-top:56.25%;background:#1e293b;overflow:hidden; }
.ally-vid-thumb { position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .2s; }
.ally-vid-card:hover .ally-vid-thumb { opacity:.85; }
.ally-vid-thumb-placeholder { position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;background:#0f172a; }

/* Play overlay */
.ally-vid-play-overlay { position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s; }
.ally-vid-card:hover .ally-vid-play-overlay { opacity:1; }
.ally-vid-play-icon { width:60px;height:60px;background:rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;color:#1e293b; }

/* Lock overlay */
.ally-vid-lock-overlay { position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px; }
.ally-vid-lock-icon { font-size:32px; }
.ally-vid-lock-tier { color:#fff;font-size:12px;font-weight:700;padding:3px 12px;border-radius:20px; }

/* Tier badge */
.ally-vid-tier-badge { position:absolute;top:10px;right:10px;color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px; }

/* Info */
.ally-vid-info { padding:14px 16px; }
.ally-vid-name { font-size:14px;font-weight:600;color:#1e293b;line-height:1.4;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.ally-vid-desc { font-size:12px;color:#9ca3af;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.ally-vid-meta { display:flex;justify-content:space-between;align-items:center; }
.ally-vid-cat-tag { background:#f1f5f9;color:#374151;font-size:11px;padding:2px 8px;border-radius:10px; }
.ally-vid-views { font-size:11px;color:#9ca3af; }

/* Modal player */
.ally-vid-modal-overlay { display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.88);z-index:99999;align-items:center;justify-content:center; }
.ally-vid-modal-overlay.active { display:flex; }
.ally-vid-modal-inner { width:90%;max-width:900px;position:relative; }
.ally-vid-modal-close { position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:32px;cursor:pointer;line-height:1; }
.ally-vid-modal-info { padding:12px 0 0; }
.ally-vid-modal-info h3 { color:#fff;margin:0 0 4px;font-size:18px; }
.ally-vid-modal-info p  { color:#94a3b8;margin:0;font-size:14px; }

/* Responsive */
@media (max-width:600px) {
    .ally-vid-grid { grid-template-columns:1fr 1fr;gap:12px; }
    .ally-vid-notice-inner { flex-direction:column; }
    .ally-vid-cats { overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px; }
}
@media (max-width:400px) {
    .ally-vid-grid { grid-template-columns:1fr; }
}
