
.table-wrapper {
    width: 100%;
    max-width: 1200px;
    overflow-x: auto;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12);
}

table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    min-width: 520px;
}

/* Header */
thead tr {
    background: color(display-p3 0.847 0.907 0.951);
    color: color(display-p3 0.235 0.537 0.753);
}

thead th {
    padding: 1.2rem 1rem;
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.5px;
}

thead th:first-child {
    text-align: left;
    border-radius: 16px 0 0 0;
}

thead th:last-child {
    border-radius: 0 16px 0 0;
}

/* Plan badges */
.badge {
    display: inline-block;
    padding: 0.5rem 0.8rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 700;
    margin-top: 0.3rem;
}

.badge-basic {
    background: linear-gradient(
            135deg,
            color(display-p3 0.847 0.907 0.951),
            color(display-p3 0.92 0.95 0.97)
    );
    color: color(display-p3 0.3 0.5 0.65);
    width: 100px;
}

.badge-vip {
    background: linear-gradient(
            135deg,
            color(display-p3 0.45 0.72 0.87),
            color(display-p3 0.647 0.807 0.901)
    );
    color: color(display-p3 0.1 0.31 0.43);
    width: 100px;
}

.badge-premium {
    background: linear-gradient(135deg, #5aaad4, #d8eaf3);
    color: #1a4f6e;
    width: 100px;
}

/* Body rows */
tbody tr {
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.2s;
}

tbody tr:last-child {
    border-bottom: none;
}

tbody tr:hover {
    background: #f8f9ff;
}

tbody tr:nth-child(even) {
    background: #fafafa;
}

tbody tr:nth-child(even):hover {
    background: #f8f9ff;
}

td {
    padding: 1rem 1rem;
    text-align: center;
    font-size: 0.95rem;
    color: #444;
}

td:first-child {
    text-align: left;
    font-weight: 500;
    color: #222;
    padding-left: 1.5rem;
}

/* Icons */
.icon-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #DBEBE2;
    color: #1a4a30;
    font-size: 1rem;
}

.icon-cross {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #F3DCDC;
    color: #5a1a1a;
    font-size: 1.1rem;
    font-weight: 700;
}
.icon-neut {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: color(display-p3 0.235 0.537 0.753);
    font-size: 1.1rem;
    font-weight: 700;
}

/* Section headers */
.section-row td {
    background: #f0f2f5;
    color: #888;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 0.5rem 1.5rem;
}

/* Responsive */
@media (max-width: 600px) {
    thead th, td {
        padding: 0.8rem 0.5rem;
        font-size: 1rem;
    }

    td:first-child {
        padding-left: 0.8rem;
    }
}
