.swiper__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.swiper__thumb {
    aspect-ratio: 1 / 1;
    display: flex;
    overflow: hidden;
}

.swiper__thumb .swiper__image,
.swiper__thumb-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: var(--color-bg-primary);
}

.mySwiper {
    margin-top: 16px;
}

.mySwiper:not(.swiper-initialized) .swiper-slide {
    max-height: 87px;
    max-width: 87px;
}

.mySwiper2 {
    aspect-ratio: 1;
}

.block--product-image {
    position: relative;
    padding: 0;
    background: unset;
}

.block--product-image .swiper-wrapper {
    height: 100%;
}

.product__name {
    font-size: 2rem;
    line-height: 1.3;
    margin-bottom: 10px;
    font-weight: 600;
}

.product__code {
    display: inline;
    color: var(--color-text-teritary);
    font-size: 0.825rem;
    margin-right: 1rem;
}

.product__code span {
    font-weight: 600;
}

.product__description,
.product__recipe {
    font-size: 1rem;
    margin-top: 30px;
    line-height: 1.56;
}

.product__price {
    margin: 30px 0;
    align-items: center;
    font-size: 0.9rem;
}

.product__delivery .delivery__label {
    text-align: left;
}

.product__delivery .delivery__date {
    text-align: right;
}

.product__delivery table {
    max-width: 350px;
}

/* Base table style – same as the old matrix grid table */
.product__stock {
    overflow-x: auto;
    width: 100%;
    /* Ensure the container is full width */
}

.product__stock table {
    /* width: 100%; */
    max-width: none;
    border-collapse: collapse;
    /* table-layout: fixed; */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #555;
    margin-top: 10px;
}

/* Optional section title */
.option-heading {
    font-weight: 600;
    color: #333;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    margin-bottom: 5px;
}

/* Cells (header + body) – padding + row lines */
.product__stock table th,
.product__stock table td {
    padding: 12px 8px;
    vertical-align: middle;
    border-bottom: 1px solid #f0f0f0;
}

/* Header row – identical to old .availability--grid thead th */
.product__stock table thead th {
    background-color: #fafafa;
    white-space: nowrap;
    font-weight: 500;
    color: #333;
    text-align: center;
    border-bottom: 1px solid #e0e0e0;
    white-space: nowrap;
}

/* First column (warehouse name / “Size”) */
.product__stock table .matrix-corner,
.product__stock table td:first-child {
    text-align: left;
    width: 160px;
    white-space: nowrap;
    font-weight: 500;
    color: #333;
}

/* --- DOT INDICATOR STYLING – SAME FOR GRID + DEFAULT TABLE --- */

/* Reset the span that holds the stock status INSIDE the stock table */
.product__stock table .product__stock-qty,
.product__stock table .product__stock-qty-grid {
    display: block;
    height: 12px;
    width: 100%;
    min-width: 0;
    background: none;
    border: none;
    margin: 0;
    padding: 0;
    text-indent: -9999px;
    /* hide "In Stock"/"Out of Stock" text but keep it in DOM */
    overflow: hidden;
}

/* In-stock dot */
.product__stock table .product__stock-qty.in-stock::before,
.product__stock table .product__stock-qty-grid.in-stock::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    background-color: #28a745;
    border-radius: 50%;
    margin: 1px auto 0;
}

/* Out-of-stock dot */
.product__stock table .product__stock-qty.out-of-stock::before,
.product__stock table .product__stock-qty-grid.out-of-stock::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    background-color: #e3ca10;
    border-radius: 50%;
    margin: 1px auto 0;
}

/* NUMERIC VALUE INDICATOR (unchanged) */
.qty-number {
    font-weight: 600;
    font-size: 14px;
    display: block;
    text-align: center;
}

.qty-ok {
    color: #28a745;
}

.qty-zero {
    color: #dc3545;
}

.product_price-rr {
    display: flex;
    align-items: center;
    gap: 5px;
}

.product_price-rr[data-key="priceListPrice"],
.product_price-rr[data-key="priceListPriceWithVat"],
.product_price-rr[data-key="priceWithVat"] {
    font-size: 2rem;
    margin-right: 10px;
    display: inline;
}

.product_price-rr[data-key="priceWithVat"],
.product_price-rr[data-key="priceListPriceWithVat"] {
    display: inline;
}

.product_price-rr[data-key="priceListPrice"]:not(.hidden)~.product_price-rr[data-key="priceWithVat"],
.product_price-rr[data-key="priceListPriceWithVat"]:not(.hidden)~.product_price-rr[data-key="priceWithVat"] {
    font-size: 1.75rem;
    color: var(--color-text-teritary);
    text-decoration: line-through;
}

.product__price__novat {
    font-size: 13px;
    margin-top: 10px;
    color: var(--color-text-teritary);
}

.product__price__novat .product_price-rr[data-key="priceListPrice"],
.product__price__novat .product_price-rr[data-key="price"] {
    font-size: 13px;
    color: var(--color-text-teritary);
    display: inline;
}

.product__price__novat .product_price-rr[data-key="priceListPrice"]:not(.hidden)~.product_price-rr[data-key="price"] {
    text-decoration: line-through;
}

.product__price.is-price-loading .price-skeleton {
    display: inline-block;
    width: 90px;
    height: 28px;
    border-radius: 6px;
    background: #eeeeee;
    vertical-align: middle;
}

.product__price.is-price-loading .product__price__novat .price-skeleton {
    width: 70px;
    height: 16px;
}

.price-skeleton {
    display: inline-block;
    width: 4.8em;
    height: 1em;
    min-width: 72px;
    border-radius: 6px;
    vertical-align: -0.12em;
    background: linear-gradient(90deg,
            rgba(220, 225, 232, 0.75) 0%,
            rgba(242, 245, 248, 0.95) 50%,
            rgba(220, 225, 232, 0.75) 100%);
    background-size: 200% 100%;
    animation: priceSkeletonShimmer 1.2s ease-in-out infinite;
}

.product__price>.product_price-rr .price-skeleton,
.product__price__taxExempt>.product_price-rr .price-skeleton {
    width: 4.6em;
    height: 0.9em;
    min-width: 92px;
}

.product__price__novat .price-skeleton {
    width: 4.2em;
    height: 0.9em;
    min-width: 70px;
}

.product-card__price-new .price-skeleton {
    width: 4.4em;
    height: 0.9em;
    min-width: 68px;
}

.product__price__wrapper .price-skeleton {
    margin-top: 0.08em;
}

.product__price.is-price-loading .js__price-value,
.product-card.loading .product-card__price-new {
    display: inline-flex;
    align-items: center;
}

@keyframes priceSkeletonShimmer {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

.product__price.is-price-loading .product__price__label {
    opacity: 0.55;
}

.product_price-wholesale {
    font-size: .9rem;
}

.option-wrap {
    margin-bottom: 10px;
}

.option-wrap .option {
    padding: 15px 0;
}

.option-wrap>div {
    display: flex;
    flex-direction: column;
}

.product__actions {
    display: flex;
    gap: 16px;
    margin-top: 40px;
    padding-bottom: 40px;
}

.product__actions:has(.product__unit-container) {
    flex-flow: column;
    align-items: center;
    gap: 5px;
}

.product__count {
    display: flex;
    width: 100%;
    height: 40px;
    border: 2px solid var(--color-border-input);
    border-radius: 10px;
    max-width: 123px;
}

.product__count-button {
    width: 50%;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product__count-input {
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
}

.product__button {
    font-size: 1rem;
    width: 100%;
    max-width: 254px;
}

.product__request_quote_button {
    width: 30%;
    margin-left: auto;
}

.swiper-slide {
    border-radius: 8px;
}

.swiper-slide-thumb-active {
    border: 2px solid var(--color-text-active);
}

.product-files {
    padding: 20px;
    max-width: 600px;
    text-align: left;
}

.product-files .content {
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-files .content li {
    padding: 10px;
    margin-bottom: 10px;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 5px;
}

.product-files .content li p {
    margin: 0 0 5px 0;
}

.product-files .content li .file-name {
    font-weight: bold;
}

.product-files .content li .file-description {
    color: #666;
    font-size: 14px;
}

.product-files .content li a {
    color: #1a73e8;
    text-decoration: none;
    font-size: 14px;
}

.product-files .content li a:hover {
    color: #0056b3;
}

.archived-status {
    color: var(--color-text-error);
    font-size: .825rem;
    font-weight: bold;
    margin: 10px 0;
    display: block;
}

.unit-container {
    display: flex;
    flex-direction: column;
}

.product__unit-container {
    width: 100%;
    display: flex;
    gap: 10px;
    align-items: stretch;
}


.product__unit-container .product__unit-select {
    width: 100%;
}

.product__unit-container .product__unit-select select {
    width: 100%;
    height: 100%;
}

.product__actions:has(.product__unit-container) .product__unit-button {
    min-height: 40px;
    max-width: 100%;
}


.block--product-tabs {
    margin: 0 0 60px;
    grid-column: span 2;
}

@media(min-width:480px) {
    .product__unit-container {
        width: 50%;
    }

    .product__actions:has(.product__unit-container) {
        flex-flow: row nowrap;
        align-items: flex-end;
    }

    .product__actions:has(.product__unit-container) .product__unit-button {
        max-width: 50%;
    }
}

@media(min-width:992px) {
    .block--product-image .swiper {
        max-width: 500px;
    }

    .blocks--product {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(45%, 1fr));
        grid-auto-rows: auto;
        gap: 18px;
        row-gap: 80px;
        max-width: 1400px;
        margin: auto;
    }

    .block--product-image,
    .block--product-info {
        grid-column: span 1;
    }

    .block:nth-child(n+3) {
        grid-column: span 2;
    }

    .product__count {
        height: 50px;
    }

    .product__unit-container {
        display: grid;
        grid-template-columns: repeat(auto-fill, 120px);
        align-content: flex-start;
        justify-content: flex-start;
        align-items: center;
        gap: 10px;
        width: 50%;
    }

    .product__unit-container .product__count {
        order: 2;
    }

    .product__unit-container .product__unit-select select {
        width: 100%;
        height: 50px;
    }

    .product__actions:has(.product__unit-container) .product__unit-button {
        min-height: 50px;
        width: 50%;
    }
}

@media(min-width: 1400px) {
    .product__unit-container {
        grid-template-columns: repeat(auto-fill, 140px);
        width: 70%;
    }

    .product__unit-container .product__count {
        order: revert;
    }

    .product__actions:has(.product__unit-container) .product__unit-button {
        width: 30%;
    }
}

.option-heading,
.option-wrap label {
    font-size: 1rem;
    color: var(--color-text-primary);
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
    font-weight: 600;
    width: 100%;
    white-space: nowrap;
}

/* .option-heading::after,
.option-wrap label::after {
    content: "";
    background: var(--color-product-heading-border);
    width: 100%;
    height: 1px;
} */

.option-wrap {
    display: flex;
    flex-direction: column;
}

.option {
    border-top: 2px solid #F6F6FE;
    padding: 30px 0;
}

.product-options input,
.product-options select,
.product-options textarea,
.product__unit-select select {
    height: 50px;
    border-radius: 10px;
    border: 2px solid var(--color-border-input);
    max-width: 291px;
    font-size: 13px;
    width: 100%;
}

/* Custom options  */
input.co-field.co-field--color {
    display: none;
}

.co-swatch-color {
    width: 22px;
    height: 22px;
    border-radius: 25px;
}

input.co-field.co-field--radio {
    height: 18px;
    width: 18px;
    position: relative;
}

label.co-color-swatch,
label.co-radio {
    border-radius: 10px;
    border: 1.56px solid var(--color-border-input);
    height: 50px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    gap: 6px;
    width: fit-content;
}

.co-swatch-group,
.co-input {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

input.co-field.co-field--radio:checked::before {
    background: #4462ff;
    box-shadow: none;
}

input.co-field.co-field--color::before,
input.co-field.co-field--radio::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 25px;
    background: #d9d9d9;
    transition: background .15s, box-shadow .15s, transform .12s;
}

input.co-field.co-field--radio:checked::after {
    opacity: 1;
    transform: rotate(45deg) scale(1);
}

input.co-field.co-field--color::after,
input.co-field.co-field--radio::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 3px;
    width: 4px;
    height: 9px;
    border: 2px solid #fff;
    border-top: 0;
    border-left: 0;
    transform: rotate(45deg) scale(.8);
    opacity: 0;
    transition: opacity .12s, transform .12s;
}

input#customOpt_range_slider_percent {
    height: fit-content;
    width: 270px;
}

.co-input {
    position: relative;
}

span#customOpt_range_slider_percent_val {
    position: absolute;
    top: -35px;
    left: 250px;
}

#customOpt_date_picker {
    padding: 0 10px;
}

.co-color-swatch:has(input[type="radio"]:checked),
.co-radio:has(input[type="radio"]:checked) {
    border: 2px solid #353840;
}

/* Switch (Yes/No) */
.co-switch {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 1em;
    min-width: 60px;
    user-select: none;
}

.co-field--switch {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.co-switch-slider {
    display: inline-block;
    width: 46px;
    height: 26px;
    background: var(--color-table-border);
    border-radius: 13px;
    position: relative;
    transition: background 0.18s;
    border: 1.56px solid var(--color-border-input);
}

.co-field--switch:checked+.co-switch-slider {
    background: #EFEFF9;
}

.co-switch-slider::before {
    content: '';
    position: absolute;
    left: 2.5px;
    top: 2.5px;
    width: 20px;
    height: 20px;
    background: var(--color-bg-primary);
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(30, 30, 30, 0.12);
    transition: left 0.19s, background 0.15s;
}

.co-field--switch:checked+.co-switch-slider::before {
    left: 21.5px;
    background: #4462ff;
}

.co-switch-label {
    /* display: flex; 
  gap: 3px;
  font-size: 0.97em;
  margin-left: 7px; */
    display: none;
}

.co-switch-no {
    color: #ccc;
}

.co-switch-yes {
    color: var(--color-text-secondary);
    font-weight: 600;
}

.co-field--switch:not(:checked)~.co-switch-label .co-switch-yes {
    color: #ccc;
    font-weight: 400;
}

.co-field--switch:not(:checked)~.co-switch-label .co-switch-no {
    color: var(--color-text-secondary);
    font-weight: 600;
}

.option textarea {
    min-height: 75px;
    max-width: 100%;
    padding: 5px 10px;
}

.option input[type="number"],
.option input[type="text"] {
    padding: 0 10px;
}

.matrix-stock-table {
    width: 100%;
    margin-top: 1rem;
    border-collapse: collapse;
}

.matrix-stock-table th,
.matrix-stock-table td {
    padding: 8px;
    text-align: center;
    border: 1px solid #f0f0f0;
    font-size: 0.9em;
}

.matrix-stock-table th {
    background-color: #f8f8f8;
}

.matrix-stock-table .matrix-warehouse {
    text-align: left;
    font-weight: bold;
    width: 35%;
}

.matrix-legend {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9em;
    margin-top: 1rem;
}

.dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #e0e0e0;
    /* Default/Out of stock color */
}

.dot.in {
    background-color: #4CAF50;
    /* Green color for 'Available' */
}

.option--visual {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Grid layout for the visual options */
.visual-options-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 12px;
}

/* Individual clickable option item */
.visual-option {
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    padding: 12px;
    background-color: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.visual-option:hover {
    border-color: #a0a0a0;
}

.visual-option.active {
    border-color: #000;
    /* background-color: #f0f0f0; */
}

.visual-option__swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
}

.visual-option__swatch--dual {
    border: none;
    clip-path: circle(50%);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
}

.visual-option__image {
    width: 80px;
    height: 80px;
    object-fit: contain;
    border-radius: 4px;
}

.visual-option__name {
    font-size: 14px;
    color: #333;
    font-weight: 500;
}

.product__price__taxExempt .product_price-rr[data-key="priceListPrice"]:not(.hidden)~.product_price-rr[data-key="price"] {
    font-size: 1.75rem;
    color: var(--color-text-teritary);
    text-decoration: line-through;
    display: inline;
}

.product__price__taxExempt .product_price-rr[data-key="priceListPrice"].hidden~.product_price-rr[data-key="price"] {
    font-size: 2rem;
}

.product__status-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 24px;
    padding: 0 12px;
    margin-left: 12px;
    vertical-align: middle;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 20px;
    white-space: nowrap;
}

.product__status-label.useForStatus-in-stock {
    color: #21C25C;
    background: #EEFEF4;
}

.product__status-label.on-order {
    color: #E84241;
    background: #FEF2F2;
}

.stock-legend {
    display: flex;
    gap: 14px;
    align-items: center;
    margin: 6px 0 10px;
    font-size: 0.85rem;
    color: #555;
}

.stock-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* Base dot for legend */
.stock-legend .product__stock-qty,
.stock-legend .product__stock-qty-grid {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    text-indent: 0;
    /* override your table reset */
    overflow: visible;
    /* override your table reset */
    margin: 0;
    padding: 0;
    background: transparent;
}

/* In-stock dot */
.stock-legend .product__stock-qty.in-stock,
.stock-legend .product__stock-qty-grid.in-stock {
    background-color: #28a745;
}

/* On-order dot (out-of-stock class) */
.stock-legend .product__stock-qty.out-of-stock,
.stock-legend .product__stock-qty-grid.out-of-stock {
    background-color: #e3ca10;
}

.stock-table-hint {
    margin: 6px 0 10px;
    font-size: 0.85rem;
    color: #555;
}

.product__stock-actions {
    display: flex;
    gap: 32px;
    align-items: flex-end;
}

.product__stock-notification form {
    display: flex;
    gap: 15px;
    flex-direction: column;
}

.product__stock-notification input {
    max-width: 250px;
}

.product__stock-notification input[readonly] {
    cursor: not-allowed;
    color: #b8b8b8;
}

.product__stock-notification {
    border-top: 2px solid #F6F6FE;
    padding: 30px 0;
}

.product__stock-notification p {
    font-weight: 500;
}

.input--stock {
    max-width: 50px !important;
}

.product__stock-actions>div {
    display: flex;
    flex-direction: row-reverse;
    gap: 10px;
}

.product__stock-actions .edit__items.items--wrapper {
    display: flex;
}

.product__stock-notification .button {
    font-size: 1rem;
    height: 50px;
}

.block--product-image .product__badges--image {
    position: absolute;
    top: 12px;
    left: 12px;
    right: 12px;
    z-index: 50;

    display: flex;
    align-items: center;
    gap: 8px;

    /* don't block swiper */
    pointer-events: none;
}

.block--product-image .product__badges--image .product__badge {
    pointer-events: auto;
}

/* push discount to the far right */
.block--product-image .product__badges--image .product__badge--discount {
    margin-left: auto;
}

/* Base badge (shared) */
.product__badge {
    position: static;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    padding: 6px 10px;
    border-radius: 999px;

    white-space: nowrap;
}

/* NEW badge */
.product__badge--new {
    background: var(--color-button);
    color: var(--color-text-white);
    border: 1px solid rgba(29, 78, 216, 0.20);
}

/* DISCOUNT badge */
.product__badge--discount {
    background: var(--color-text-error);
    color: var(--color-text-white);
    border: 1px solid rgba(232, 66, 65, 0.25);
    font-weight: 800;
}

/* Optional: tighter on small screens */
@media (max-width: 479px) {
    .block--product-image .product__badges--image {
        top: 10px;
        left: 10px;
        right: 10px;
    }

    .product__badge {
        font-size: 11px;
        padding: 5px 9px;
    }
}

/* Manufacturer / importer / representative info block */
.manufacturer-info {
    max-width: 520px;
}

.manufacturer-info__section {
    margin: 0 0 18px 0;
}

.manufacturer-info__title {
    margin: 0 0 6px 0;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
}

.manufacturer-info__value {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.35;
}

/* Slightly emphasize the first value in each section (usually the name) */
.product__ordered-stock {
    margin-top: 32px;
    padding-top: 28px;
    border-top: 1px solid #eef2f7;
}

.product__ordered-stock .option-heading {
    margin-bottom: 16px;
}

.product__ordered-stock .product__stock>table.product__ordered-stock-table,
.product__ordered-stock>table.product__ordered-stock-table {
    width: 100%;
    min-width: 0;
    margin-top: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.product__ordered-stock .product__stock>table.product__ordered-stock-table th,
.product__ordered-stock .product__stock>table.product__ordered-stock-table td,
.product__ordered-stock>table.product__ordered-stock-table th,
.product__ordered-stock>table.product__ordered-stock-table td {
    padding: 12px 8px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}

.product__ordered-stock .product__stock>table.product__ordered-stock-table th,
.product__ordered-stock>table.product__ordered-stock-table th {
    background-color: #fafafa;
    font-weight: 500;
    text-align: left;
    white-space: normal;
}

.product__ordered-stock .product__stock>table.product__ordered-stock-table td:first-child,
.product__ordered-stock>table.product__ordered-stock-table td:first-child {
    width: auto;
    white-space: normal;
    font-weight: 400;
}

.product-icons {
    margin: 16px 0 20px;
}

.product-icons.hidden {
    display: none;
}

.product-icons__title {
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.product-icons__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.product-icons__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.product-icons__img {
    display: block;
    max-width: 56px;
    max-height: 56px;
    width: auto;
    height: auto;
    object-fit: contain;
}

@media (max-width: 479px) {
    .product-icons__img {
        max-width: 48px;
        max-height: 48px;
    }
}

/* ==========================================================================
   Veltron product view — Figma product page 281:2520.
   Header and footer intentionally remain owned by their existing overrides.
   ========================================================================== */

.vg-product-view {
    /* Keeps the 100vw .extend-bg backgrounds from adding a horizontal scrollbar. */
    overflow-x: hidden;
    color: var(--color-text-primary);
}

.vg-product-view>.container-inner {
    max-width: var(--header-inner-max);
    padding-top: 24px;
    padding-bottom: 0;
}

.vg-product-view .breadcrumbs {
    margin-bottom: 40px;
    font-size: 13px;
}

.vg-product-view__gallery,
.vg-product-view__details {
    min-width: 0;
}

.vg-product-view__gallery .mySwiper2 {
    height: auto;
    aspect-ratio: 780 / 688;
    border: 1px solid var(--color-border-input);
    border-radius: var(--border-radius-base);
    background: var(--color-bg-white);
    overflow: hidden;
}

.vg-product-view__gallery .mySwiper {
    margin-top: 20px;
}

.vg-product-view__gallery .mySwiper .swiper-slide {
    height: 90px;
    max-height: 90px;
    border: 1px solid var(--color-border-input);
    border-radius: var(--border-radius-base-small);
    background: var(--color-bg-white);
}

.vg-product-view__gallery .mySwiper .swiper-slide-thumb-active {
    border-color: var(--color-base);
}

.vg-product-view__category {
    margin: 0 0 12px;
    color: var(--color-base);
    font-size: 13px;
    font-weight: 800;
    line-height: 16px;
    text-transform: uppercase;
}

/* Figma titles the product by its short SKU (44px). Real names are full
   sentences, so the partial marks longer ones down a step. */
.vg-product-view .product__name {
    margin: 0;
    font-size: 44px;
    font-weight: 800;
    line-height: 1.25;
}

.vg-product-view .product__name--long {
    font-size: 34px;
}

.vg-product-view .product__name--xlong {
    font-size: 28px;
}

.vg-product-view__subtitle {
    margin: 12px 0 0;
    color: #64748B;
    font-size: 18px;
    font-weight: 600;
    line-height: 22px;
}

.vg-product-view .product__description {
    margin-top: 12px;
    color: #64748B;
    font-size: 15px;
    line-height: 24px;
}

.vg-product-view .product__code {
    display: block;
    margin: 12px 0 0;
    color: #64748B;
    font-size: 12px;
    font-weight: 700;
    line-height: 15px;
    text-transform: uppercase;
}

/* Figma 281:2935 keeps the price block flush with the column — no card frame.
   All blocks in the details column are spaced 28px apart. */
.vg-product-view .product__price {
    margin: 28px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.vg-product-view .product__price .product_price-rr {
    display: inline;
    font-size: 36px;
    font-weight: 800;
    line-height: 44px;
}

.vg-product-pricing__vat-note {
    margin-left: 8px;
    color: #64748B;
    font-size: 14px;
    font-weight: 400;
}

/* Figma pricing-header 281:2936: only the net price is shown, with the
   excl. VAT note baseline-aligned next to it. */
.vg-product-view .product__price__novat {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    margin: 0;
}

.vg-product-view .product__price__novat .product_price-rr[data-key="price"],
.vg-product-view .product__price__novat .product_price-rr[data-key="priceListPrice"] {
    color: var(--color-text-primary);
    font-size: 36px;
    font-weight: 800;
    line-height: 44px;
}

.vg-product-view .product__price__novat .vg-product-pricing__vat-note,
.vg-product-view .product__price__novat .product__status-label {
    margin-left: 0;
}

/* Key Specifications — values are intentionally hardcoded in the VG partial
   until the product-family parameter mapping is available. */
.vg-key-specs {
    margin-top: 28px;
}

.vg-key-specs__title {
    margin: 0 0 16px;
    color: var(--color-text-primary);
    font-size: 14px;
    font-weight: 800;
    line-height: 17px;
    text-transform: uppercase;
}

.vg-key-specs__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    margin: 0;
}

.vg-key-specs__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 31px;
    padding: 8px 4px;
    border-bottom: 1px solid #E2E8F0;
}

.vg-key-specs__item dt {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    margin: 0;
    color: #64748B;
    font-size: 12px;
    font-weight: 400;
}

.vg-key-specs__item dd {
    flex: 0 0 auto;
    margin: 0;
    color: var(--color-text-primary);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.vg-key-specs .product-card__parameter-icon {
    display: inline-flex;
    flex: 0 0 14px;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    color: #64748B;
}

.vg-key-specs .product-card__parameter-icon svg {
    display: block;
    width: 14px;
    height: 14px;
}

/* Accordion — Why choose Veltron uses exclusive open (details[name] + JS). */
.vg-accordion {
    display: flex;
    flex-direction: column;
}

.vg-accordion__item {
    border-bottom: 1px solid #E2E8F0;
}

.vg-accordion__item:first-child {
    border-top: 1px solid #E2E8F0;
}

.vg-accordion__summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 13px 10px 13px 0;
    cursor: pointer;
    list-style: none;
}

.vg-accordion__summary::-webkit-details-marker {
    display: none;
}

.vg-accordion__label {
    flex: 1 0 0;
    min-width: 0;
    color: #323A44;
    font-size: 13px;
    font-weight: 500;
    text-align: left;
    word-break: break-word;
}

.vg-accordion__icon,
.vg-accordion__arrow {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
}

.vg-accordion__arrow {
    color: #64748B;
}

.vg-accordion__item[open] {
    background: #F8FAFC;
    border-radius: 8px;
    border-color: transparent;
}

.vg-accordion__item[open]+.vg-accordion__item {
    border-top: 1px solid #E2E8F0;
}

.vg-accordion__item[open] .vg-accordion__label,
.vg-accordion__item[open] .vg-accordion__arrow {
    color: var(--color-base);
}

.vg-accordion__item[open] .vg-accordion__arrow {
    transform: rotate(180deg);
}

.vg-accordion__panel {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 16px 16px 42px;
}

.vg-accordion__panel p {
    margin: 0;
    color: #64748B;
    font-size: 13px;
    line-height: 20px;
}

.vg-accordion__contact {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vg-accordion__contact a {
    color: #323A44;
    font-size: 13px;
    font-weight: 500;
}

.vg-accordion__link {
    display: inline-flex;
    align-items: center;
    padding-top: 4px;
    color: var(--color-base);
    font-size: 13px;
    font-weight: 500;
}

/* Why choose Veltron — Figma trust-features-block */
.vg-trust-features {
    margin-top: 28px;
}

.vg-trust-features__title {
    margin: 0 0 12px;
    color: var(--color-base);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.65px;
    line-height: normal;
    text-transform: uppercase;
}

.vg-trust-features .vg-accordion__icon .product-card__parameter-icon {
    display: inline-flex;
    flex: 0 0 26px;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    color: var(--color-base);
}

.vg-trust-features .vg-accordion__icon .product-card__parameter-icon svg {
    display: block;
    width: 26px;
    height: 26px;
}

@media (min-width: 992px) {
    .vg-product-view>.container-inner {
        padding-left: var(--header-gutter);
        padding-right: var(--header-gutter);
    }

    /* Figma 281:2921: 1440 content = 780 gallery + 80 gap + 580 details. The
       ratio is kept in fr so narrower desktops scale instead of splitting 50/50. */
    .vg-product-view .vg-product-view__main {
        grid-template-columns: minmax(0, 780fr) minmax(0, 580fr);
        gap: 80px;
        max-width: none;
        align-items: start;
    }

    .vg-product-view__gallery .swiper {
        max-width: 780px;
    }
}

@media (max-width: 991px) {
    .vg-product-view__gallery .mySwiper2 {
        height: auto;
        aspect-ratio: 1 / 1;
    }

    .vg-product-view .product__name {
        font-size: 36px;
    }

    .vg-product-view .product__name--long {
        font-size: 30px;
    }

    .vg-product-view .product__name--xlong {
        font-size: 26px;
    }
}

@media (max-width: 639px) {
    .vg-key-specs__grid {
        grid-template-columns: 1fr;
    }

    .vg-product-view .product__name {
        font-size: 30px;
    }

    .vg-product-view .product__name--long {
        font-size: 26px;
    }

    .vg-product-view .product__name--xlong {
        font-size: 22px;
    }
}

/* The price basis is already stated by vg-product-pricing__vat-note. */
.vg-product-pricing .product__price__label {
    display: none;
}

.vg-product-pricing__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 16px;
}

.vg-product-pricing__actions .button,
.vg-product-support .button {
    min-height: 45px;
    padding: 14px 24px;
    border-radius: 4px;
    color: var(--color-text-primary);
    font-size: 14px;
    font-weight: 600;
}

.vg-product-pricing__secondary {
    border-color: var(--color-text-primary);
    background: transparent;
    color: var(--color-text-primary);
}

.vg-product-pricing__datasheet {
    display: flex;
    justify-content: center;
    margin-top: 16px;
    color: var(--color-text-primary);
    font-size: 14px;
    font-weight: 600;
    text-decoration: underline;
}

/* The VG product page is a public sales/detail view. Its primary actions are
   contact/dealer links rather than the framework cart and warehouse controls. */
.vg-product-view__details .product__actions,
.vg-product-view__details .product__stock {
    display: none;
}

/* Custom editorial content replaces the generic data tabs on this theme. */
.vg-product-view .block--product-tabs {
    display: none;
}

.vg-product-benefits,
.vg-product-tabs-block,
.vg-product-editorial,
.vg-showcase,
.vg-box-contents,
.vg-remote-control,
.vg-product-carousel,
.vg-product-support {
    grid-column: 1 / -1;
    width: 100%;
}

/* Trust and service links */
.vg-product-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    padding: 20px 0;
}

.vg-product-benefits__item {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 84px;
    padding: 16px 20px;
    border: 1px solid #E2E8F0;
    border-radius: var(--border-radius-base-small);
    color: var(--color-text-primary);
}

.vg-product-benefits__item>span:last-child {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.vg-product-benefits__item strong {
    font-size: 14px;
    line-height: 17px;
}

.vg-product-benefits__item small {
    color: #64748B;
    font-size: 12px;
    line-height: 15px;
}

.vg-product-benefits__icon {
    display: inline-flex;
    flex: 0 0 40px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #F3F8D9;
    color: var(--color-base);
    font-size: 18px;
    font-weight: 700;
}

/* Tabs and editorial split */
/* Figma tabs-wrapper 236:1297 */
.vg-product-tabs {
    display: flex;
    gap: 16px;
    border-bottom: 1px solid #E2E8F0;
}

.vg-product-view .vg-product-tabs__tab {
    padding: 18px 8px;
    border-bottom: 2px solid transparent;
    color: var(--color-text-primary);
    font-size: 15px;
    font-weight: 500;
    text-align: left;
}

.vg-product-view .vg-product-tabs__tab.tab--active {
    border-bottom: 2px solid var(--color-base);
    color: var(--color-base);
    font-weight: 600;
}

.vg-product-tabs__panels {
    padding-top: 40px;
}

.vg-product-tabs__description {
    color: #64748B;
    font-size: 15px;
    line-height: 24px;
}

/* Flags a panel whose values still come from the design, not from product data. */
.vg-no-data-flag {
    display: inline-flex;
    align-items: center;
    margin: 0 0 24px;
    padding: 4px 10px;
    border: 1px solid #E2E8F0;
    border-radius: 999px;
    background: #F8FAFC;
    color: #94A3B8;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* Figma SpecificationsTabContent 306:1408 */
.vg-spec-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 656fr));
    gap: 32px 128px;
}

.vg-spec-group__title {
    margin: 0 0 24px;
    color: var(--color-base);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.vg-spec-rows>div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 50px;
    border-bottom: 1px solid #E2E8F0;
}

.vg-spec-rows dt {
    color: #64748B;
    font-size: 14px;
    line-height: 18px;
}

.vg-spec-rows dd {
    margin: 0;
    color: var(--color-text-primary);
    font-size: 14px;
    font-weight: 600;
    line-height: 18px;
    text-align: right;
}

/* Figma SmartFeatures 306:1477 and WhereToUse 306:1540 */
.vg-features h2,
.vg-use-cases h2 {
    margin: 0;
    color: var(--color-text-primary);
    font-size: 32px;
    font-weight: 800;
    line-height: 40px;
}

.vg-features__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 32px;
    margin-top: 32px;
}

.vg-use-cases {
    margin-top: 56px;
}

.vg-use-cases__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 20px;
    margin-top: 32px;
}

.vg-feature-card,
.vg-use-case {
    border: 1px solid #E5E7EB;
    border-radius: 20px;
    background: #F3F4F6;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.vg-feature-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
}

.vg-feature-card h3 {
    margin: 0;
    color: var(--color-text-primary);
    font-size: 16px;
    font-weight: 700;
}

.vg-feature-card p {
    margin: 4px 0 0;
    color: #64748B;
    font-size: 13px;
    line-height: 18px;
}

.vg-feature-card__icon,
.vg-use-case__icon {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    color: var(--color-base);
}

.vg-feature-card__icon .product-card__parameter-icon,
.vg-use-case__icon .product-card__parameter-icon {
    display: inline-flex;
}

.vg-feature-card__icon svg {
    display: block;
    width: 56px;
    height: 56px;
}

.vg-use-case {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-height: 140px;
    padding: 16px;
    text-align: center;
}

.vg-use-case__icon svg {
    display: block;
    width: auto;
    height: 48px;
}

.vg-use-case h3 {
    margin: 0;
    color: var(--color-text-primary);
    font-size: 14px;
    font-weight: 700;
}

.vg-product-editorial__split,
.vg-remote-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 80px;
    align-items: center;
    padding: 40px 0;
}

.vg-product-editorial__media,
.vg-remote-control__media {
    height: 520px;
    overflow: hidden;
    border-radius: var(--border-radius-base);
    background: transparent;
}

.vg-product-editorial__split--no-media {
    grid-template-columns: minmax(0, 1fr);
}

.vg-product-editorial__media img,
.vg-remote-control__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.vg-product-editorial__eyebrow {
    margin: 0 0 12px;
    color: var(--color-base);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 16px;
    text-transform: uppercase;
}

.vg-product-editorial h2,
.vg-box-contents h2,
.vg-remote-control h2,
.vg-product-support h2 {
    margin: 0;
    color: var(--color-text-primary);
    font-size: 36px;
    font-weight: 800;
    line-height: 44px;
}

.vg-product-editorial__content>p:not(.vg-product-editorial__eyebrow),
.vg-remote-control__content>p:not(.vg-product-editorial__eyebrow) {
    margin: 12px 0 0;
    color: #64748B;
    font-size: 16px;
    line-height: 24px;
}

.vg-product-advantages {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 32px 0 0;
}

.vg-product-advantages li {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-left: 40px;
}

.vg-product-advantages li::before {
    content: '✓';
    position: absolute;
    top: 4px;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #F3F8D9;
    color: var(--color-base);
    font-weight: 800;
}

.vg-product-advantages strong {
    font-size: 14px;
    line-height: 17px;
}

.vg-product-advantages span {
    color: #64748B;
    font-size: 13px;
    line-height: 16px;
}

/* Figma editorial-split-reversed 374:4464 */
.vg-product-editorial--reversed .vg-product-editorial__split {
    padding: 60px 0;
}

.vg-product-editorial--reversed .vg-product-editorial__media {
    height: 400px;
}

.vg-product-editorial--reversed .vg-product-editorial__media img {
    object-fit: cover;
}

.vg-product-advantages--figma {
    margin-top: 24px;
}

.vg-product-advantages--figma li {
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding-left: 0;
}

.vg-product-advantages--figma li::before {
    content: none;
}

.vg-product-advantages__icon {
    display: flex;
    flex: 0 0 24px;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
}

.vg-product-advantages__icon .product-card__parameter-icon,
.vg-product-advantages__icon svg {
    display: block;
    width: 14px;
    height: 14px;
}

.vg-product-advantages__text {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

/* Bleeds a section background past the container. The colour comes from the
   section itself, so several blocks can reuse the helper. */
.extend-bg {
    position: relative;
    isolation: isolate;
}

.extend-bg::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    width: 100vw;
    height: 100%;
    background: var(--extend-bg, transparent);
    transform: translateX(-50%);
}

/* Figma showcase-section 374:4413 */
.vg-showcase {
    --extend-bg: #F9FAFB;
}

.vg-showcase__eyebrow {
    margin: 0;
    padding: 80px 0 32px;
    color: var(--color-base);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    line-height: 16px;
    text-align: center;
    text-transform: uppercase;
}

.vg-showcase__media {
    height: 540px;
    overflow: hidden;
    border-radius: 20px;
}

.vg-showcase__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vg-showcase__media .vg-content-placeholder {
    border-radius: 20px;
}

/* Figma stats-row 381:1958 */
.vg-product-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 56px 0 80px;
    text-align: center;
}

.vg-product-stats>div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.vg-product-stats strong {
    color: var(--color-text-primary);
    font-size: 48px;
    font-weight: 800;
    line-height: 1.2;
}

.vg-product-stats span {
    color: #64748B;
    font-size: 14px;
    line-height: 1.2;
}

/* Box contents */
.vg-box-contents {
    --extend-bg: #F8FAFC;
    padding: 32px 0 24px;
}

.vg-box-contents__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-top: 24px;
}

.vg-box-contents__grid article {
    display: flex;
    min-height: 246px;
    flex-direction: column;
    gap: 16px;
    overflow: hidden;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    background: #F8FAFC;
}

.vg-box-contents__grid .vg-content-placeholder--card {
    flex: 0 0 160px;
    height: 160px;
    padding: 12px;
    border: 0;
    border-radius: 0;
    background: #FFFFFF;
}

.vg-content-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    height: 100%;
    padding: 16px;
    border: 1px dashed #CBD5E1;
    border-radius: var(--border-radius-base-small);
    background: #F8FAFC;
    text-align: center;
}

.vg-content-placeholder__label {
    color: #94A3B8;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.vg-content-placeholder__text {
    color: #64748B;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
}

.vg-product-editorial__media .vg-content-placeholder,
.vg-remote-control__media .vg-content-placeholder {
    height: 100%;
    border-radius: var(--border-radius-base);
}

.vg-box-contents__text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0 12px 12px;
}

.vg-box-contents__grid h3 {
    margin: 0;
    color: var(--color-text-primary);
    font-size: 15px;
    font-weight: 700;
    line-height: normal;
}

.vg-box-contents__text p {
    margin: 0;
    color: #64748B;
    font-size: 13px;
    line-height: normal;
}

.vg-box-contents__note {
    margin: 24px 0 0;
    color: #64748B;
    font-size: 13px;
}

.vg-remote-control {
    position: relative;
    left: 50%;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: 0;
    width: 100vw;
    height: auto;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: #FFFFFF;
    transform: translateX(-50%);
}

.vg-remote-control__media {
    position: relative;
    height: 520px;
    overflow: hidden;
    border-radius: 0 50px 50px 50px;
    background: linear-gradient(90deg, #323A44 0%, #1C1D20 100%);
}

.vg-remote-control__media::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 0;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: rgba(178, 203, 34, 0.27);
    transform: translate(-50%, -50%);
    filter: blur(60px);
    pointer-events: none;
}

.vg-remote-control__media img {
    position: relative;
    z-index: 1;
}

/* The phone render is angled ~10deg with its left side toward the viewer.
   Hovering counter-rotates it towards upright, keeping a little 3D turn so it
   never reads as a flat front view. */
@media (hover: hover) {

    .vg-remote-control__media img {
        transform-origin: 50% 60%;
        transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
        backface-visibility: hidden;
    }

    .vg-remote-control__media:hover img {
        transform: perspective(1400px) rotate(15deg) rotateY(-7deg) rotateX(-10deg) scale(0.905);
    }
}

@media (prefers-reduced-motion: reduce) {

    .vg-remote-control__media img {
        transition: none;
    }

    .vg-remote-control__media:hover img {
        transform: none;
    }
}

.vg-remote-control__media .vg-content-placeholder {
    border: 0;
    border-radius: 0 50px 50px 50px;
    background: transparent;
}

.vg-remote-control__media .vg-content-placeholder__label,
.vg-remote-control__media .vg-content-placeholder__text {
    color: #E2E8F0;
}

.vg-remote-control__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 32px;
    padding: 80px;
}

.vg-remote-control--no-media {
    grid-template-columns: minmax(0, 1fr);
}

.vg-remote-control--no-media .vg-remote-control__content {
    width: min(100%, 900px);
    margin: 0 auto;
}

.vg-remote-control__content h2 {
    font-size: 38px;
    line-height: normal;
}

.vg-remote-control__content>p:not(.vg-product-editorial__eyebrow) {
    margin: 0;
    font-size: 15px;
}

.vg-remote-control__features {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.vg-remote-control__features li {
    display: flex;
    align-items: center;
    gap: 12px;
}

.vg-remote-control__features li>span:last-child {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.vg-remote-control__features strong {
    color: var(--color-text-primary);
    font-size: 16px;
    line-height: normal;
}

.vg-remote-control__features small {
    color: #64748B;
    font-size: 13px;
    line-height: normal;
}

.vg-remote-control__feature-icon {
    display: flex;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: rgba(178, 203, 34, 0.37);
}

.vg-remote-control__feature-icon .product-card__parameter-icon,
.vg-remote-control__feature-icon svg {
    display: block;
    width: 16px;
    height: 16px;
}

.vg-remote-control__cta {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    border-radius: 8px;
    text-transform: uppercase;
}

.vg-remote-control__cta .product-card__parameter-icon,
.vg-remote-control__cta svg {
    display: block;
    width: 18px;
    height: 18px;
}

/* Figma hardcoded product carousel 281:2749. */
.vg-product-carousel {
    padding: 40px 0;
}

.vg-product-carousel+.vg-product-carousel {
    padding-top: 24px;
}

.vg-product-carousel .block__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 36px;
    margin-bottom: 32px;
}

.vg-product-carousel .block__top h2 {
    margin: 0;
    color: var(--color-text-primary);
    font-size: 28px;
    font-weight: 800;
    line-height: normal;
}

.vg-product-carousel__header-actions,
.vg-product-carousel__navigation {
    display: flex;
    align-items: center;
}

/* Figma 281:2757 offsets the nav from the link with padding, not with a gap. */
.vg-product-carousel__header-actions {
    gap: 0;
}

.vg-product-carousel__navigation {
    gap: 8px;
    padding-left: 20px;
}

.vg-product-carousel__view-all {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-text-primary);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

.vg-product-carousel__view-all .product-card__parameter-icon,
.vg-product-carousel__view-all svg {
    display: block;
    width: 16px;
    height: 16px;
}

/* Figma prev 281:2758 / next 281:2760: 36px circle, hairline ring, chevron only.
   The shared swiper styles hide navigation above 700px, so this carousel has to
   opt back in — those base rules stay untouched for the other sliders. */
.vg-product-carousel__navigation .swiper-button-prev,
.vg-product-carousel__navigation .swiper-button-next {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 1px solid #E2E8F0;
    border-radius: 50%;
    background: #FFFFFF;
    color: var(--color-text-primary);
    transition: border-color 0.2s ease-out, background-color 0.2s ease-out;
}

/* Opting back into `display` would also defeat Swiper's own lock class, which
   hides the controls when every card already fits. */
.vg-product-carousel__navigation .swiper-button-lock {
    display: none;
}

/* Swiper's icon-font glyph would sit on top of the Figma chevron. */
.vg-product-carousel__navigation .swiper-button-prev::after,
.vg-product-carousel__navigation .swiper-button-next::after {
    content: none;
}

.vg-product-carousel__navigation .swiper-button-prev:hover,
.vg-product-carousel__navigation .swiper-button-next:hover {
    border-color: #CBD5E1;
    background: #F8FAFC;
}

.vg-product-carousel__navigation .product-card__parameter-icon,
.vg-product-carousel__navigation svg {
    display: block;
    width: 36px;
    height: 36px;
}

.vg-hardcoded-products-slider__viewport {
    width: 100%;
    /* Figma 281:2763 offsets each card 8px below the header row. */
    padding-top: 8px;
    overflow: hidden;
}

.vg-hardcoded-products-slider__viewport .swiper-wrapper {
    align-items: stretch;
}

.vg-product-carousel .widget__products {
    margin-bottom: 0;
}

/* Bullets sit under the cards instead of overlaying the last row. */
.vg-product-carousel .swiper-pagination {
    position: static;
    margin-top: 24px;
}

/* Figma card-body 98:133 is flush: the only inset is the 20px content frame
   below. The shared widget card adds 20px 18px of its own, so it is reset here
   with a selector that outweighs `.widget__products.swiper-wrapper
   .product-card--widget`. */
.vg-product-carousel .widget__products .product-card--widget.vg-hardcoded-product-card {
    display: flex;
    flex-direction: column;
    height: auto;
    overflow: hidden;
    padding: 0;
    border: 1px solid #E2E8F0;
    border-radius: 20px;
    background: #FFFFFF;
}

.vg-product-carousel .product-card__content--widget {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    padding: 20px;
}

.vg-product-carousel .product-card__image--wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 220px;
    width: 100%;
    height: 220px;
}

.vg-product-carousel .product-card--widget .product-card__image--widget {
    display: block;
    width: 100%;
    height: 220px;
    margin: 0;
    object-fit: contain;
}

.vg-product-carousel .product-card__header--widget {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vg-product-carousel .product-card__category--widget {
    color: var(--color-base);
    font-size: 11px;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
}

.vg-product-carousel .product-card--widget .product-card__name {
    min-height: 0;
    margin: 0;
    font-size: 18px;
    line-height: normal;
}

.vg-product-carousel .product-card--widget .product-card__name a {
    min-height: 0;
    color: var(--color-text-primary);
    text-decoration: none;
}

.vg-product-carousel .product-card__description--widget {
    display: -webkit-box;
    min-height: 36px;
    margin: 0;
    overflow: hidden;
    color: #64748B;
    font-size: 13px;
    line-height: 18px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

/* Figma 69:578: the spec list only carries 8px of vertical padding. The shared
   widget styles wrap it in a border of their own, which would duplicate the
   ring each row already draws. */
.vg-product-carousel .vg-hardcoded-product-card .product-card__parameters {
    margin: 0;
    padding: 8px 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
}

.vg-product-carousel .vg-hardcoded-product-card .product-card__parameter-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 31px;
    /* Rows share their 1px edge instead of stacking two borders. */
    margin-bottom: -1px;
    padding: 6px 10px;
    border: 1px solid #E2E8F0;
    color: #64748B;
    font-size: 12px;
    line-height: normal;
}

.vg-product-carousel .vg-hardcoded-product-card .product-card__parameter-row:first-child {
    border-radius: 6px 6px 0 0;
}

.vg-product-carousel .vg-hardcoded-product-card .product-card__parameter-row:last-child {
    margin-bottom: 0;
    border-bottom: 1px solid #E2E8F0;
    border-radius: 0 0 6px 6px;
}

.vg-product-carousel .product-card__parameter-label {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 8px;
}

.vg-product-carousel .product-card__parameter-label .product-card__parameter-icon {
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
}

.vg-product-carousel .product-card__parameter-label svg {
    display: block;
    width: 14px;
    height: 14px;
}

.vg-product-carousel .product-card__parameter-row strong {
    flex: 0 0 auto;
    color: var(--color-text-primary);
    font-weight: 600;
    white-space: nowrap;
}

.vg-hardcoded-product-card .product-card__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 45px;
    margin-top: auto;
    padding: 14px 24px;
    text-transform: uppercase;
}

.vg-product-carousel .product-card__stock-bubble--widget {
    display: none;
}

.vg-product-carousel .product-card__purchase--widget {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: auto;
}

/* Figma card price row 69:589: value + excl. VAT note, baseline aligned. */
.vg-product-carousel .product-card__purchase--widget .product-card__price-wrapper,
.vg-product-carousel .product-card__purchase--widget .product-card__price--novat {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    margin: 0;
}

.vg-product-carousel .product-card__purchase--widget .product-card__price--novat>.product-card__price--text {
    margin-right: 0;
}

.vg-product-carousel .product-card__purchase--widget .product-card__price-new {
    color: var(--color-text-primary);
    font-size: 24px;
    font-weight: 700;
    line-height: normal;
}

.vg-product-carousel .product-card__purchase--widget .product-card__price--text {
    order: 2;
    color: #64748B;
    font-size: 14px;
    font-weight: 400;
}

.vg-product-carousel .product-card__purchase--widget .product-card__form--widget {
    margin: 0;
    padding: 0;
}

.vg-product-carousel .product-card__purchase--widget .product-card__button {
    min-height: 45px;
    text-transform: uppercase;
}

/* Support CTA */
.vg-product-support {
    --extend-bg: #0F1319;
    display: grid;
    grid-template-columns: minmax(0, 827fr) minmax(0, 533fr);
    align-items: center;
    gap: 80px;
    min-height: 301px;
    margin-top: 0;
    padding: 48px 0;
}

.vg-product-support--has-bg::after {
    background: linear-gradient(90deg, rgba(15, 19, 25, 0.72) 0%, rgba(15, 19, 25, 0.45) 100%);
}

.vg-product-support__bg {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -2;
    width: 100vw;
    height: 100%;
    object-fit: cover;
    transform: translateX(-50%);
    pointer-events: none;
}

.vg-product-support h2 {
    margin: 0;
    color: var(--color-text-white);
    font-size: 36px;
    line-height: 44px;
}

.vg-product-support p:not(.vg-product-editorial__eyebrow) {
    max-width: 827px;
    margin: 12px 0 0;
    color: #E2E8F0;
    font-size: 16px;
    line-height: 24px;
}

.vg-product-support__actions {
    display: flex;
    flex: 0 0 auto;
    gap: 16px;
    margin-top: 24px;
}

.vg-product-support .vg-product-pricing__secondary {
    border-color: var(--color-text-white);
    color: var(--color-text-white);
}

.vg-product-support .vg-product-pricing__secondary:hover {
    border-color: var(--color-text-white);
    color: var(--color-text-primary);
}

.vg-product-support__benefits {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 32px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
}

.vg-product-support__benefits h3 {
    margin: 0;
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 700;
}

.vg-product-support__benefits ul {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.vg-product-support__benefits li {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #E2E8F0;
    font-size: 14px;
    line-height: 22px;
}

.vg-product-support__benefits .product-card__parameter-icon,
.vg-product-support__benefits svg {
    display: block;
    flex: 0 0 12px;
    width: 12px;
    height: 9px;
}

@media (max-width: 1199px) {

    .vg-product-benefits,
    .vg-box-contents__grid,
    .vg-features__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vg-use-cases__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .vg-spec-groups {
        gap: 32px 48px;
    }

    .vg-product-stats strong {
        font-size: 40px;
    }

    .vg-showcase__media {
        height: 420px;
    }

    .vg-product-editorial__split {
        gap: 40px;
    }

    .vg-remote-control__content {
        padding: 48px;
    }

    .vg-product-support {
        gap: 40px;
    }
}

@media (max-width: 767px) {

    .vg-product-pricing__actions,
    .vg-product-benefits,
    .vg-box-contents__grid,
    .vg-product-editorial__split,
    .vg-remote-control,
    .vg-product-stats,
    .vg-spec-groups,
    .vg-features__grid {
        grid-template-columns: 1fr;
    }

    .vg-use-cases__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vg-product-tabs {
        gap: 8px;
        overflow-x: auto;
    }

    .vg-product-view .vg-product-tabs__tab {
        flex: 0 0 auto;
        font-size: 14px;
        white-space: nowrap;
    }

    .vg-product-tabs__panels {
        padding-top: 24px;
    }

    .vg-product-editorial__media,
    .vg-remote-control__media {
        height: 360px;
    }

    .vg-product-editorial h2,
    .vg-box-contents h2,
    .vg-remote-control h2,
    .vg-product-support h2 {
        font-size: 28px;
        line-height: 36px;
    }

    .vg-product-stats {
        gap: 32px;
        padding: 32px 0 40px;
    }

    .vg-product-stats strong {
        font-size: 36px;
    }

    .vg-showcase__eyebrow {
        padding: 40px 0 24px;
    }

    .vg-showcase__media {
        height: 280px;
    }

    .vg-product-carousel .block__top {
        align-items: flex-start;
    }

    .vg-product-carousel .block__top h2 {
        font-size: 24px;
    }

    .vg-product-carousel__header-actions {
        gap: 8px;
    }

    .vg-product-carousel__view-all {
        display: none;
    }

    .vg-remote-control {
        height: auto;
        width: 95vw;
    }

    .vg-remote-control__media {
        height: 260px;
        border-radius: 50px 50px 0 0;
    }

    .vg-remote-control__media .vg-content-placeholder {
        border-radius: 50px 50px 0 0;
    }

    .vg-remote-control__content {
        padding: 40px 24px;
    }

    .vg-remote-control__content h2 {
        font-size: 28px;
        line-height: 36px;
    }

    .vg-product-support {
        grid-template-columns: 1fr;
        align-items: flex-start;
        gap: 32px;
        padding: 32px 24px;
    }

    .vg-product-support__actions {
        flex-wrap: wrap;
    }
}