@layer pages {
    .product-variant {
        container-type: inline-size;
        container-name: product-variant;
        display: flex;
        flex-wrap: wrap;
        column-gap: var(--me-spacing-12-28);
        color: var(--me-color-neutral-700);
    }

    .product-variant__main {
        container-type: inline-size;
        container-name: product-variant-main;
        display: flex;
        flex-direction: column;
        gap: var(--me-spacing-24-45);
        flex-grow: 999;
        flex-basis: 0;
        min-inline-size: min(100%, 30rem);
    }

    @container product-variant-main (inline-size < 30em) {
        .product-variant__intro-table,
        .product-variant__content-table {
            --me-table-stacked: 1;
        }
    }

    .product-variant__header {
        display: flex;
        flex-direction: column;
        gap: var(--me-spacing-12-20);
    }

    .product-variant__heading {
        display: flex;
        flex-direction: column;
        gap: var(--me-spacing-24-45);
    }

    .product-variant__title {
        margin: 0;
    }

    .product-variant__sub-title {
        margin: 0;
        color: var(--me-color-neutral-700);
    }

    .product-variant__intro {
        display: flex;
        flex-wrap: wrap-reverse;
        gap: var(--me-spacing-24-45);
        align-items: flex-end;
        justify-content: center;
    }

    .product-variant__gas-properties {
        display: flex;
        flex-direction: column;
        gap: var(--me-spacing-12-20);
        flex-grow: 999;
        flex-basis: 0;
        min-inline-size: min(100%, 16rem);
    }

    .product-variant__image {
        flex-grow: 0;
        flex-shrink: 1;
        flex-basis: 12rem;
        max-inline-size: 22rem;
        block-size: auto;
        object-fit: contain;
    }

    .product-variant__details {
        display: flex;
        flex-direction: column;
    }

    .product-variant__details-item + .product-variant__details-item {
        border-block-start: 0;
    }

    .product-variant__sidebar {
        align-self: start;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: 24.1875rem;
    }

    .product-variant__sidebar-details > .me-details__body {
        display: flex;
        flex-direction: column;
        gap: var(--me-spacing-12-20);
    }

    /* Stacked: aside wraps below main and continues the disclosure stack. */
    .product-variant__sidebar-details {
        border-block-start: 0;
    }

    /* Side-by-side: aside sits next to main as the grey sticky sidebar. */
    @container product-variant (min-width: 56rem) {
        .product-variant__sidebar {
            background: var(--me-color-neutral-100);
            border-radius: var(--me-border-radius-m);
            padding: var(--me-spacing-24-45) var(--me-spacing-38-58);
        }

        .product-variant__sidebar-details {
            background: transparent;
            border-block: 0;
        }

        .product-variant__sidebar-details > summary {
            display: none;
        }

        .product-variant__sidebar-details > .me-details__body {
            padding-inline-start: 0;
        }
    }

    .product-variant__sidebar-section {
        display: flex;
        flex-direction: column;
        gap: var(--me-spacing-12-20);
        padding-block-end: var(--me-spacing-12-20);
        border-block-end: 1px solid var(--me-color-neutral-500);

        &:last-child {
            border-block-end: 0;
            padding-block-end: 0;
        }
    }

    .product-variant__sidebar-section.product-variant__cta {
        gap: var(--me-spacing-8-12);
        align-items: flex-start;
    }

    .product-variant__sidebar-label {
        font-size: var(--me-font-size-12);
        font-weight: var(--me-font-weight-primary-semibold);
        color: var(--me-color-neutral-600);
        letter-spacing: 0.125rem;
        text-transform: uppercase;
        margin: 0;
        line-height: 1;
    }

    .product-variant__cta-description {
        font-size: var(--me-font-size-12);
        color: var(--me-color-neutral-700);
        line-height: 1.2;
        margin: 0;
    }

    .product-variant__sidebar-row {
        display: grid;
        grid-template-columns: 1.5rem minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: var(--me-spacing-10);
        row-gap: 0;
        align-items: start;
        color: inherit;
        text-decoration: none;
        font: inherit;
        text-align: start;
        background: transparent;
        border: 0;
        padding: 0;
        inline-size: 100%;

        &.product-variant__sidebar-row--link {
            cursor: pointer;
        }

        &.product-variant__sidebar-row--with-trailing {
            grid-template-columns: 1.5rem minmax(0, 1fr) auto;
        }
    }

    .product-variant__sidebar-row-icon {
        grid-column: 1;
        grid-row: 1 / span 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        inline-size: 1.5rem;
        block-size: 1.5rem;
    }

    .product-variant__sidebar-row-icon svg {
        inline-size: 100%;
        block-size: 100%;
    }

    .product-variant__sidebar-row-title {
        grid-column: 2;
        grid-row: 1;
        font-size: var(--me-font-size-12-16);
        font-weight: var(--me-font-weight-primary-bold);
        line-height: 1.375;

        .product-variant__sidebar-row--link:hover & {
            color: var(--me-color-primary-400);
        }
    }

    .product-variant__sidebar-row-title--stacked {
        display: flex;
        flex-direction: column;
    }

    .product-variant__sidebar-row-title-line {
        line-height: 1.375;
    }

    .product-variant__sidebar-row-description {
        grid-column: 2;
        grid-row: 2;
        font-size: var(--me-font-size-12);
        color: var(--me-color-neutral-700);
        line-height: 1.2;
    }

    .product-variant__sidebar-row-trailing {
        grid-column: 3;
        grid-row: 1 / span 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        inline-size: 1.5rem;
        block-size: 1.5rem;
        color: var(--me-color-primary-400);
    }

    .product-variant__sidebar-row-trailing svg {
        inline-size: 100%;
        block-size: 100%;
    }

    .product-variant__sidebar-row-print-value {
        display: none;
    }
}

@media print {
    .product-variant {
        display: block;
    }

    .product-variant__main,
    .product-variant__sidebar {
        width: 100%;
    }

    .product-variant__intro {
        display: flex;
        align-items: flex-start;
        gap: 12pt;
    }

    .product-variant__gas-properties {
        flex: 1 1 auto;
        min-width: 0;
    }

    .product-variant__image {
        flex: 0 0 auto;
        inline-size: 6cm;
        max-inline-size: 40%;
        block-size: auto;
        object-fit: contain;
    }

    .product-variant__title {
        font-weight: var(--me-font-weight-primary-bold);
        margin-block: 0 6pt;
    }

    .me-details__icon {
        display: none;
    }

    .me-details__summary {
        border: 0;
        padding-inline: 0;
        cursor: auto;
    }

    .product-variant__details-item {
        border: 0;
    }

    .product-variant__sidebar {
        break-before: page;
    }

    .product-variant__sidebar-details > .me-details__summary {
        display: none;
    }

    .product-variant__sidebar-section {
        padding-block-end: 6pt;
        gap: 3pt;
    }

    .product-variant__sidebar-label {
        font-size: 10pt;
        font-weight: var(--me-font-weight-primary-bold);
        text-transform: none;
        letter-spacing: 0;
        line-height: 1.3;
    }

    .product-variant__sidebar-row {
        display: block;
        padding: 0;
        text-decoration: none;
    }

    [data-product-variant-target="print"],
    .product-variant__sidebar-row-icon,
    .product-variant__sidebar-row-trailing {
        display: none;
    }

    .product-variant__sidebar-row-title {
        font-weight: var(--me-font-weight-primary-semibold);
    }

    .product-variant__sidebar-row-description,
    .product-variant__sidebar-row-print-value {
        display: block;
        font-size: 10pt;
    }

    .product-variant__cta-description {
        font-size: 10pt;
    }

    .product-variant__content-table {
        border-collapse: collapse;
    }

    .product-variant__content-table th,
    .product-variant__content-table td {
        border: 0.5pt solid #000;
        padding: 3pt 5pt;
    }
}
