/* VPS Overview - Hostim Z compatible */
.vps-ov-page {
    min-height: 60vh;
    padding-bottom: 60px;
}

[data-bs-theme="dark"] .vps-ov-card {
    background: var(--card-bg) !important;
}

[data-bs-theme="dark"] .vps-ov-filter-card {
    background: rgba(255,255,255,0.05) !important;
}

.vps-ov-filter-card {
    border: 1px solid var(--border-color);
}

.vps-ov-filter-card .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.15rem rgba(0, 96, 254, 0.12);
}

/* Card hover effect */
.vps-ov-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    border-color: var(--primary) !important;
}

.vps-ov-card a:hover {
    background: var(--primary-dark) !important;
    color: #fff !important;
}

/* List view - OVH style table rows */
.vps-list-view {
    display: flex !important;
    flex-direction: column;
    gap: 0 !important;
}

.vps-list-view .vps-product-card {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
    -webkit-box-flex: 0 !important;
    -ms-flex: 0 0 100% !important;
}

.vps-list-view .vps-ov-card {
    flex-direction: row !important;
    align-items: stretch;
    flex-wrap: nowrap !important;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    border-bottom: 1px solid var(--border-color) !important;
    min-height: 72px;
}

.vps-list-view .vps-product-card:first-child .vps-ov-card {
    border-top: 1px solid var(--border-color) !important;
}

.vps-list-view .vps-product-card:last-child .vps-ov-card {
    border-bottom: 1px solid var(--border-color) !important;
    border-radius: 0 0 var(--custom-radius) var(--custom-radius) !important;
}

.vps-list-view .vps-product-card:first-child .vps-ov-card {
    border-radius: var(--custom-radius) var(--custom-radius) 0 0 !important;
}

/* Column 1: Name + badge */
.vps-list-view .vps-ov-card > div:first-child {
    flex: 0 0 200px;
    padding: 14px 16px !important;
    border-right: 1px solid var(--border-color);
    border-bottom: none !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.vps-list-view .vps-ov-card > div:first-child h5 {
    font-size: 0.95rem !important;
    margin: 4px 0 0 0 !important;
}

.vps-list-view .vps-ov-card > div:first-child span {
    font-size: 0.65rem !important;
    padding: 2px 8px !important;
}

/* Column 2: Specs + locations */
.vps-list-view .vps-ov-card > div:nth-child(2) {
    flex: 1;
    padding: 14px 16px !important;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.vps-list-view .vps-specs-row {
    flex: 1;
    min-width: 180px;
}

.vps-list-view .vps-ov-card > div:nth-child(2) > div:nth-child(2) {
    margin-bottom: 0 !important;
    flex: 0 0 auto;
}

.vps-list-view .vps-ov-card > div:nth-child(2) > div:nth-child(2) p {
    font-size: 0.72rem !important;
}

/* Column 3: Price + Order */
.vps-list-view .vps-ov-card > div:last-child {
    flex: 0 0 220px;
    padding: 14px 16px !important;
    border-top: none !important;
    border-left: 1px solid var(--border-color);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.vps-list-view .vps-ov-card > div:last-child > div:first-child {
    text-align: left;
}

.vps-list-view .vps-ov-card > div:last-child > div:first-child span:first-child {
    font-size: 1.2rem !important;
}

.vps-list-view .vps-ov-card > div:last-child > div:first-child span:last-child {
    font-size: 0.7rem !important;
}

.vps-list-view .vps-ov-card > div:last-child a,
.vps-list-view .vps-ov-card > div:last-child span {
    padding: 6px 16px !important;
    font-size: 0.8rem !important;
}

html[dir="rtl"] .vps-list-view .vps-ov-card > div:first-child {
    border-right: none;
    border-left: 1px solid var(--border-color);
}

html[dir="rtl"] .vps-list-view .vps-ov-card > div:last-child {
    border-left: none;
    border-right: 1px solid var(--border-color);
}

html[dir="rtl"] .vps-list-view .vps-ov-card > div:last-child > div:first-child {
    text-align: right;
}

/* View toggle active state */
#vps-view-grid.active, #vps-view-list.active {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

/* RTL support */
html[dir="rtl"] .vps-ov-card a i {
    margin-left: 0 !important;
    margin-right: 6px !important;
    transform: rotate(180deg);
}

/* Responsive */
@media (max-width: 768px) {
    .vps-ov-hero {
        padding: 32px 0 24px !important;
    }
    .vps-ov-hero h1 {
        font-size: 1.6rem !important;
    }
    .vps-ov-filter-card {
        padding: 16px !important;
    }
    .vps-list-view .vps-ov-card {
        flex-direction: column !important;
    }
    .vps-list-view .vps-ov-card > div:first-child {
        flex: none;
        border-right: none;
        border-bottom: 1px solid var(--gray-light);
    }
    .vps-list-view .vps-ov-card > div:nth-child(2) {
        flex-direction: column;
        align-items: flex-start;
    }
    .vps-list-view .vps-ov-card > div:last-child {
        border-left: none;
        border-top: 1px solid var(--gray-light);
        align-items: flex-start;
        flex: none;
        width: 100%;
    }
}

/* Modal features list */
#vps-modal-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
#vps-modal-features li {
    padding: 6px 0;
    border-bottom: 1px solid var(--gray-light);
    font-size: 0.85rem;
    color: var(--body-color);
    display: flex;
    align-items: center;
}
#vps-modal-features li:before {
    content: "\f00c";
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome";
    font-weight: 900;
    color: var(--primary);
    font-size: 11px;
    margin-right: 10px;
    flex-shrink: 0;
}
#vps-modal-features li:last-child {
    border-bottom: none;
}
