.public-picks-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
    gap: 1rem;
    margin-block: 1.5rem;
}
.public-picks-grid h2,
.public-picks-section h2 {
    font-size: 1.2rem;
}
.public-picks-section h3 {
    font-size: 1rem;
}
.public-picks-section {
    margin-block: 2rem;
}
.pick-description {
    white-space: pre-line;
    overflow-wrap: anywhere;
}
.service-pick-stack {
    display: grid;
    gap: .75rem;
}
.service-pick-panel {
    border: 1px solid #dedede;
    padding: .85rem;
    overflow-wrap: anywhere;
}
.service-pick-panel summary {
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
}
.service-pick-panel summary + ul,
.service-pick-panel summary + p {
    margin-top: .75rem;
}
.service-pick-panel p:last-child,
.service-pick-panel ul:last-child {
    margin-bottom: 0;
}
:is(.service-record, .plan-prices, .todays-picks, .account-table) th {
    --bs-table-color: #173b61;
    --bs-table-hover-color: #173b61;
    font-weight: 700;
}
:is(.service-record, .plan-prices, .todays-picks, .account-table) > :is(thead, tbody) > tr > :is(th, td) {
    padding-block: .1875rem;
    line-height: 1.125;
}
:is(.service-record, .plan-prices, .todays-picks, .account-table) thead th {
    --bs-table-bg: #c7def5;
}
:is(.service-record, .plan-prices, .todays-picks, .account-table) tbody th {
    --bs-table-bg: #e2eefb;
    --bs-table-hover-bg: #d6e8f9;
}
:is(.service-record, .plan-prices) th:first-child {
    text-align: left;
}
.todays-picks .pick-delete-link {
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    letter-spacing: inherit;
    text-transform: none;
    color: var(--bs-link-color);
    text-decoration: underline;
    cursor: pointer;
}
.todays-picks .pick-delete-link:hover {
    color: var(--bs-link-hover-color);
}
.service-record tbody th a {
    color: inherit;
    text-decoration: underline;
}
.service-heading {
    padding: .4rem .75rem;
}
.record-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: .75rem;
    margin-bottom: 1rem;
}
.graded-picks {
    font-size: .8125rem;
}
.subscription-picks {
    contain: inline-size;
}
.odds-sports {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-block: 1rem;
}
.odds-table {
    font-size: .8125rem;
}
.service-heading h1 {
    max-width: none;
    font-size: clamp(1.15rem, 2.5vw, 1.55rem);
    margin-bottom: .2rem;
}
.service-heading p {
    margin-bottom: .15rem;
}
.service-description {
    font-size: .875rem;
    line-height: 1.3;
    max-height: 2.6em;
    overflow-y: auto;
}
.service-heading-footer p {
    margin: 0 0 .4rem;
}
.service-heading-footer .btn {
    padding-block: .2rem;
}
.public-picks-section .service-pricing-heading {
    font-size: 1.2rem;
    font-weight: 800;
}
#plan-prices {
    scroll-margin-top: 1rem;
}
:is(.service-record, .plan-prices) th:not(:first-child),
:is(.service-record, .plan-prices) td {
    text-align: right;
    white-space: nowrap;
}
.graded-picks tr > :is(th, td):nth-child(2),
.graded-picks tr > :is(th, td):nth-child(3),
.graded-picks tr > :is(th, td).free-pick-selection {
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
}
.overall-rankings { width: 100%; min-width: 48rem; table-layout: fixed; font-size: .8125rem; }
.overall-rankings tr > :is(th, td) { text-align: right; white-space: nowrap; }
.overall-rankings tr > :is(th, td):nth-child(2) { text-align: left; white-space: normal; overflow-wrap: anywhere; }
.record-filters #overall-sport { width: auto; max-width: 100%; }
.ranking-search-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 1rem; align-items: end; }
.ranking-search-filters label { display: grid; gap: .35rem; }
