.pv-container {
    width: 100%;
}

.pv-container table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.pv-container table thead th {
    background: #005D8F;
    color: #FFFFFF;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    padding: 14px 16px;
    vertical-align: middle;
}

.pv-container table thead th:first-child {
    border-top-left-radius: 20px;
}

.pv-container table thead th:last-child {
    border-top-right-radius: 20px;
}

.pv-container table tbody td {
    padding: 16px;
    vertical-align: middle;
    background: #FFFFFF;
}

.pv-container table tbody tr + tr td {
    border-top: 1px solid #D9E1E7;
}

.pv-container table tbody td.product-image {
    width: 110px;
    text-align: center;
    vertical-align: top;
}

.pv-container table tbody td.product-image img {
    display: block;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    margin: 0 auto;
}

.pv-container table tbody td.product-variation {
    font-weight: 600;
    color: #1D1D1D;
}

.pv-container table tbody td.desktop-price {
    text-align: center;
    font-weight: 600;
    color: #1D1D1D;
}

.pv-container .product-prices {
    display: none;
}

/* Tablet / mobile */
@media (max-width: 992px) {
    .pv-container table,
    .pv-container thead,
    .pv-container tbody,
    .pv-container tr,
    .pv-container th,
    .pv-container td {
        display: block;
        width: 100%;
    }

    .pv-container table {
        border-spacing: 0;
    }

    .pv-container table thead {
        display: none;
    }

    .pv-container table tbody tr {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        padding: 20px 0;
        text-align: center;
    }

    .pv-container table tbody tr + tr {
        border-top: 1px solid #D9E1E7;
    }

    .pv-container table tbody td {
        padding: 0;
        border: 0 !important;
    }

    .pv-container table tbody td.product-image {
        width: 100%;
        text-align: center;
    }

    .pv-container table tbody td.product-image img {
        /* width: 90px; */
        height: 70px;
        object-fit: contain;
        margin: 0 auto;
    }

    .pv-container table tbody td.product-variation {
        width: 100%;
        text-align: center;
        font-size: 15px;
        line-height: 1.4;
        font-weight: 700;
        color: #fff;
        background: #005D8F;
        /* display: flex; */
        /* justify-content: space-between; */
        /* align-items: center; */
        /* gap: 10px; */
        padding: 10px 12px;
        /* background: #F6F9FB; */
        border-radius: 10px;
        font-size: 16px;
    }

    .pv-container table tbody td.desktop-price {
        display: none !important;
    }

    .pv-container table tbody td.product-prices {
        display: block !important;
        width: 100%;
        /* max-width: 420px; */
    }

    .pv-container .price-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(120px, 1fr));
        gap: 8px 12px;
        width: 100%;
    }

    .pv-container .price-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        padding: 10px 12px;
        background: #F6F9FB;
        border-radius: 10px;
        font-size: 14px;
    }

    .pv-container .price-year {
        font-weight: 700;
        color: #005D8F;
    }

    .pv-container .price-value {
        font-weight: 700;
        color: #1D1D1D;
    }
}

/* Small mobile: years become a single column */
@media (max-width: 500px) {
    .pv-container table tbody tr {
        padding: 18px 0;
    }

    .pv-container table tbody td.product-image img {
        width: 80px;
        height: 80px;
    }

    .pv-container .price-list {
        grid-template-columns: 1fr;
    }

    .pv-container .price-item {
        width: 100%;
    }
}

@media (max-width: 430px) {
    .pv-container .price-list {
        grid-template-columns: repeat(1, minmax(120px, 1fr));
    }
}