/* Flat card layout matching the approved mockup exactly (no header bar).
   Pixel units used throughout, deliberately not rem, since this project's
   root font-size is 10px (not the usual 16px) and rem values here have
   caused repeated sizing bugs. */

.subscription_cards_block {
    background-color: var(--mobino-surface);
}

.subscription_cards_block__heading {
    margin-bottom: 0;
}

.subscription_cards_block__scroll {
    overflow-x: auto;
    /* overflow-y is computed as "auto" (not "visible") by browsers whenever
       overflow-x isn't "visible" — a CSS spec quirk. That silently clips the
       badge's negative top offset below, so we reclaim the clipped space with
       padding-top and cancel the resulting shift with an equal negative
       margin-top, instead of relying on overflow-y: visible actually working. */
    overflow-y: visible;
    padding-top: 20px;
    margin-top: -20px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-track-color);
    margin-left: calc(-1 * var(--default-padding-one));
    margin-right: calc(-1 * var(--default-padding-one));
    padding-left: var(--default-padding-one);
    padding-right: var(--default-padding-one);
}

.subscription_cards_block__scroll::-webkit-scrollbar {
    height: var(--scrollbar-height);
}

.subscription_cards_block__scroll::-webkit-scrollbar-track {
    background: var(--scrollbar-track-color);
}

.subscription_cards_block__scroll::-webkit-scrollbar-thumb {
    background-color: var(--scrollbar-thumb-color);
    border-radius: var(--scrollbar-thumb-border-radius);
}

.subscription_cards_block__scroll::-webkit-scrollbar-thumb:hover {
    background-color: var(--scrollbar-thumb-color-hover);
}

.subscription_cards_block__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    min-width: min-content;
}

.subscription_cards_block__card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
    background: var(--mobino-surface);
    border: 1px solid var(--mobino-line);
    border-radius: 18px;
    padding: 32px 28px;
}

.subscription_cards_block__card--featured {
    /* Deliberately stays dark regardless of page theme, for emphasis —
       uses the fixed --mobino-dark-ink constant, not the flipping token. */
    background: var(--mobino-dark-ink, #0B034C);
    border-color: transparent;
}

.subscription_cards_block__card_badge {
    position: absolute;
    top: -13px;
    left: 28px;
    background: var(--main-gradient);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 5px 12px;
    border-radius: 999px;
}

.subscription_cards_block__card_title {
    font-weight: 700;
    font-size: 17px;
    color: var(--mobino-text-body);
}

.subscription_cards_block__card--featured .subscription_cards_block__card_title {
    color: #fff;
}

.subscription_cards_block__card_points {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
    font-size: 15px;
}

.subscription_cards_block__card_points li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--mobino-text-body);
}

.subscription_cards_block__card--featured .subscription_cards_block__card_points li {
    color: #fff;
}

.subscription_cards_block__card_points svg {
    flex: none;
    margin-top: 3px;
    stroke: var(--mobino-accent-1);
}

.subscription_cards_block__card--featured .subscription_cards_block__card_points svg {
    stroke: #fff;
}

.subscription_cards_block__card_price {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    color: var(--mobino-text-body);
}

.subscription_cards_block__card--featured .subscription_cards_block__card_price {
    color: #fff;
}

.subscription_cards_block__cta {
    margin-top: auto;
    text-align: center;
    padding: 12px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    border: 1px solid var(--mobino-line);
    color: var(--mobino-text-body);
    transition: filter 0.15s;
}

.subscription_cards_block__cta:hover {
    filter: brightness(1.15);
}

.subscription_cards_block__card--featured .subscription_cards_block__cta {
    background: #fff;
    color: var(--mobino-dark-ink, #0B034C);
    border-color: transparent;
}

/* Mobile: horizontal scroll, cards with min-width */
@media (max-width: 900px) {
    .subscription_cards_block__grid {
        grid-template-columns: none;
        display: flex;
        flex-wrap: nowrap;
        gap: 1.5rem;
    }

    .subscription_cards_block__card {
        flex: 0 0 280px;
        min-width: 280px;
    }
}

/* Tablet: 2 columns before going to scroll */
@media (min-width: 901px) and (max-width: 1200px) {
    .subscription_cards_block__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
