/* ===== Lovable Reviews — channel-style frontend ===== */
.lr-hub, .lr-channel { max-width: 1200px; margin: 0 auto; padding: 24px 16px; }

/* Channel / hub header */
.lr-channel-banner { height: 180px; border-radius: 14px; background:#111 center/cover no-repeat; filter: brightness(.55); }
.lr-channel-head, .lr-hub-head { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin: 16px 0 8px; }
.lr-channel-avatar { width:72px;height:72px;border-radius:50%; background:linear-gradient(135deg,#ef4444,#f97316); color:#fff; display:grid; place-items:center; font-size:32px; font-weight:700; }
.lr-channel-meta h1, .lr-hub-head h1 { margin:0; font-size: 28px; }
.lr-channel-meta p, .lr-hub-head p { margin:2px 0 0; color:#666; }
.lr-channel-nav { display:flex; gap:6px; margin-left:auto; border-bottom: none; }
.lr-tab { padding:8px 14px; border-radius:999px; background:#f3f4f6; color:#111; text-decoration:none; font-weight:600; font-size:14px; }
.lr-tab.is-active { background:#111; color:#fff; }

/* Filter bar */
.lr-filter-bar, .lr-video-search { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:16px 0 20px; }
.lr-search, .lr-video-search input { flex:1; min-width:240px; padding:10px 14px; border:1px solid #e5e7eb; border-radius:10px; font-size:15px; }
.lr-video-search button { padding:10px 18px; border:0; border-radius:10px; background:#111; color:#fff; font-weight:600; cursor:pointer; }
.lr-verdict-tabs { display:flex; gap:6px; flex-wrap:wrap; }
.lr-vt { padding:8px 14px; border-radius:999px; background:#f3f4f6; border:0; cursor:pointer; font-weight:600; font-size:14px; }
.lr-vt.is-active { background:#111; color:#fff; }

/* Review grid */
.lr-review-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap:20px; transition:opacity .2s; }
.lr-review-grid.is-loading { opacity:.4; }
.lr-card { background:#fff; border:1px solid #eee; border-radius:14px; padding:14px; display:flex; flex-direction:column; gap:8px; transition:transform .15s, box-shadow .15s; }
.lr-card:hover { transform:translateY(-2px); box-shadow:0 12px 30px -18px rgba(0,0,0,.25); }
.lr-card img { width:100%; aspect-ratio: 16/10; object-fit:cover; border-radius:10px; }
.lr-card h3 { margin:6px 0 0; font-size:17px; line-height:1.3; }
.lr-card a { text-decoration:none; color:inherit; }
.lr-meta { display:flex; gap:8px; align-items:center; }
.lr-rating { background:#fef3c7; color:#92400e; padding:2px 8px; border-radius:999px; font-size:13px; font-weight:700; }
.lr-verdict { padding:2px 8px; border-radius:999px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.lr-verdict-sell { background:#dcfce7; color:#166534; }
.lr-verdict-don-t-sell, .lr-verdict-dont-sell { background:#fee2e2; color:#991b1b; }
.lr-compare-add { margin-top:auto; align-self:flex-start; background:#111; color:#fff; border:0; padding:8px 14px; border-radius:8px; cursor:pointer; font-weight:600; }

/* Video grid (YouTube-channel style) */
.lr-video-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap:22px; }
.lr-video-card { cursor:pointer; }
.lr-video-thumb { position:relative; border-radius:12px; overflow:hidden; background:#000; }
.lr-video-thumb img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; transition:transform .25s; }
.lr-video-card:hover .lr-video-thumb img { transform:scale(1.04); }
.lr-play { position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:36px; text-shadow:0 2px 12px rgba(0,0,0,.6); opacity:0; transition:opacity .2s; }
.lr-video-card:hover .lr-play { opacity:1; }
.lr-duration { position:absolute; right:8px; bottom:8px; background:rgba(0,0,0,.8); color:#fff; padding:2px 6px; font-size:12px; border-radius:4px; }
.lr-video-card h4 { margin:10px 0 2px; font-size:15px; line-height:1.35; }
.lr-video-date { margin:0; color:#6b7280; font-size:13px; }

/* Pagination */
.lr-pagination { display:flex; gap:6px; justify-content:center; flex-wrap:wrap; margin:28px 0 0; }
.lr-pagination a, .lr-pagination .page-numbers { padding:8px 12px; border-radius:8px; background:#f3f4f6; color:#111; text-decoration:none; font-weight:600; }
.lr-pagination a.is-active, .lr-pagination .current { background:#111; color:#fff; }

/* Single review */
.lr-review-header { display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin:12px 0 20px; }
.lr-rating-big { font-size:22px; font-weight:800; color:#92400e; background:#fef3c7; padding:6px 14px; border-radius:10px; }
.lr-price { font-size:20px; font-weight:700; }
.lr-cta { margin-left:auto; background:#16a34a; color:#fff; padding:12px 22px; border-radius:10px; text-decoration:none; font-weight:700; }
.lr-pros-cons { display:grid; grid-template-columns: 1fr 1fr; gap:18px; margin:16px 0; }
.lr-pros, .lr-cons { padding:16px 18px; border-radius:12px; }
.lr-pros { background:#f0fdf4; } .lr-cons { background:#fef2f2; }
.lr-review-videos { margin-top:24px; }
.lr-embed { position:relative; padding-top:56.25%; margin:12px 0; border-radius:12px; overflow:hidden; }
.lr-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.lr-more-videos { display:inline-block; margin-top:8px; font-weight:600; color:#111; }

/* Modal */
.lr-video-modal { position:fixed; inset:0; background:rgba(0,0,0,.85); display:grid; place-items:center; z-index:9999; }
.lr-video-modal[hidden] { display:none; }
.lr-video-modal-inner { width:min(960px, 92vw); background:#000; border-radius:12px; position:relative; }
.lr-video-frame { position:relative; padding-top:56.25%; }
.lr-video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.lr-video-close { position:absolute; top:-40px; right:0; background:transparent; color:#fff; border:0; font-size:32px; cursor:pointer; }

.lr-empty { color:#6b7280; padding:40px; text-align:center; grid-column:1/-1; }

@media (max-width:640px){
    .lr-pros-cons { grid-template-columns:1fr; }
    .lr-channel-banner { height:120px; }
    .lr-channel-meta h1 { font-size:22px; }
}
