/*
Theme Name: VietKo Premium Theme
Theme URI: https://vietko.com
Author: Tinovation
Version: 3.5 – Fully Responsive + Filter Bar Pro
Text Domain: vietko
*/

/* --- RESET & BASICS --- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { 
    margin: 0; 
    padding: 0; 
    font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif; 
    background-color: #f9fbfc; 
    color: #333; 
    line-height: 1.6; 
}
a { text-decoration: none; color: inherit; transition: 0.3s; }
ul { list-style: none; padding: 0; margin: 0; }
img { max-width: 100%; height: auto; display: block; }
.vk-container { max-width: 1200px; margin: 0 auto; padding: 0 15px; }

/* --- HEADER --- */
.site-header { 
    background: #fff; 
    border-bottom: 1px solid #eaeaea; 
    padding: 15px 0; 
    position: sticky; 
    top: 0; 
    z-index: 1000; 
    box-shadow: 0 2px 10px rgba(0,0,0,0.05); 
}
.header-inner { display: flex; justify-content: space-between; align-items: center; }
.site-logo { display: flex; align-items: flex-end; gap: 10px; }
.site-logo a { 
    display: inline-block; 
    font-size: 35px; 
    width: 25%;
    font-weight: 800; 
    color: #d32f2f; 
    letter-spacing: -1px; 
    text-transform: uppercase; 
}
.site-tagline { 
    font-size: 14px; 
    color: #6b7a85; 
    font-weight: 400; 
    padding-bottom: 10px; 
}
.main-navigation ul { display: flex; gap: 25px; }
.main-navigation a { 
    position: relative; 
    padding-bottom: 8px; 
    font-weight: 600; 
    color: #333; 
    font-size: 14px; 
    text-transform: uppercase; 
    white-space: nowrap;
}
.main-navigation a:hover { color: #d32f2f; }
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a { 
    color: #0073aa; 
    font-weight: 700; 
}
.main-navigation .current-menu-item > a::after,
.main-navigation .current_page_item > a::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    height: 3px;
    width: 40px;
    background: #0073aa;
    border-radius: 3px;
}

/* --- GRID RESPONSIVE --- */
.vk-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
    margin: 30px 0;
}
@media (max-width: 1200px) { .vk-grid-4 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px)  { .vk-grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .vk-grid-4 { grid-template-columns: 1fr; } }

/* --- STANDARD CARD DESIGN --- */
.vk-card { 
    background: #fff; 
    border-radius: 12px; 
    overflow: hidden; 
    border: 1px solid #e1e4e8; 
    display: flex; 
    flex-direction: column; 
    transition: all 0.3s ease; 
    position: relative; 
}
.vk-card:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 10px 25px rgba(0,0,0,0.08); 
    border-color: #0073aa; 
}

.vk-thumb-box { height: 180px; position: relative; overflow: hidden; background-color: #eee; }
.vk-thumb-img { width: 100%; height: 100%; object-fit: cover; transition: 0.5s; }
.vk-card:hover .vk-thumb-img { transform: scale(1.05); }

/* Badges */
.vk-badge { 
    position: absolute; 
    bottom: 10px; 
    left: 10px; 
    color: #fff; 
    font-size: 10px; 
    font-weight: 800; 
    padding: 4px 10px; 
    border-radius: 20px; 
    text-transform: uppercase; 
    z-index: 2; 
}
.badge-hotdeals { background: #ff9800; } 
.badge-jobs      { background: #0073aa; }     
.badge-houses    { background: #28a745; }   
.badge-post      { background: #6c757d; }     

/* Content */
.vk-news-main-content {
    text-align: justify;
}

.vk-news-main-content img {
    display: block;
    margin: 0 auto;
}

.vk-content { 
    padding: 13px; 
    flex-grow: 1; 
    display: flex; 
    flex-direction: column; 
}
.vk-title { 
    font-size: 16px; 
    font-weight: 700; 
    margin: 0 0 8px 0; 
    line-height: 1.3; 
    color: #2c3e50; 
}
.vk-excerpt { 
    font-size: 13px; 
    color: #7f8c8d; 
    margin-bottom: 15px; 
    display: -webkit-box; 
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical; 
    overflow: hidden; 
}

/* Meta Data */
.vk-meta-wrap { 
    margin-top: auto; 
    border-top: 1px solid #f0f0f0; 
    padding-top: 10px; 
    font-size: 13px; 
    color: #555; 
}
.vk-price-row { display: flex; align-items: baseline; gap: 5px; }
.vk-old-price { text-decoration: line-through; color: #999; font-size: 13px; }
.vk-new-price { color: #e74c3c; font-weight: bold; font-size: 16px; }
.vk-btn-view { 
    display: block; 
    text-align: center; 
    background: #f8f9fa; 
    color: #333; 
    font-weight: 600; 
    font-size: 13px; 
    padding: 8px 0; 
    margin-top: 12px; 
    border-radius: 6px; 
}
.vk-btn-view:hover { background: #0073aa; color: #fff; }
.vk-icon { margin-right: 5px; color: #0073aa; }

/* --- TRENDING LAYOUT --- */
.vk-card.layout-trending { height: 400px; border: none; }
.vk-card.layout-trending .vk-thumb-box { 
    height: 100%; 
    position: absolute; 
    width: 100%; 
    top: 0; 
    left: 0; 
    z-index: 1; 
}
.vk-card.layout-trending .vk-content { 
    position: absolute; 
    bottom: 0; 
    left: 0; 
    right: 0; 
    z-index: 10; 
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.5) 60%, transparent 100%); 
    color: #fff; 
    padding-top: 60px; 
    border-top: none;
}
.vk-card.layout-trending .vk-title { 
    color: #fff; 
    font-size: 16px; 
    text-shadow: 0 2px 4px rgba(0,0,0,0.5); 
}
.vk-card.layout-trending .vk-title a:hover { color: #ff9800; }
.vk-card.layout-trending .vk-excerpt { color: #ddd; display: none; }
.vk-card.layout-trending .vk-meta-wrap { 
    border-top: 1px solid rgba(255,255,255,0.3); 
    color: #eee; 
    margin-top: 5px; 
}
.vk-card.layout-trending .vk-icon { color: #ff9800; }
.vk-card.layout-trending .vk-btn-view { 
    background: rgba(255,255,255,0.2); 
    color: #fff; 
    backdrop-filter: blur(5px); 
    border: 1px solid rgba(255,255,255,0.3); 
}
.vk-card.layout-trending .vk-btn-view:hover { 
    background: #fff; 
    color: #000; 
}

/* --- FOOTER (giữ nguyên 100%) --- */
.site-footer { 
    background: #fff; 
    padding: 60px 0 20px; 
    margin-top: 50px; 
    border-top: 1px solid #eaeaea; 
}
.footer-grid { 
    display: grid; 
    grid-template-columns: 1.5fr 1fr 1fr 1fr; 
    gap: 40px; 
    margin-bottom: 40px; 
}
.footer-col h4 { 
    font-size: 20px; 
    font-weight: 700; 
    margin-bottom: 20px; 
    color: #000; 
    text-transform: uppercase; 
}
.footer-col ul li { 
    margin-bottom: 10px; 
    font-size: 14px; 
    color: #666; 
}
.footer-col ul li a:hover { color: #d32f2f; }
.footer-bottom { 
    text-align: center; 
    font-size: 14px; 
    color: #999; 
    border-top: 1px solid #eee; 
    padding-top: 20px; 
}
@media (max-width: 768px) { 
    .footer-grid { grid-template-columns: 1fr 1fr; } 
}

/* --- FILTER BAR SIÊU ĐẸP & RESPONSIVE (nâng cấp hoàn toàn) --- */
.vk-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    margin-bottom: 0px;
    padding: 26px;
    background: #ffffff;
    border-radius: 20px;
}

.vk-filter-bar > * {
    min-width: 260px;
}

.vk-select-wrapper {
    position: relative;
    width: 100%;
}

.vk-select-wrapper select {
    width: 100%;
    padding: 16px 50px 16px 22px;
    border: 2px solid #5D9CEC;
    border-radius: 50px;
    background: #fff;
    font-size: 15px;
    font-weight: 600;
    color: #2c3e50;
    outline: none;
    cursor: pointer;
    appearance: none;
    transition: all 0.3s ease;
}

.vk-select-wrapper select:focus {
    border-color: #F7941D;
    box-shadow: 0 0 0 6px rgba(247,148,29,0.18);
}

.vk-select-wrapper i {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #5D9CEC;
    font-size: 16px;
    pointer-events: none;
}

/* Search Box */
.vk-search-box {
    display: flex;
    gap: 12px;
    margin-left: auto;
    width: 100%;
    max-width: 420px;
}

.vk-search-box input {
    flex: 1;
    padding: 16px 24px;
    border: 2px solid #e0e0e0;
    border-radius: 50px;
    font-size: 15.5px;
    outline: none;
    transition: 0.3s;
}

.vk-search-box input:focus {
    border-color: #F7941D;
    box-shadow: 0 0 0 6px rgba(247,148,29,0.15);
}

.vk-search-box button {
    padding: 0 34px;
    background: #F7941D;
    color: white;
    border: none;
    border-radius: 50px;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    white-space: nowrap;
    transition: 0.3s;
}

.vk-search-box button:hover {
    background: #e67e22;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(230,126,34,0.35);
}

/* RESPONSIVE FILTER BAR */
@media (max-width: 992px) {
    .vk-search-box {
        order: -1;
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .vk-filter-bar {
        flex-direction: column;
        padding: 22px;
        gap: 18px;
    }
    .vk-filter-bar > * {
        min-width: 100%;
    }
    .vk-search-box {
        order: 0;
        margin-left: 0;
    }
    .site-tagline { 
        display: none;
    }
}

@media (max-width: 480px) {
    .vk-search-box input,
    .vk-search-box button {
        font-size: 16px;
    }
}

/* ================== MOBILE MENU – HAMBURGER + DRAWER ================== */
.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    font-size: 28px;
    color: #d32f2f;
    cursor: pointer;
    padding: 5px;
}

.mobile-menu-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 9998;
    opacity: 0;
    transition: opacity 0.3s;
}

.mobile-menu-drawer {
    position: fixed;
    top: 0; left: -320px;
    width: 320px;
    height: 100vh;
    background: #fff;
    z-index: 9999;
    padding: 0;
    box-shadow: 5px 0 20px rgba(0,0,0,0.2);
    transition: left 0.35s ease;
    overflow-y: auto;
}

.mobile-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 2px solid #eee;
    background: #f9f9f9;
}

.mobile-menu-header .mobile-logo {
    width: 40%;
    font-size: 28px;
    font-weight: 800;
    color: #d32f2f;
    letter-spacing: -1px;
    text-transform: uppercase;
}

.mobile-menu-close {
    background: none;
    border: none;
    font-size: 24px;
    color: #666;
    cursor: pointer;
    padding: 5px 10px;
}

.mobile-menu-drawer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-menu-drawer ul li {
    border-bottom: 1px solid #eee;
}

.mobile-menu-drawer ul li a {
    display: block;
    padding: 16px 16px;
    font-size: 17px;
    font-weight: 600;
    color: #333;
    text-transform: uppercase;
}

.mobile-menu-drawer ul li a:hover {
    background: #f5f5f5;
    color: #d32f2f;
}

.mobile-menu-drawer .current-menu-item > a {
    color: #d32f2f;
    background: #fff5f5;
}

/* When menu is open */
.mobile-menu-open .mobile-menu-overlay {
    display: block;
    opacity: 1;
}
.mobile-menu-open .mobile-menu-drawer {
    left: 0;
}

/* hide menu desktop + display hamburger on mobile */
@media (max-width: 768px) {
    .main-navigation {
        display: none !important;
    }
    .mobile-menu-btn {
        display: block !important;
    }
    .site-logo a {
        font-size: 30px;
    }
}

/* --- NEWS MINIMAL (RESPONSIVE LIST VIEW) --- */
.vk-news-minimal-item {
    display: flex;
    padding: 17px 0; 
    border-top: 1px solid #eaeaea;
    width: 100%;
    gap: 30px; 
    align-items: flex-start;
}

.vk-news-minimal-thumb {
    width: 100px;
    height: 70px; 
    border-radius: 5px; 
    overflow: hidden; 
    flex-shrink: 0;
}

.vk-news-minimal-content {
    flex: 1; 
    display: flex; 
    flex-direction: column; 
    justify-content: flex-start;
}

.vk-minimal-title {
    margin: 0 0 5px 0; 
    font-size: 17px; 
    line-height: 1.4; 
    font-family: inherit; 
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.vk-minimal-title a {
    text-decoration: none; 
    color: inherit; 
    font-weight: 600;
}

.vk-minimal-excerpt {
    font-size: 13px; 
    opacity: 0.8; 
    margin: 0 0 5px 0; 
    line-height: 1.5; 
    display: -webkit-box; 
    -webkit-line-clamp: 1; 
    -webkit-box-orient: vertical; 
    overflow: hidden;
}

.vk-minimal-date {
    margin-top: auto; 
    font-size: 11px; 
    color: #a6a6a6;
}


/* --- RESPONSIVE BREAKPOINTS for NEWS MINIMAL --- */
@media (max-width: 900px) {
    .vk-news-minimal-item {
        padding: 20px 10px;
        gap: 20px;
    }
    .vk-news-minimal-thumb {
        width: 90px; 
        height: 70px;
    }
    .vk-minimal-title {
        font-size: 17px;
    }
    .vk-minimal-excerpt {
        font-size: 13px;
        -webkit-line-clamp: 1;
    }
}

@media (max-width: 560px) {
    .vk-news-minimal-item {
        padding: 15px 0;
        gap: 15px;
    }
    .vk-news-minimal-thumb {
        width: 80px; 
        height: 65px; 
    }
    .vk-minimal-title {
        font-size: 15px;/
        margin-bottom: 5px;
    }
    .vk-minimal-excerpt {
        font-size: 12px;
        -webkit-line-clamp: 1;
        margin-bottom: 5px;
    }
}
/* Làm đẹp form edit tay */
.vk-community-edit-area textarea.wp-editor-area {
    min-height: 300px !important;
}
.vk-community-edit-area .wp-editor-tabs {
    margin-bottom: 10px;
}
.vk-community-edit-area .wp-editor-container {
    border: 1px solid #ddd !important;
    border-radius: 12px;
}

.vk-comments-list-wrapper {
    max-height: 400px;
    overflow-y: auto;
    padding: 10px;
    /* border: 1px solid #eee; */
    border-radius: 8px;
    background: #fbfbfb;
}

.vk-comments-list-wrapper::-webkit-scrollbar {
    width: 8px;
}
.vk-comments-list-wrapper::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}
.vk-comments-list-wrapper::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}
.vk-comments-list-wrapper::-webkit-scrollbar-thumb:hover {
    background: #aaa;
}

@media (max-width: 768px) {
    .vk-comments-list-wrapper {
        max-height: 400px;
    }
}

/* ===== Shared: Comment Options Menu (three-dot actions) ===== */
.vk-options-btn { background: transparent; border: none; cursor: pointer; font-size: 18px; line-height: 1; padding: 4px 8px; }
.vk-options-menu button.vk-option { background: transparent; border: none; cursor: pointer; }
.vk-options-menu button.vk-option:hover { background:#f5f7fa }
.vk-verify-container { margin-top:8px; }
.vk-verify-error-inline { color:#e74c3c; font-size:13px; padding:8px; background:#fdecea; border-radius:6px; margin-bottom:8px; }