/* Desktop geometry only: colors, type, backgrounds and card decoration stay in the theme. */
@media screen and (min-width: 1024px) {
    .info-desktop-layout [hidden] { display: none !important; }

    body.info-page--comparison .layout.info-desktop-layout,
    html.client-theme body.info-page--comparison .layout.info-desktop-layout {
        width: min(1180px, 100%);
        margin-inline: auto;
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }

    body.info-page--comparison .info-desktop-layout > .info-block,
    html.client-theme body.info-page--comparison .info-desktop-layout > .info-block,
    body.info-page--comparison .info-desktop-support > .info-taken,
    html.client-theme body.info-page--comparison .info-desktop-support > .info-taken {
        min-width: 0;
        padding: 26px;
        animation: none;
    }

    body.info-page--comparison .info-desktop-layout .info-block > * {
        opacity: 1;
        transform: none;
        animation: none;
    }

    .info-desktop-layout .info-compare-prices {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
        margin-bottom: 0;
    }

    .info-desktop-layout .info-compare-prices[data-info-period-count="2"] {
        grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    }

    .info-desktop-layout .info-compare-prices.info-desktop-prices-empty { display: none; }

    body.info-page--comparison .info-desktop-layout .info-compare-prices > .info-compare-period,
    html.client-theme body.info-page--comparison .info-desktop-layout .info-compare-prices > .info-compare-period {
        display: flex;
        flex-direction: column;
        min-width: 0;
        margin: 0;
    }

    .info-desktop-layout .info-compare-prices .info-compare-grid {
        flex: 1;
        grid-auto-rows: 1fr;
    }

    .info-page--comparison .info-desktop-layout .info-compare-period--15 > .info-compare-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .info-page--comparison .info-desktop-layout .info-compare-period--30 > .info-compare-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .info-page--comparison .info-desktop-layout [data-info-period-count="1"] .info-compare-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
    }

    .info-page--comparison .info-desktop-layout [data-info-period-count="1"] .info-compare-card:last-child:nth-child(odd) {
        grid-column: auto;
    }

    .info-desktop-support {
        display: grid;
        grid-template-columns: repeat(var(--info-support-columns), minmax(0, 1fr));
        gap: 22px;
        align-items: start;
        min-width: 0;
    }

    .info-desktop-support > * {
        min-height: 0;
    }

    /* One-pixel tracks allow independent columns without changing DOM order.
       JS measures card heights; each next card starts 22px below its neighbour. */
    .info-desktop-support[data-info-packed] {
        grid-auto-rows: 1px;
        row-gap: 0;
    }

    .info-desktop-support[data-info-packed] > * {
        grid-column: var(--info-panel-column);
        grid-row: var(--info-panel-row);
    }

    body.info-page--comparison .info-desktop-layout > .info-compare-panel,
    html.client-theme body.info-page--comparison .info-desktop-layout > .info-compare-panel,
    body.info-page--comparison .info-desktop-support > .info-compare-panel,
    html.client-theme body.info-page--comparison .info-desktop-support > .info-compare-panel {
        min-width: 0;
        margin: 0;
    }

    .info-desktop-support > .info-compare-panel { --compare-support-columns: 1; }
    .info-desktop-support[data-info-support-columns="1"] > .info-compare-panel { --compare-support-columns: 2; }

    .info-desktop-support .schedule-box .info-compare-schedule-list {
        grid-template-columns: minmax(0, 1fr);
    }

    body.info-page--comparison .info-desktop-support .schedule-box .schedule-item,
    html.client-theme body.info-page--comparison .info-desktop-support .schedule-box .schedule-item {
        display: grid;
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
        align-items: baseline;
        gap: 4px 12px;
    }

    .info-desktop-support .schedule-box .info-schedule-hours {
        text-align: right;
    }
}
