/* ============================================
   WIFI PLANS PAGE SPECIFIC STYLES
   WiFiHapa - WiFi Plans Pricing Styles
   ============================================ */
/* Main Content */
.main-content {
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

/* ----- HERO SECTION ----- */
.plans-hero {
    background: linear-gradient(145deg, #edf4ff 0%, #ffffff 100%);
    padding: 2rem 1.5rem;
    border-radius: 40px;
    margin: 1.5rem 0 2rem;
    border: 1px solid rgba(13, 110, 253, 0.05);
    transition: var(--transition, all 0.3s ease);
}

body.dark .plans-hero {
    background: var(--hero-bg, linear-gradient(145deg, #111827 0%, #1e2538 100%));
}

/* ----- PLAN CARDS ----- */
.plan-card {
    background: var(--card-bg, white);
    border-radius: 24px;
    padding: 1.2rem;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.02);
    border: 1px solid rgba(0, 0, 0, 0.02);
    transition: var(--transition, all 0.25s ease);
    height: 100%;
    position: relative;
}

body.dark .plan-card {
    background: var(--card-bg, #1e2538);
    border-color: var(--border-light, rgba(255, 255, 255, 0.05));
}

.plan-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px rgba(13, 110, 253, 0.08);
}

.plan-card.popular {
    border: 2px solid #d4a11e;
}

.popular-badge {
    position: absolute;
    top: 0;
    right: 1rem;
    background: #d4a11e;
    color: white;
    padding: 0.25rem 1rem;
    border-radius: 0 0 12px 12px;
    font-weight: 700;
    font-size: 0.7rem;
}

.plan-price {
    font-size: 2rem;
    font-weight: 800;
    color: var(--text-primary, #0a2c3d);
    margin: 0.5rem 0;
}

.plan-price small {
    font-size: 0.8rem;
    font-weight: 500;
    color: #6c757d;
}

.speed-badge {
    background: #e4edff;
    padding: 0.2rem 0.8rem;
    border-radius: 50px;
    font-size: 0.7rem;
    font-weight: 600;
    color: #0d6efd;
    display: inline-block;
}

body.dark .speed-badge {
    background: #2a3448;
    color: #5bc0de;
}

.plan-features {
    list-style: none;
    padding: 0;
    margin: 1rem 0;
}

.plan-features li {
    padding: 0.4rem 0;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.8rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    color: var(--text-secondary, #5e6f7d);
}

body.dark .plan-features li {
    border-bottom-color: rgba(255, 255, 255, 0.05);
}

.plan-features li:last-child {
    border-bottom: none;
}

.plan-features i {
    color: #28a745;
    width: 18px;
    font-size: 0.75rem;
}

/* ----- BUTTONS ----- */
.btn-buy-plan {
    width: 100%;
    background: #0d6efd;
    border: none;
    border-radius: 50px;
    padding: 0.6rem;
    font-weight: 600;
    font-size: 0.85rem;
    color: white;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    transition: var(--transition, all 0.2s ease);
}

.btn-buy-plan:hover {
    background: #0b5ed7;
    color: white;
    transform: scale(0.98);
}

.btn-buy-plan.outline {
    background: white;
    border: 1.5px solid #0d6efd;
    color: #0d6efd;
}

body.dark .btn-buy-plan.outline {
    background: transparent;
    color: #0d6efd;
}

.btn-buy-plan.outline:hover {
    background: #0d6efd;
    color: white;
}

/* ----- COMPARISON TABLE ----- */
.comparison-table {
    background: var(--card-bg, white);
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

body.dark .comparison-table {
    background: var(--card-bg, #1e2538);
    border-color: var(--border-light, rgba(255, 255, 255, 0.05));
}

.comparison-table th,
.comparison-table td {
    padding: 0.75rem;
    font-size: 0.85rem;
    vertical-align: middle;
    color: var(--text-primary, #0a2c3d);
}

body.dark .comparison-table th,
body.dark .comparison-table td {
    color: var(--text-primary, #eef2ff);
}

.comparison-table .table-bordered {
    border-color: var(--border-light, #dee2e6);
}

/* ----- SECTION TITLES ----- */
.section-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--text-primary, #0a2c3d);
}

/* ----- ADDITIONAL CARD STYLES ----- */
.additional-card {
    transition: var(--transition, all 0.25s ease);
}

/* ----- RESPONSIVE ----- */
@media (max-width: 768px) {
    .plans-hero {
        padding: 1.2rem;
    }
    .plans-hero h1 {
        font-size: 1.8rem;
    }
    .plans-hero .fs-4 {
        font-size: 1.2rem !important;
    }
    .section-title {
        font-size: 1.5rem;
    }
    .plan-price {
        font-size: 1.5rem;
    }
    .comparison-table th,
    .comparison-table td {
        padding: 0.5rem;
        font-size: 0.7rem;
    }
}

@media (max-width: 576px) {
    .plan-card {
        padding: 1rem;
    }
    .popular-badge {
        font-size: 0.6rem;
        padding: 0.2rem 0.8rem;
    }
    .btn-buy-plan {
        padding: 0.5rem;
        font-size: 0.75rem;
    }
}