/* ========================================================================== 
   ELAG Product ACF Shortcodes v2.0.0
   Design basis: current ELAG staging pages supplied by the user.

   Principles:
   - square / technical / editorial, not generic "app cards"
   - thin separators and light-grey technical surfaces
   - Elementor global primary colour wherever available
   - restrained typography: inherit the theme's font stack
   - selectors scoped by component so components cannot restyle each other
   ========================================================================== */

:root {
    --elag-blue: var(--e-global-color-primary, #006eb8);
    --elag-text: var(--e-global-color-text, #171b1f);
    --elag-muted: #66717a;
    --elag-line: #d8dde2;
    --elag-surface: #f6f6f6;
    --elag-white: #ffffff;
    --elag-gap: clamp(1rem, 1.8vw, 1.6rem);
}

/* --------------------------------------------------------------------------
   Shared small primitives
   -------------------------------------------------------------------------- */
.elag-icon-svg {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
}

.elag-kicker {
    display: inline-block;
    margin: 0 0 .7rem;
    color: var(--elag-blue);
    font-size: .82rem;
    font-weight: 650;
    line-height: 1.35;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.elag-product-intro {
    max-width: 72ch;
    color: var(--elag-text);
    font-size: clamp(1.06rem, 1.15vw, 1.2rem);
    line-height: 1.62;
}

.elag-product-intro > :first-child { margin-top: 0; }
.elag-product-intro > :last-child { margin-bottom: 0; }
.elag-product-intro p { margin: 0 0 1rem; }

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.elag-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 3rem;
    padding: .78rem 1rem;
    border: 1px solid var(--elag-blue);
    border-radius: 0;
    background: var(--elag-blue);
    color: #fff !important;
    font: inherit;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none !important;
    transition: background-color .16s ease, color .16s ease;
}

.elag-button:hover,
.elag-button:focus-visible {
    background: transparent;
    color: var(--elag-blue) !important;
}

.elag-button__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* --------------------------------------------------------------------------
   Key advantages / generic list
   -------------------------------------------------------------------------- */
.elag-list {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

.elag-list__item {
    display: grid;
    grid-template-columns: 1.45rem minmax(0, 1fr);
    gap: .72rem;
    align-items: start;
    margin: 0;
    padding: .55rem 0;
}

.elag-list__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    margin-top: .05rem;
    color: var(--elag-blue);
}

.elag-list--plus .elag-list__mark {
    width: 1.5rem;
    height: 1.5rem;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.elag-list--plus .elag-list__mark .elag-icon-svg {
    width: .8rem;
    height: .8rem;
}

.elag-list__mark--step {
    width: auto;
    height: auto;
    justify-content: flex-start;
    color: var(--elag-blue);
    font-size: .92rem;
    font-weight: 700;
    letter-spacing: .05em;
}

.elag-list__copy {
    display: block;
    min-width: 0;
    color: var(--elag-text);
    line-height: 1.48;
}

.elag-list__title {
    display: block;
    margin: 0 0 .18rem;
    font-weight: 650;
}

.elag-list__text {
    display: block;
}

/* --------------------------------------------------------------------------
   Applications + taxonomy tags
   Preserves the new site's mn-tag hook while scoping plugin styling.
   -------------------------------------------------------------------------- */
.elag-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    width: 100%;
}

.elag-tags .elag-tag,
.elag-tags .mn-tag {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: .4rem .65rem;
    border: 1px solid var(--elag-line);
    border-radius: 0;
    background: var(--elag-surface);
    color: var(--elag-text);
    font-size: .82rem;
    font-weight: 550;
    line-height: 1.2;
    text-decoration: none !important;
}

.elag-tags a.elag-tag:hover,
.elag-tags a.elag-tag:focus-visible {
    border-color: var(--elag-blue);
    color: var(--elag-blue);
}

.elag-product-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.elag-product-meta > .elag-tags {
    width: auto;
}

/* --------------------------------------------------------------------------
   Product gallery / technical media
   Product gallery follows the hero + thumbnails rhythm used on the new site.
   -------------------------------------------------------------------------- */
.elag-gallery {
    --elag-gallery-cols: 3;
    display: grid;
    grid-template-columns: repeat(var(--elag-gallery-cols), minmax(0, 1fr));
    gap: .65rem;
    width: 100%;
}

.elag-gallery--cols-1 { --elag-gallery-cols: 1; }
.elag-gallery--cols-2 { --elag-gallery-cols: 2; }
.elag-gallery--cols-3 { --elag-gallery-cols: 3; }
.elag-gallery--cols-4 { --elag-gallery-cols: 4; }

.elag-gallery__item {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: var(--elag-surface);
}

.elag-gallery__link {
    display: block;
    width: 100%;
    height: 100%;
}

.elag-gallery__image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.elag-gallery--product_gallery .elag-gallery__item:first-child {
    grid-column: 1 / -1;
}

.elag-gallery--product_gallery .elag-gallery__item:first-child .elag-gallery__image {
    aspect-ratio: 4 / 3;
    object-fit: contain;
}

.elag-gallery--product_gallery .elag-gallery__item:not(:first-child) .elag-gallery__image {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.elag-gallery--technical_media {
    margin-top: clamp(1.25rem, 2vw, 2rem);
}

.elag-gallery--technical_media .elag-gallery__image {
    aspect-ratio: 16 / 10;
    object-fit: contain;
}

.elag-acf-image {
    display: block;
    width: 100%;
    height: auto;
}

.elag-product-media {
    width: 100%;
}

.elag-product-media__actions {
    margin-top: .85rem;
}

.elag-product-media__actions .elag-button {
    width: 100%;
}

/* --------------------------------------------------------------------------
   Technical specification tables
   IMPORTANT: strictly scoped under .elag-technical-data.
   This restores the stable spacing and exactly follows the supplied reference:
   25% group title / 75% table; 33.333% label / 66.667% value.
   -------------------------------------------------------------------------- */
.elag-technical-data {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.elag-technical-data .elag-spec-group {
    box-sizing: border-box;
    display: grid !important;
    grid-template-columns: minmax(170px, 25%) minmax(0, 75%);
    align-items: stretch;
    width: 100%;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-top: 1px solid var(--elag-line);
}

.elag-technical-data .elag-spec-group:last-of-type {
    border-bottom: 1px solid var(--elag-line);
}

.elag-technical-data .elag-spec-group__heading {
    box-sizing: border-box;
    display: flex !important;
    align-items: flex-start;
    justify-content: flex-start;
    min-width: 0;
    width: 100%;
    padding: 1rem !important;
    margin: 0 !important;
    border-right: 1px solid var(--elag-line);
    background: transparent;
}

.elag-technical-data .elag-spec-group__title {
    display: block;
    margin: 0 !important;
    color: var(--elag-text);
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 650;
}

.elag-technical-data .elag-spec-table,
.elag-technical-data .mn-spectable.elag-spec-table,
.elag-technical-data .mn-spectable-inverse.elag-spec-table {
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column;
    gap: 0 !important;
    min-width: 0;
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
    background: var(--elag-surface);
}

.elag-technical-data .elag-spec-row,
.elag-technical-data .mn-spectable .spectable-row,
.elag-technical-data .mn-spectable-inverse .spectable-row {
    box-sizing: border-box;
    display: grid !important;
    grid-template-columns: minmax(135px, 33.333%) minmax(0, 66.667%);
    align-items: stretch;
    gap: 0 !important;
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--elag-surface);
}

.elag-technical-data .elag-spec-row + .elag-spec-row {
    border-top: 1px solid var(--elag-white);
}

.elag-technical-data .elag-spec-cell {
    box-sizing: border-box;
    display: flex !important;
    align-items: center;
    min-width: 0;
    width: 100%;
    margin: 0 !important;
    padding: .9rem 1rem !important;
}

.elag-technical-data .elag-spec-cell--label {
    border-right: 1px solid var(--elag-white);
}

.elag-technical-data .elag-spec-label,
.elag-technical-data .elag-spec-value {
    display: block;
    margin: 0 !important;
    color: var(--elag-text);
    line-height: 1.4;
    text-align: left;
}

.elag-technical-data .elag-spec-label {
    font-size: .82rem;
    font-weight: 650;
}

.elag-technical-data .elag-spec-value {
    font-size: .95rem;
    font-weight: 400;
}

.elag-technical-data .elag-spec-group--no-title {
    grid-template-columns: 1fr;
}

.elag-technical-data .elag-spec-group--no-title .elag-spec-table {
    grid-column: 1 / -1;
}

.elag-technical-note {
    margin-top: .8rem;
    color: var(--elag-muted);
    font-size: .82rem;
    line-height: 1.45;
}

.elag-technical-note > :first-child { margin-top: 0; }
.elag-technical-note > :last-child { margin-bottom: 0; }

/* --------------------------------------------------------------------------
   Editorial sections: explanation + additional_sections
   Mirrors the new site's left-title / right-content grids.
   -------------------------------------------------------------------------- */
.elag-editorial {
    display: grid;
    grid-template-columns: minmax(190px, 25%) minmax(0, 75%);
    width: 100%;
    border-top: 1px solid var(--elag-line);
}

.elag-editorial:last-child {
    border-bottom: 1px solid var(--elag-line);
}

.elag-editorial__heading {
    min-width: 0;
    padding: 1rem;
    border-right: 1px solid var(--elag-line);
}

.elag-editorial__title {
    margin: 0;
    color: var(--elag-text);
    font-size: clamp(1.25rem, 1.65vw, 1.7rem);
    font-weight: 650;
    line-height: 1.16;
    letter-spacing: -.015em;
}

.elag-editorial__main {
    min-width: 0;
    padding: clamp(1.45rem, 2vw, 2rem) 0 clamp(1.45rem, 2vw, 2rem) clamp(1.35rem, 2.2vw, 2.25rem);
}

.elag-editorial__lead {
    min-width: 0;
}

.elag-editorial__lead--split {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
    gap: clamp(1.5rem, 2.8vw, 2.8rem);
    align-items: start;
}

.elag-editorial__image {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: var(--elag-surface);
}

.elag-editorial__image-el,
.elag-editorial__image img {
    display: block;
    width: 100%;
    height: auto;
}

.elag-richtext {
    min-width: 0;
    max-width: 78ch;
    color: var(--elag-text);
    font-size: 1rem;
    line-height: 1.62;
}

.elag-editorial__lead--split .elag-richtext {
    max-width: none;
}

.elag-richtext > :first-child { margin-top: 0; }
.elag-richtext > :last-child { margin-bottom: 0; }
.elag-richtext p { margin: 0 0 1rem; }

.elag-richtext h2,
.elag-richtext h3,
.elag-richtext h4 {
    margin: 1.8rem 0 .55rem;
    color: var(--elag-text);
    font-weight: 650;
    line-height: 1.25;
    letter-spacing: -.01em;
}

.elag-richtext h2 { font-size: 1.45rem; }
.elag-richtext h3 { font-size: 1.28rem; }
.elag-richtext h4 { font-size: 1.05rem; }

.elag-richtext ul,
.elag-richtext ol {
    margin: 1rem 0 1.5rem;
    padding: 0;
    list-style: none;
}

.elag-richtext li {
    position: relative;
    padding: .62rem 0 .62rem 1.45rem;
    border-top: 1px solid var(--elag-line);
}

.elag-richtext li:last-child {
    border-bottom: 1px solid var(--elag-line);
}

.elag-richtext ul > li::before {
    content: "";
    position: absolute;
    left: .1rem;
    top: 1.08rem;
    width: .42rem;
    height: .42rem;
    background: var(--elag-blue);
}

.elag-richtext ol {
    counter-reset: elag-rich-ol;
}

.elag-richtext ol > li {
    counter-increment: elag-rich-ol;
    padding-left: 2.2rem;
}

.elag-richtext ol > li::before {
    content: counter(elag-rich-ol, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: .62rem;
    color: var(--elag-blue);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .05em;
}

.elag-richtext table {
    width: 100%;
    margin: 1.25rem 0 1.5rem;
    border-collapse: collapse;
}

.elag-richtext th,
.elag-richtext td {
    padding: .8rem .95rem;
    vertical-align: top;
    text-align: left;
    background: var(--elag-surface);
    border-bottom: 1px solid var(--elag-white);
}

.elag-richtext th {
    width: 34%;
    font-weight: 650;
}

.elag-additional-sections {
    width: 100%;
    border-bottom: 1px solid var(--elag-line);
}

.elag-additional-sections .elag-editorial:last-child {
    border-bottom: 0;
}

/* Nested ACF items: clean line-based feature blocks, not floating cards. */
.elag-additional-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: clamp(1.4rem, 2.2vw, 2.2rem);
    border-top: 1px solid var(--elag-line);
    border-left: 1px solid var(--elag-line);
}

.elag-additional-item {
    display: grid;
    grid-template-columns: 1.65rem minmax(0, 1fr);
    gap: .8rem;
    min-width: 0;
    padding: 1.15rem 1.3rem;
    border-right: 1px solid var(--elag-line);
    border-bottom: 1px solid var(--elag-line);
    background: transparent;
}

.elag-additional-item__mark {
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    width: 1.45rem;
    height: 1.45rem;
    margin-top: .05rem;
    color: var(--elag-blue);
}

.elag-additional-items--plus .elag-additional-item__mark {
    align-items: center;
    width: 1.55rem;
    height: 1.55rem;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.elag-additional-items--plus .elag-additional-item__mark .elag-icon-svg {
    width: .82rem;
    height: .82rem;
}

.elag-additional-item__mark--step {
    width: auto;
    height: auto;
    justify-content: flex-start;
    color: var(--elag-blue);
    font-size: .96rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.2;
}

.elag-additional-item__copy { min-width: 0; }

.elag-additional-item__title {
    margin: 0 0 .4rem;
    color: var(--elag-text);
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.3;
}

.elag-additional-item__text {
    color: var(--elag-muted);
    font-size: .95rem;
    line-height: 1.5;
}

.elag-additional-item__text > :first-child { margin-top: 0; }
.elag-additional-item__text > :last-child { margin-bottom: 0; }

/* --------------------------------------------------------------------------
   Capability blocks
   Two-column feature rhythm from the supplied new product page.
   -------------------------------------------------------------------------- */
.elag-capabilities {
    --elag-cap-cols: 2;
    display: grid;
    grid-template-columns: repeat(var(--elag-cap-cols), minmax(0, 1fr));
    width: 100%;
    border-top: 1px solid var(--elag-line);
    border-left: 1px solid var(--elag-line);
}

.elag-capabilities--cols-2 { --elag-cap-cols: 2; }
.elag-capabilities--cols-3 { --elag-cap-cols: 3; }
.elag-capabilities--cols-4 { --elag-cap-cols: 4; }

.elag-capability {
    min-width: 0;
    border-right: 1px solid var(--elag-line);
    border-bottom: 1px solid var(--elag-line);
    background: transparent;
}

.elag-capability--has-image {
    display: grid;
    grid-template-columns: minmax(130px, 34%) minmax(0, 66%);
    align-items: stretch;
}

.elag-capability__image {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: var(--elag-surface);
}

.elag-capability__image-el,
.elag-capability__image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 150px;
    object-fit: cover;
}

.elag-capability__body {
    padding: clamp(1.15rem, 1.7vw, 1.55rem);
}

.elag-capability__title {
    margin: 0 0 .5rem;
    color: var(--elag-text);
    font-size: clamp(1.05rem, 1.2vw, 1.28rem);
    font-weight: 650;
    line-height: 1.25;
}

.elag-capability__text {
    color: var(--elag-muted);
    font-size: .97rem;
    line-height: 1.55;
}

.elag-capability__text > :first-child { margin-top: 0; }
.elag-capability__text > :last-child { margin-bottom: 0; }

/* --------------------------------------------------------------------------
   Variants / comparison matrix
   -------------------------------------------------------------------------- */
.elag-variants {
    width: 100%;
}

.elag-variants__title {
    margin: 0 0 1rem;
	padding: 1rem;
    color: var(--elag-text);
    font-size: clamp(1.35rem, 1.8vw, 1.8rem);
    font-weight: 650;
    line-height: 1.18;
}

.elag-variant-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-top: 1px solid var(--elag-line);
    border-bottom: 1px solid var(--elag-line);
}

.elag-variant-table {
    width: max-content;
    min-width: 100%;
    border-collapse: collapse;
    table-layout: auto;
	border-left: 1px solid var(--elag-line);
	border-right: 1px solid var(--elag-line);
}

.elag-variant-table th,
.elag-variant-table td {
    min-width: 120px;
    padding: .8rem .85rem;
    border-right: 1px solid var(--elag-white);
    border-bottom: 1px solid var(--elag-white);
    background: var(--elag-surface);
    color: var(--elag-text);
    text-align: left;
    vertical-align: top;
    font-size: .9rem;
    line-height: 1.4;
}

.elag-variant-table tr > :first-child {
    width: 180px;
    min-width: 180px;
    font-weight: 650;
}

.elag-variant-table thead th {
    vertical-align: bottom;
}

.elag-variant-table__groups th {
    background: transparent;
    border-bottom: 1px solid var(--elag-line);
    color: var(--elag-blue);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.elag-variant-table__corner {
    background: transparent !important;
}

.elag-variant-table__variant {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.elag-variant-table__image-wrap {
    margin: 0 0 .75rem;
    background: #fff;
}

.elag-variant-table__image {
    display: block;
    width: 100%;
    max-height: 130px;
    object-fit: contain;
}

.elag-variant-table__name {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25;
}

.elag-variants__note {
    margin-top: .75rem;
    color: var(--elag-muted);
    font-size: .82rem;
    line-height: 1.45;
}

.elag-variants__note > :first-child { margin-top: 0; }
.elag-variants__note > :last-child { margin-bottom: 0; }

/* --------------------------------------------------------------------------
   Related products: image/text cards echoing the new homepage sector cards.
   -------------------------------------------------------------------------- */
.elag-related-products {
    --elag-related-cols: 3;
    display: grid;
    grid-template-columns: repeat(var(--elag-related-cols), minmax(0, 1fr));
    gap: var(--elag-gap);
    width: 100%;
}

.elag-related-products--cols-2 { --elag-related-cols: 2; }
.elag-related-products--cols-3 { --elag-related-cols: 3; }
.elag-related-products--cols-4 { --elag-related-cols: 4; }

.elag-related-product {
    min-width: 0;
    border-top: 1px solid var(--elag-line);
}

.elag-related-product__link {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    color: inherit !important;
    text-decoration: none !important;
}

.elag-related-product__image {
    overflow: hidden;
    background: var(--elag-surface);
}

.elag-related-product__image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform .2s ease;
}

.elag-related-product__link:hover .elag-related-product__image img {
    transform: scale(1.015);
}

.elag-related-product__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 1rem 0 0;
}

.elag-related-product__kicker {
    margin: 0 0 .35rem;
    color: var(--elag-blue);
    font-size: .76rem;
    font-weight: 650;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.elag-related-product__title {
    margin: 0;
    color: var(--elag-text);
    font-size: clamp(1.08rem, 1.25vw, 1.28rem);
    font-weight: 650;
    line-height: 1.25;
}

.elag-related-product__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
    padding-top: 1rem;
    color: var(--elag-text);
    font-size: .88rem;
    font-weight: 600;
}

.elag-related-product__arrow {
    color: var(--elag-blue);
}

/* --------------------------------------------------------------------------
   Full-mask renderer
   -------------------------------------------------------------------------- */
.elag-product-all {
    width: 100%;
}

.elag-product-all__hero {
    display: grid;
    gap: 1.25rem;
    margin-bottom: clamp(2rem, 4vw, 4rem);
}

.elag-product-all > * + * {
    margin-top: clamp(2rem, 4vw, 4rem);
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
    .elag-capabilities--cols-3,
    .elag-capabilities--cols-4,
    .elag-related-products--cols-3,
    .elag-related-products--cols-4 {
        --elag-cap-cols: 2;
        --elag-related-cols: 2;
    }

    .elag-editorial__lead--split {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .elag-gallery--cols-3,
    .elag-gallery--cols-4 {
        --elag-gallery-cols: 2;
    }

    .elag-technical-data .elag-spec-group {
        grid-template-columns: 1fr;
    }

    .elag-technical-data .elag-spec-group__heading {
        padding: .85rem 0 !important;
        border-right: 0;
    }

    .elag-technical-data .elag-spec-row,
    .elag-technical-data .mn-spectable .spectable-row,
    .elag-technical-data .mn-spectable-inverse .spectable-row {
        grid-template-columns: minmax(115px, 40%) minmax(0, 60%);
    }

    .elag-technical-data .elag-spec-cell {
        padding: .78rem .8rem !important;
    }

    .elag-editorial {
        grid-template-columns: 1fr;
    }

    .elag-editorial__heading {
        padding: 1rem;
        border-right: 0;
    }

    .elag-editorial__title {
        font-size: 1.4rem;
    }

    .elag-editorial__main {
        padding: 0 0 1.6rem;
    }

    .elag-additional-items {
        grid-template-columns: 1fr;
        margin-top: 1.25rem;
    }

    .elag-capabilities,
    .elag-capabilities--cols-2,
    .elag-capabilities--cols-3,
    .elag-capabilities--cols-4 {
        --elag-cap-cols: 1;
    }

    .elag-capability--has-image {
        grid-template-columns: 1fr;
    }

    .elag-capability__image-el,
    .elag-capability__image img {
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .elag-related-products,
    .elag-related-products--cols-2,
    .elag-related-products--cols-3,
    .elag-related-products--cols-4 {
        --elag-related-cols: 1;
    }

    .elag-richtext table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 480px) {
    .elag-gallery,
    .elag-gallery--cols-2,
    .elag-gallery--cols-3,
    .elag-gallery--cols-4 {
        --elag-gallery-cols: 1;
    }

    .elag-gallery--product_gallery .elag-gallery__item:first-child {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .elag-button,
    .elag-related-product__image img {
        transition: none;
    }
}
