@media (max-width: 980px) {
    .cart-layout {
        grid-template-columns: 1fr;
    }

    .cart-layout__side {
        position: static;
    }
}

@media (max-width: 720px) {
    .cart-page {
        padding-top: var(--sp-4);
        padding-bottom: calc(var(--sp-8) + 70px);
    }

    .cart-page__header {
        align-items: flex-start;
        margin-bottom: var(--sp-3);
    }

    .cart-page__eyebrow {
        display: none;
    }

    .cart-page__header h1 {
        font-size: 1.75rem;
    }

    .cart-page__count {
        min-height: 34px;
        padding: 0 var(--sp-3);
        font-size: var(--text-xs);
    }

    .cart-page__count span {
        font-size: var(--text-base);
    }

    .cart-mobile-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--sp-2);
        margin-bottom: var(--sp-3);
    }

    .cart-mobile-actions .btn {
        min-height: 42px;
        padding-inline: var(--sp-3);
    }

    .cart-mobile-actions__continue {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-height: 42px;
        padding: var(--sp-2) var(--sp-3);
        border: 1px solid rgba(var(--c-primary-rgb), .14);
        border-radius: 14px;
        background:
            linear-gradient(135deg, rgba(var(--c-primary-rgb), .075), rgba(var(--c-accent-rgb), .045)),
            rgba(255, 255, 255, .72);
        color: var(--c-primary);
        font-size: var(--text-sm);
        font-weight: var(--fw-semi);
        text-decoration: none;
        white-space: nowrap;
    }

    .cart-mobile-actions__continue:hover {
        border-color: rgba(var(--c-primary-rgb), .28);
        background:
            linear-gradient(135deg, rgba(var(--c-primary-rgb), .12), rgba(var(--c-accent-rgb), .07)),
            rgba(255, 255, 255, .88);
        color: var(--c-primary);
        text-decoration: none;
    }

    .cart-event {
        border-radius: 20px;
    }

    .cart-event__header {
        grid-template-columns: 82px minmax(0, 1fr);
        gap: var(--sp-3);
        padding: var(--sp-3);
    }

    .cart-event__media {
        border-radius: 15px;
    }

    .cart-event__title {
        font-size: var(--text-base);
        -webkit-line-clamp: 2;
    }

    .cart-event__meta {
        gap: 6px;
        margin-top: var(--sp-2);
    }

    .cart-event__actions {
        grid-column: 1 / -1;
        justify-content: space-between;
        padding-top: var(--sp-1);
    }

    .cart-event__edit {
        min-height: 34px;
        padding: 0 var(--sp-3);
    }

    .cart-section {
        margin: 0 var(--sp-3) var(--sp-3);
        padding: var(--sp-3);
        border-radius: 16px;
    }

    .cart-line {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: var(--sp-2) var(--sp-3);
    }

    .cart-line--session {
        grid-template-columns: 1fr;
    }

    .cart-variant-group__head {
        align-items: flex-start;
    }

    .cart-line--session .cart-line__main {
        display: block;
    }

    .cart-line:not(.cart-line--session) .cart-line__main {
        display: contents;
    }

    .cart-line:not(.cart-line--session) .cart-line__main > strong {
        grid-column: 1 / -1;
    }

    .cart-line:not(.cart-line--session) .cart-line__meta {
        grid-column: 1 / 2;
        margin-top: 0;
    }

    .cart-line__amount {
        grid-column: 2 / 3;
        justify-self: end;
        font-size: var(--text-base);
    }

    .cart-line__details {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr;
    }

    .cart-field {
        justify-content: space-between;
        border-radius: 12px;
    }

    .cart-event__totals {
        justify-content: stretch;
        padding: 0 var(--sp-3) var(--sp-3);
    }

    .cart-event__totals span {
        justify-content: space-between;
        width: 100%;
        border-radius: 14px;
    }

    .cart-summary {
        border-radius: 20px;
    }

    .cart-summary__secondary {
        align-items: stretch;
        flex-direction: column;
    }

    .cart-summary__continue,
    .cart-summary__clear {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 420px) {
    .cart-mobile-actions {
        grid-template-columns: 1fr;
    }

    .cart-event__header {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .cart-event__actions {
        align-items: stretch;
    }

    .cart-event__edit {
        flex: 1 1 auto;
        justify-content: center;
    }
}
