/* Reset & Base */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif; -webkit-text-size-adjust: 100%; }
body { background: #fff; color: rgba(0,0,0,0.75); font-size: 14px; line-height: 1.5; }
a { color: #a2db00; text-decoration: none; }
a:hover { color: #c7f041; }
img { max-width: 100%; height: auto; }
.clear { clear: both; }
.row { max-width: 1200px; margin: 0 auto; padding: 0 10px; }

/* Header (KolorTube-style: dark navbar on white body) */
.site-header { background: #0f0f0f; border-bottom: none; }
.site-branding { display: flex; align-items: center; flex-wrap: wrap; padding: 18px 15px; max-width: 1200px; margin: 0 auto; }
.site-branding .logo { flex: 1; }
.site-title { margin: 0; font-size: 0; }
.site-title a { font-family: 'Roboto', sans-serif; text-transform: uppercase; letter-spacing: -1px; font-size: 34px; color: #a2db00; font-weight: 700; line-height: 1; }
.site-title a:hover { color: #c7f041; }
.site-title a i { margin-right: 10px; color: #a2db00; }
.site-description { color: rgba(255,255,255,0.6); font-size: 13px; margin-top: 4px; padding-left: 2px; }
.header-search { margin-left: auto; }
.header-search form { display: flex; }
.header-search input { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); color: #fff; padding: 8px 14px; border-radius: 3px 0 0 3px; width: 240px; font-size: 13px; outline: none; }
.header-search input::placeholder { color: rgba(255,255,255,0.5); }
.header-search input:focus { border-color: #a2db00; }
.header-search button { background: #a2db00; border: none; color: #0f0f0f; padding: 8px 16px; border-radius: 0 3px 3px 0; cursor: pointer; font-weight: 600; }
.header-search button:hover { background: #c7f041; }
.happy-header, .happy-header-mobile { text-align: center; margin: 10px 0; }

/* Navigation (dark bar on dark header, Bootstrap-navbar-feel) */
.main-navigation { background: #1a1a1a; border-top: 1px solid rgba(255,255,255,0.05); border-bottom: 2px solid #a2db00; }
.main-navigation ul { list-style: none; display: flex; flex-wrap: wrap; max-width: 1200px; margin: 0 auto; padding: 0; }
.main-navigation ul li a { display: block; padding: 14px 18px; color: rgba(255,255,255,0.85); font-size: 14px; font-weight: 500; transition: all .15s ease-in-out; }
.main-navigation ul li a:hover, .main-navigation ul li a.active { background: rgba(162,219,0,0.15); color: #a2db00; }
.main-navigation ul li a i { margin-right: 6px; }
.button-nav { display: none; padding: 14px 18px; color: #fff; cursor: pointer; font-weight: 500; }

/* Content Area */
.site-content { display: flex; flex-wrap: wrap; padding-top: 20px; padding-bottom: 20px; }
#primary.has-sidebar { width: 75%; padding-right: 20px; }
#primary.full-width { width: 100%; }

/* Video Grid (Bootstrap-like: 6 cols XL, 4 MD, 3 SM, 2 mobile) */
.videos-list { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
@media (max-width: 1200px) { .videos-list { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 900px)  { .videos-list { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px)  { .videos-list { grid-template-columns: repeat(2, 1fr); gap: 10px; } }
.loop-video { background: #fff; border: 1px solid rgba(0,0,0,0.08); border-radius: 6px; overflow: hidden; transition: all 0.2s; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.loop-video:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,0.12); border-color: #a2db00; }
.loop-video .post-thumbnail-container img { transition: transform 0.3s ease; }
.loop-video:hover .post-thumbnail-container img { transform: scale(1.05); }
.loop-video a { display: block; color: #333; }
.loop-video a:hover { color: #111; }
.post-thumbnail { position: relative; overflow: hidden; }
.post-thumbnail-container { position: relative; padding-bottom: 56.25%; background: #111; }
.post-thumbnail-container img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.video-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(transparent 60%, rgba(0,0,0,0.7)); }
.hd-video { position: absolute; top: 8px; left: 8px; background: #a2db00; color: #111; font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 3px; }
.views { position: absolute; bottom: 8px; left: 8px; color: #111; font-size: 11px; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); }
.duration { position: absolute; bottom: 8px; right: 8px; background: rgba(0,0,0,0.8); color: #111; font-size: 11px; padding: 2px 6px; border-radius: 3px; }
.duration i { margin-right: 3px; }
.rating-bar { height: 4px; background: #e0e0e0; margin: 0; }
.rating-bar-meter { height: 100%; background: #4CAF50; }
.rating-bar i, .rating-bar span { display: none; }
.loop-video .entry-header { padding: 10px; }
.loop-video .entry-header span { font-size: 13px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Single Video (KolorTube-inspired layout) */
.single-video .video-player { background: #000; margin-bottom: 0; }
.single-video .video-player video, .single-video .video-player iframe { width: 100% !important; height: auto !important; aspect-ratio: 16/9; display: block; border: 0; }
.single-video .video-placeholder img { width: 100%; display: block; }
.happy-under-player, .happy-under-player-mobile { text-align: center; margin: 15px 0; }

/* Title block: white with subtle shadow + green accent, title + vote buttons side by side */
.title-block { background: #fff; border-left: 4px solid #a2db00; box-shadow: 0 1px 4px rgba(0,0,0,0.06); overflow: hidden; margin: 25px 0; padding: 20px 25px; border-radius: 4px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 15px; }
.title-block h1.entry-title { margin: 0; padding: 0; font-size: 1.75em; font-weight: 700; color: #111; letter-spacing: -0.3px; line-height: 1.25; flex: 1; min-width: 0; }

/* Like / Dislike buttons */
#rating { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.vote-link { display: inline-flex; align-items: center; gap: 7px; color: #333; text-decoration: none; font-size: 0.95em; font-weight: 600; padding: 9px 18px; border-radius: 4px; border: 1px solid rgba(0,0,0,0.1); background: #f8f8f8; transition: all 0.2s; }
.vote-like-link i { font-size: 1.1em; }
.vote-dislike-link i { font-size: 1.1em; color: #888; }
.vote-link:hover { color: #a2db00; background: rgba(162,219,0,0.1); border-color: #a2db00; }
.vote-link.voted { color: #fff; background: #a2db00; border-color: #a2db00; }
.vote-dislike-link.voted { color: #fff; background: #e74c3c; border-color: #e74c3c; }
.vote-dislike-link:hover { color: #e74c3c; background: rgba(231,76,60,0.08); border-color: #e74c3c; }

/* Entry-content: info row (views/rating left, date/categories right) */
.entry-content { background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,0.06); padding: 30px 35px; border-radius: 4px; margin-bottom: 30px; display: block; overflow: hidden; }
#rating-col { float: left; width: 30%; padding-right: 25px; }
#video-views { font-size: 13px; padding-bottom: 10px; color: #999; text-transform: uppercase; letter-spacing: 0.5px; }
#video-views span { display: block; font-size: 30px; font-weight: 700; color: #111; margin: 4px 0; letter-spacing: -1px; }
.entry-content .rating-bar { width: 100%; background: #ececec; border: 0; height: 8px; border-radius: 4px; overflow: hidden; }
.entry-content .rating-bar-meter { height: 8px; background: #a2db00; box-shadow: none; border-radius: 4px; }
.rating-result { width: 100%; margin-top: 10px; overflow: hidden; }
.rating-result .percentage { float: left; font-size: 18px; font-weight: 700; color: #a2db00; }
.rating-result .likes { float: right; font-size: 13px; color: #888; }
.rating-result .likes_count { margin-right: 8px; }
.rating-result .likes i { margin: 0 4px; }

/* Video-about section (date + categories) */
#video-about, #video-about.width70 { float: left; width: 70%; color: #555; }
.video-description { margin-bottom: 15px; line-height: 1.7; color: #444; }
#video-date { color: #888; font-size: 13px; margin-bottom: 10px; }
#video-date i { margin-right: 6px; color: #a2db00; }
.categories-list i { margin-right: 6px; color: #a2db00; }
.tags a, .categories-list a { display: inline-block; background: #f0f0f0; color: #555; padding: 5px 12px; margin: 3px 4px 3px 0; border-radius: 3px; font-size: 12px; font-weight: 500; border: 1px solid transparent; }
.tags a:hover, .categories-list a:hover { background: #a2db00; color: #fff; border-color: #a2db00; }

/* Related Videos */
.related-videos { margin-top: 40px; padding: 0; }
.related-videos .widget-title { color: #111; font-size: 22px; font-weight: 700; margin-bottom: 25px; padding-bottom: 10px; border-bottom: 2px solid #a2db00; }

/* Sidebar */
#sidebar { width: 25%; }
.sidebar-ad { margin-bottom: 20px; text-align: center; }
.widget { background: #fff; border-radius: 5px; padding: 15px; margin-bottom: 20px; }
.widget .widget-title { color: #111; font-size: 16px; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 2px solid #a2db00; }
.popular-videos { list-style: none; }
.popular-videos li { margin-bottom: 10px; }
.popular-videos li a { display: flex; gap: 10px; align-items: center; color: #555; }
.popular-videos li a:hover { color: #a2db00; }
.popular-videos li a img { width: 120px; height: 68px; object-fit: cover; border-radius: 3px; flex-shrink: 0; }
.popular-videos li a span { font-size: 12px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tagcloud a { display: inline-block; background: #ececec; color: #999; padding: 4px 10px; margin: 3px; border-radius: 3px; font-size: 12px; }
.tagcloud a:hover { background: #a2db00; color: #111; }
.tagcloud-page a { font-size: 14px; padding: 6px 14px; margin: 4px; }

/* Categories Grid */
.categories-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.category-block { display: block; background: #fff; border-radius: 5px; overflow: hidden; text-align: center; transition: transform 0.2s; }
.category-block:hover { transform: translateY(-3px); }
.category-block img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.cat-placeholder { background: #ececec; padding: 40px; }
.cat-placeholder i { font-size: 48px; color: #555; }
.cat-name { display: block; color: #111; font-weight: 600; padding: 10px 10px 2px; }
.cat-count { display: block; color: #888; font-size: 12px; padding: 0 10px 10px; }

/* Page Header */
.page-header { margin-bottom: 20px; }
.page-header .widget-title { color: #111; font-size: 20px; padding-bottom: 8px; border-bottom: 2px solid #a2db00; }

/* Pagination */
.pagination { text-align: center; margin: 25px 0 10px; }
.pagination a { display: inline-block; padding: 8px 14px; margin: 2px; background: #ececec; color: #555; border-radius: 3px; font-size: 14px; }
.pagination a:hover, .pagination a.active { background: #a2db00; color: #111; }

/* SEO Block */
.seo-block { margin-top: 25px; padding: 15px; background: #fff; border-radius: 5px; }
.seo-block .widget-title { color: #111; font-size: 18px; margin-bottom: 10px; }
.seo-block .archive-description { color: #888; font-size: 13px; line-height: 1.7; }

/* Footer */
.site-footer { background: #fff; border-top: 3px solid #a2db00; margin-top: 20px; padding: 20px 0; }
.site-footer .row { text-align: center; }
.site-info { color: #666; font-size: 12px; margin-top: 15px; }
.footer-links { margin-bottom: 12px; font-size: 13px; }
.footer-links a { color: #999; }
.footer-links a:hover { color: #a2db00; }
.footer-links .sep { color: #555; margin: 0 8px; }
.happy-footer, .happy-footer-mobile { margin-bottom: 15px; }

/* Ad container text size limits */
.happy-header, .happy-header-mobile,
.happy-under-player, .happy-under-player-mobile,
.happy-footer, .happy-footer-mobile,
.above-footer-ad, .above-footer-ad-mobile { font-size: 13px; }
.happy-header *, .happy-header-mobile *,
.happy-under-player *, .happy-under-player-mobile *,
.happy-footer *, .happy-footer-mobile *,
.above-footer-ad *, .above-footer-ad-mobile * { font-size: inherit !important; line-height: 1.4 !important; }

/* 404 */
.error-404 { text-align: center; padding: 60px 20px; }
.error-404 h1 { font-size: 72px; color: #a2db00; }
.error-404 p { color: #888; font-size: 18px; margin: 15px 0 25px; }
.error-404 .button { display: inline-block; background: #a2db00; color: #111; padding: 12px 24px; border-radius: 5px; font-weight: 600; }
.error-404 .button:hover { background: #c7f041; }

/* Page Content */
.page-content { background: #fff; padding: 25px; border-radius: 5px; }
.page-content .entry-title { color: #111; font-size: 24px; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 2px solid #a2db00; }
.page-content .entry-content { color: #666; line-height: 1.7; display: block; }
.page-content .entry-content h2 { color: #111; font-size: 20px; margin: 25px 0 10px; }
.page-content .entry-content h2:first-child { margin-top: 0; }
.page-content .entry-content h3 { color: #a2db00; font-size: 17px; margin: 20px 0 8px; }
.page-content .entry-content h4 { color: #555; font-size: 15px; margin: 15px 0 6px; }
.page-content .entry-content p { margin-bottom: 12px; }
.page-content .entry-content ul { margin: 0 0 12px 20px; }
.page-content .entry-content ul li { margin-bottom: 5px; }
.page-content .entry-content a { color: #a2db00; }
.page-content .entry-content a:hover { text-decoration: underline; }

/* Back to Top */
#back-to-top { display: none; position: fixed; bottom: 20px; right: 20px; background: #a2db00; color: #111; width: 40px; height: 40px; text-align: center; line-height: 40px; border-radius: 50%; font-size: 16px; z-index: 999; }
#back-to-top:hover { background: #c7f041; }

/* No Results */
.no-results { text-align: center; color: #888; padding: 40px; font-size: 16px; }

/* Responsive */
@media (max-width: 768px) {
    .site-branding { flex-direction: column; align-items: flex-start; }
    .header-search { margin: 10px 0 0; width: 100%; }
    .header-search input { width: 100%; }
    .button-nav { display: block; }
    .main-navigation ul { display: none; flex-direction: column; }
    .main-navigation.toggled ul { display: flex; }
    .videos-list { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    #primary.has-sidebar { width: 100%; padding-right: 0; }
    #sidebar { width: 100%; margin-top: 20px; }
    .categories-grid { grid-template-columns: repeat(2, 1fr); }
    .entry-content { display: block; }
    #rating-col { float: none; width: 100%; margin-bottom: 1em; }
    .entry-content .rating-bar, .rating-result { width: 100%; }
    #video-about.width70 { width: 100%; float: none; }
    .site-title a { font-size: 24px; }
}

@media (max-width: 480px) {
    .videos-list { grid-template-columns: repeat(2, 1fr); gap: 6px; }
    .loop-video .entry-header { padding: 6px; }
    .loop-video .entry-header span { font-size: 11px; }
    .categories-grid { grid-template-columns: 1fr; }
}

/* Navigation right items */
.nav-right { margin-left: auto; }
.nav-right + .nav-right { margin-left: 0; }

/* Auth pages */
.auth-box, .profile-box { max-width: 480px; margin: 30px auto; background: #fff; padding: 30px; border-radius: 5px; border-left: 6px solid #a2db00; }
.auth-box h2, .profile-box h2 { color: #111; font-size: 1.4em; margin-bottom: 20px; }
.form-group { margin-bottom: 15px; }
.form-group label { display: block; color: #aaa; margin-bottom: 5px; font-size: 0.9em; }
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="password"],
.profile-form input[type="text"],
.comment-form textarea { width: 100% !important; background: #333 !important; border: 1px solid #444 !important; color: #fff !important; padding: 12px 14px !important; border-radius: 4px !important; font-size: 15px !important; font-family: inherit !important; box-sizing: border-box !important; -webkit-appearance: none !important; appearance: none !important; }
.form-group input:focus,
.profile-form input:focus,
.comment-form textarea:focus { border-color: #a2db00 !important; outline: none !important; }
.form-group input:disabled,
.profile-form input:disabled { opacity: 0.5; cursor: not-allowed; background: #2a2a2a !important; }
.auth-btn,
.comment-submit { display: inline-block; background: #a2db00 !important; color: #fff !important; border: none !important; padding: 12px 28px !important; border-radius: 4px !important; font-size: 16px !important; font-weight: 600 !important; cursor: pointer !important; font-family: inherit !important; -webkit-appearance: none !important; appearance: none !important; }
.auth-btn:hover,
.comment-submit:hover { background: #c7f041 !important; }
.auth-link { margin-top: 15px; color: #888; font-size: 0.9em; }
.auth-link a { color: #a2db00; }
.auth-error { background: #3a1515; border: 1px solid #e74c3c; color: #e74c3c; padding: 10px 14px; border-radius: 4px; margin-bottom: 15px; font-size: 0.9em; }
.auth-success { background: #1e4620; border: 1px solid #4CAF50; color: #4CAF50; padding: 10px 14px; border-radius: 4px; margin-bottom: 15px; font-size: 0.9em; }
.profile-admin { margin-top: 20px; padding-top: 15px; border-top: 1px solid #333; }
.admin-link { background: #ececec; }
.admin-link:hover { background: #a2db00; }
.my-comments { margin-top: 10px; }
.my-comment { background: #f0f0f0; padding: 12px; border-radius: 4px; margin-bottom: 8px; border-left: 3px solid #a2db00; }
.my-comment a { color: #a2db00; font-weight: 600; }
.my-comment p { color: #666; margin: 6px 0; font-size: 0.9em; }
.my-comment small { color: #666; }

/* Comments */
.comments-section { background: #fff; padding: 20px; border-radius: 5px; margin-top: 20px; }
.comments-section .widget-title { color: #111; font-size: 1.2em; margin-bottom: 15px; padding-bottom: 8px; border-bottom: 2px solid #a2db00; }
.comment-form textarea { width: 100%; background: #ececec; border: 1px solid #444; color: #111; padding: 10px; border-radius: 4px; font-size: 14px; resize: vertical; font-family: inherit; }
.comment-form textarea:focus { border-color: #a2db00; outline: none; }
.comment-submit { background: #a2db00; color: #111; border: none; padding: 10px 20px; border-radius: 4px; font-size: 14px; font-weight: 600; cursor: pointer; margin-top: 8px; }
.comment-submit:hover { background: #c7f041; }
.comment-login-hint { color: #888; font-size: 0.95em; padding: 15px 0; }
.comment-login-hint a { color: #a2db00; font-weight: 600; }
.comments-list { margin-top: 15px; }
.comment-item { background: #f0f0f0; padding: 12px 15px; border-radius: 4px; margin-bottom: 10px; }
.comment-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.comment-author { color: #a2db00; font-size: 0.95em; text-decoration: none; }
.comment-author:hover { text-decoration: underline; }
.comment-user { display: flex; align-items: center; gap: 8px; }
.comment-avatar-img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.comment-avatar-emoji { font-size: 20px; width: 32px; text-align: center; }
.comment-date { color: #666; font-size: 0.8em; }
.comment-body { color: #555; font-size: 0.95em; line-height: 1.5; }
.no-comments { color: #666; font-size: 0.9em; padding: 10px 0; }

/* Admin Styles */
/* Admin (klassisch: WordPress-artig, hellgrauer BG, weiße Boxen, blauer Primary) */
.admin-body { background: #f0f0f1; color: #3c434a; }
.admin-container { max-width: 960px; margin: 30px auto; padding: 0 20px; }
.admin-header { background: #fff; padding: 18px 24px; border-radius: 4px 4px 0 0; border-bottom: 1px solid #dcdcde; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 1px 1px rgba(0,0,0,0.04); }
.admin-header h1 { color: #1d2327; font-size: 20px; font-weight: 600; margin: 0; }
.admin-header a { color: #2271b1; font-size: 13px; text-decoration: none; }
.admin-header a:hover { color: #135e96; text-decoration: underline; }
.admin-nav { background: #fff; padding: 0; display: flex; flex-wrap: wrap; border-bottom: 1px solid #dcdcde; box-shadow: 0 1px 1px rgba(0,0,0,0.04); }
.admin-nav a { padding: 12px 20px; color: #50575e; font-weight: 500; font-size: 14px; border-bottom: 3px solid transparent; text-decoration: none; transition: all 0.15s; }
.admin-nav a:hover { color: #2271b1; background: #f6f7f7; }
.admin-nav a.active { color: #2271b1; border-bottom-color: #2271b1; background: #f6f7f7; }
.admin-content { background: #fff; padding: 24px 28px; border-radius: 0 0 4px 4px; margin-bottom: 24px; box-shadow: 0 1px 1px rgba(0,0,0,0.04); }
.admin-content h2 { color: #1d2327; font-size: 18px; font-weight: 600; margin-bottom: 18px; padding-bottom: 12px; border-bottom: 1px solid #f0f0f1; }
.admin-content h3 { color: #1d2327; font-size: 15px; font-weight: 600; margin: 20px 0 10px; }
.admin-content label { display: block; color: #1d2327; font-weight: 500; margin-bottom: 5px; font-size: 13px; }
.admin-content textarea { width: 100%; min-height: 120px; background: #fff; border: 1px solid #8c8f94; color: #2c3338; padding: 8px 12px; border-radius: 3px; font-family: Menlo, Consolas, Monaco, monospace; font-size: 13px; margin-bottom: 15px; resize: vertical; box-shadow: 0 0 0 transparent; transition: box-shadow 0.1s, border-color 0.1s; }
.admin-content input[type="text"], .admin-content input[type="password"], .admin-content input[type="email"], .admin-content input[type="number"], .admin-content input[type="url"], .admin-content select { width: 100%; background: #fff; border: 1px solid #8c8f94; color: #2c3338; padding: 8px 12px; border-radius: 3px; font-size: 14px; margin-bottom: 15px; box-shadow: 0 0 0 transparent; transition: box-shadow 0.1s, border-color 0.1s; }
.admin-content input:focus, .admin-content textarea:focus, .admin-content select:focus { border-color: #2271b1; box-shadow: 0 0 0 1px #2271b1; outline: none; }
.admin-content .slot-group { padding: 15px 0; border-bottom: 1px solid #f0f0f1; }
.admin-content .slot-group:last-of-type { border-bottom: none; }
.admin-content .slot-label { font-weight: 600; color: #1d2327; margin-bottom: 3px; font-size: 14px; }
.admin-content .slot-name { color: #646970; font-size: 12px; font-family: monospace; margin-bottom: 8px; }
.admin-content table { width: 100%; border-collapse: collapse; margin-bottom: 15px; }
.admin-content th, .admin-content td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #f0f0f1; font-size: 13px; }
.admin-content th { background: #f6f7f7; color: #1d2327; font-weight: 600; }
.admin-content a { color: #2271b1; text-decoration: none; }
.admin-content a:hover { color: #135e96; text-decoration: underline; }
.btn { display: inline-block; background: #2271b1; color: #fff; padding: 8px 18px; border: 1px solid #2271b1; border-radius: 3px; font-size: 13px; font-weight: 500; cursor: pointer; text-decoration: none; transition: all 0.15s; line-height: 1.5; }
.btn:hover { background: #135e96; border-color: #135e96; color: #fff; }
.btn-danger { background: #d63638; border-color: #d63638; color: #fff; }
.btn-danger:hover { background: #b32d2e; border-color: #b32d2e; }
.btn-secondary { background: #f6f7f7; color: #2c3338; border-color: #8c8f94; }
.btn-secondary:hover { background: #fff; color: #1d2327; }
.alert { padding: 10px 14px; border-radius: 0; margin-bottom: 15px; font-size: 13px; border-left: 4px solid; background: #fff; }
.alert-success { border-left-color: #00a32a; color: #1d2327; }
.alert-error { border-left-color: #d63638; color: #1d2327; }
.alert-info { border-left-color: #72aee6; color: #1d2327; }
.alert-warning { border-left-color: #dba617; color: #1d2327; }

/* Admin dashboard tiles */
.admin-tile { background: #f6f7f7; border: 1px solid #dcdcde; padding: 20px; border-radius: 4px; text-align: center; }
.admin-tile:hover { border-color: #2271b1; }

/* Admin nav-link card rows (slot-group in nav-links.php) */
.admin-content form .slot-group { background: #f6f7f7; border: 1px solid #dcdcde; border-radius: 4px; padding: 15px; margin-bottom: 12px; }
.admin-content form .slot-group label { color: #646970; font-weight: 500; font-size: 12px; text-transform: uppercase; letter-spacing: 0.3px; }

/* Code/pre blocks in admin */
.admin-content pre { background: #f6f7f7; border: 1px solid #dcdcde; color: #2c3338; font-family: Menlo, Consolas, monospace; }
.admin-content code { background: #f6f7f7; padding: 2px 6px; border-radius: 3px; font-family: Menlo, Consolas, monospace; font-size: 0.9em; }
.admin-content dt { font-weight: 600; color: #1d2327; margin-top: 8px; }
.admin-content dd { margin-left: 16px; color: #50575e; }

/* Login box (admin-body minimal) */
.login-box { max-width: 380px; margin-top: 80px; }
.login-box .admin-content { margin-bottom: 0; padding: 30px; border-radius: 4px; }
.login-box h2 { text-align: left; border-bottom: none; padding-bottom: 0; }
.login-box { max-width: 400px; margin: 80px auto; }
.login-box h2 { text-align: center; color: #a2db00; margin-bottom: 25px; }
.slot-group { background: #0f3460; padding: 15px; border-radius: 5px; margin-bottom: 15px; }
.slot-group .slot-label { color: #a2db00; font-size: 14px; font-weight: 700; margin-bottom: 5px; }
.slot-group .slot-name { color: #666; font-size: 11px; margin-bottom: 8px; }
.slot-group textarea { margin-bottom: 0; }
.sync-result { background: #0f3460; padding: 15px; border-radius: 5px; margin-top: 15px; }
.sync-result dt { color: #a2db00; font-weight: 600; }
.sync-result dd { color: #666; margin-bottom: 8px; margin-left: 0; }

/* Recent searches */
.recent-searches .search-tag { background: #f0f0f0; border: 1px solid #444; color: #a2db00; }
.recent-searches .search-tag:hover { background: #a2db00; color: #111; border-color: #a2db00; }
.recent-searches .search-tag i { margin-right: 4px; font-size: 0.85em; }

/* Fallback videos on empty results */
.fallback-videos { margin-top: 30px; padding-top: 20px; border-top: 1px solid #333; }
.fallback-videos .widget-title { color: #111; font-size: 1.1em; margin-bottom: 15px; padding-bottom: 8px; border-bottom: 2px solid #a2db00; }

/* Breadcrumbs */
.breadcrumbs { max-width: 1200px; margin: 0 auto; padding: 10px 10px 0; font-size: 0.85em; color: #666; }
.breadcrumbs a { color: #999; }
.breadcrumbs a:hover { color: #a2db00; }
.breadcrumbs .sep { margin: 0 6px; color: #555; }
.breadcrumbs span:last-child { color: #aaa; }

/* Video filters dropdown */
.page-header { position: relative; margin-bottom: 20px; }
#filters { position: absolute; right: 0; top: 0; z-index: 100; }
.filters-select { background: #181818; color: #aaa; padding: 6px 14px; cursor: pointer; font-size: 0.9em; border: 1px solid #333; border-radius: 3px; position: relative; user-select: none; white-space: nowrap; }
.filters-select i { margin-left: 5px; }
.filters-select:hover { color: #a2db00; border-color: #a2db00; }
.filters-options { display: none; position: absolute; right: 0; top: 100%; background: #fff; border: 1px solid #333; border-top: 3px solid #a2db00; min-width: 200px; z-index: 999; border-radius: 0 0 4px 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.5); }
.filters-select.open .filters-options { display: block; }
.filters-options a { display: block; padding: 10px 16px; color: #555; font-size: 0.9em; border-bottom: 1px solid #2a2a2a; transition: background 0.15s; }
.filters-options a:last-child { border-bottom: none; }
.filters-options a:hover { background: #f0f0f0; color: #a2db00; }
.filters-options a.active { color: #a2db00; font-weight: 600; }

/* Outgoing nav links - highlighted */
.main-navigation ul li.nav-external a { color: #c7f041; }
.main-navigation ul li.nav-external a:hover { background: #c7f041; color: #000; }

/* Top bar */
.top-bar { background: #111; border-bottom: 1px solid #282828; font-size: 0.8em; }
.top-bar-content { display: flex; justify-content: flex-end; align-items: center; padding: 6px 10px; }
.membership { display: flex; align-items: center; gap: 4px; }
.membership .welcome { color: #888; margin-right: 6px; }
.membership .welcome i { margin-right: 4px; color: #a2db00; }
.membership a { color: #555; padding: 2px 8px; }
.membership a:hover { color: #a2db00; }
.membership .or { color: #555; font-size: 0.9em; }
.membership .topbar-item-text { }
@media (max-width: 768px) {
    .membership .topbar-item-text { display: none; }
    .top-bar-content { justify-content: center; }
}
