.ct-logo {
    width: clamp(7.25rem, 15vw, 6.25rem);
    height: auto;
}

.comparison-table--wrapper {
    overflow-x: auto;
}

.comparison-table {
    border-collapse: collapse;
    width: 100%;
    min-width: 600px;
    table-layout: fixed;
}

.comparison-table thead {
    text-align: left;
    width: 100%;
    border-bottom: 3px solid var(--wp--preset--color--secondary);
}

.comparison-table thead th {
    padding: clamp(.75rem, 5vw, 1rem) var(--wp--preset--spacing--30);
    font-family: var(--wp--preset--font-family--dm-sans);
    font-weight: 700;
    font-size: var(--wp--preset--font-size--small);
    width: 20%;
}

.comparison-table thead th:first-child {
    width: 40%;
}

.comparison-table tbody tr {
    border-bottom: 1px solid var(--wp--preset--color--secondary);
}

.comparison-table tbody td {
    padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--20);
    font-family: var(--wp--preset--font-family--inter);
    width: 20%;
}

.comparison-table tbody td:first-child {
    width: 40%;
}

.comparison-table tbody td:last-child {
    text-align: center;
}

.ct-company-name {
    font-size: var(--wp--preset--font-size--medium);
    font-family: var(--wp--preset--font-family--dm-sans) !important;
    font-weight: 700;
}

.ct-company-website,
.ct-company-location,
.ct-review-count {
    font-size: var(--wp--preset--font-size--x-small);
    font-family: var(--wp--preset--font-family--dm-sans);
    font-weight: normal;
}

span.no-data {
    font-size: var(--wp--preset--font-size--medium);
}

.ct-data-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    min-height: 120px;
}

.ct-company-rating-value,
.ct-price {
    font-size: var(--wp--preset--font-size--x-small);
}

.ct-on-demand {
    border: none;
    padding: calc(var(--wp--preset--spacing--20) * 2);
    color: var(--wp--preset--color--white);
    background-color: var(--wp--preset--color--secondary);
    font-family: var(--wp--preset--font-family--dm-sans);
    font-size: var(--wp--preset--font-size--small);
    transition: .35s ease background-color;
    cursor: pointer;
}

.ct-on-demand:hover {
    background-color: #264300;
}

.star-container {
    display: inline-flex;
    flex-direction: row;
}

.star-filled {
    width: 20px;
    height: 20px;
    background-image: url('data:image/svg+xml,<svg fill="%23FFD700" width="20" height="20" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12.011 3a1 1 0 0 1 .9.558l2.236 4.53 5 .727a1 1 0 0 1 .554 1.706l-3.621 3.526.854 4.98a1 1 0 0 1-1.451 1.054l-4.472-2.352-4.471 2.348a1 1 0 0 1-1.451-1.054l.854-4.979-3.619-3.527a1 1 0 0 1 .554-1.706l5-.727 2.237-4.531A1 1 0 0 1 12.011 3z"/></svg>');
}

.star-empty {
    background-image: url('data:image/svg+xml,<svg fill="%23dddddd" width="20" height="20" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M16.948 20.2a1 1 0 0 1-.465-.115l-4.472-2.352-4.471 2.348a1 1 0 0 1-1.451-1.054l.854-4.979-3.619-3.527a1 1 0 0 1 .554-1.706l5-.727 2.237-4.531A1 1 0 0 1 12.011 3a1 1 0 0 1 .9.558l2.236 4.53 5 .727a1 1 0 0 1 .554 1.706l-3.621 3.526.854 4.98a1 1 0 0 1-.986 1.173zM6.171 10.5l2.544 2.479a1 1 0 0 1 .285.888l-.6 3.5 3.144-1.653a.993.993 0 0 1 .931 0l3.144 1.653-.6-3.5a1 1 0 0 1 .288-.885l2.544-2.482-3.515-.511a1 1 0 0 1-.752-.547l-1.573-3.183-1.573 3.186a1 1 0 0 1-.752.547z"/></svg>');
}

/* Small tablets (576px) */
@media (min-width: 576px) {

    .comparison-table {
        min-width: 900px;
    }

    .comparison-table thead th {
        font-size: var(--wp--preset--font-size--medium);
    }

    .ct-company-name {
        font-size: var(--wp--preset--font-size--large);
    }

    .ct-company-website,
    .ct-company-location,
    .ct-review-count {
        font-size: var(--wp--preset--font-size--small);
    }

    .ct-company-rating-value,
    .ct-price {
        font-size: var(--wp--preset--font-size--small);
    }

    .star-filled,
    .star-empty {
        width: 22px;
        height: 22px;
        background-size: 22px 22px;
    }
}

/* Tablets (768px) */
@media (min-width: 768px) {
    .comparison-table {
        min-width: 1000px;
    }

    .comparison-table thead th:first-child {
        width: 30%;
    }

    .comparison-table tbody td:first-child {
        width: 30%;
    }

    .comparison-table tbody td {
        padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
    }

    .ct-data-wrapper {
        gap: 10px;
        min-height: 140px;
    }

    .ct-company-rating-value,
    .ct-price {
        font-size: var(--wp--preset--font-size--large);
    }

    .ct-on-demand {
        padding: calc(var(--wp--preset--spacing--20) * 2);
        font-size: var(--wp--preset--font-size--medium);
    }

    span.no-data {
        font-size: var(--wp--preset--font-size--large);
    }

    .star-filled,
    .star-empty {
        width: 25px;
        height: 25px;
        background-size: 25px 25px;
    }
}

/* Desktop (1024px) */
@media (min-width: 1024px) {
    .comparison-table {
        min-width: auto;
    }

    .ct-data-wrapper {
        min-height: 150px;
    }
}

/* Large Desktop (1280px) */
@media (min-width: 1280px) {
    .ct-logo {
        width: clamp(6.25rem, 8vw, 3.375rem);
    }

    .comparison-table--wrapper {
        overflow-x: hidden;
    }
    
    .comparison-table tbody td:last-child {
        text-align: left;
    }
}