
.nek-section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
}

.nek-section-header--below-title {
    display: block;
}

.nek-section-header__content {
    min-width: 0;
}

.nek-section-header__title {
    margin: 0;
    color: #111;
    font-size: clamp(26px, 2.6vw, 42px);
    line-height: 1.08;
}

.nek-section-header__description {
    max-width: 720px;
    margin-top: 10px;
    color: #666;
}

.nek-section-header__description p {
    margin: 0;
}

.nek-section-header__link-wrap {
    display: block;
    margin-top: 14px;
}

.nek-section-header__action {
    flex: 0 0 auto;
    padding-bottom: .15em;
}

.nek-section-header__actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    flex: 0 0 auto;
}

.nek-section-header__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #111;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: color .2s ease, gap .2s ease;
}

.nek-section-header__link:hover {
    gap: 11px;
    color: #555;
}

.nek-section-header__link.is-visual {
    cursor: default;
}

.nek-section-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 26px;
}

.nek-product-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    color: #111;
    background: transparent;
}

.nek-product-card--standard .nek-product-card__body {
    padding: 18px;
}

.nek-product-card--bordered {
    border: 1px solid rgba(0, 0, 0, .12);
}

.nek-product-card--bordered .nek-product-card__body {
    padding: 18px;
}

.nek-product-collection .nek-product-card__media {
    position: relative !important;
    display: block;
    width: 100%;
    overflow: hidden !important;
    background: #f4f4f4;
}

.nek-product-collection .nek-product-card__image-link {
    position: relative;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

.nek-product-collection.nek-image-ratio-square .nek-product-card__media {
    aspect-ratio: 1 / 1 !important;
}

.nek-product-collection.nek-image-ratio-portrait .nek-product-card__media {
    aspect-ratio: 4 / 5 !important;
}

.nek-product-collection.nek-image-ratio-tall .nek-product-card__media {
    aspect-ratio: 3 / 4 !important;
}

.nek-product-collection.nek-image-ratio-landscape .nek-product-card__media {
    aspect-ratio: 4 / 3 !important;
}

.nek-product-collection.nek-image-ratio-natural .nek-product-card__media {
    aspect-ratio: auto !important;
}

.nek-product-collection:not(.nek-image-ratio-natural) .nek-product-card__image-link {
    position: absolute !important;
    inset: 0 !important;
}

.nek-product-collection .nek-product-card__image {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: opacity .35s ease, transform .5s ease;
}

.nek-product-collection:not(.nek-image-ratio-natural) .nek-product-card__image {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
}

.nek-product-collection.nek-image-fit-cover .nek-product-card__image {
    object-fit: cover !important;
}

.nek-product-collection.nek-image-fit-contain .nek-product-card__image {
    object-fit: contain !important;
}

.nek-product-collection.nek-image-ratio-natural .nek-product-card__image {
    position: relative !important;
    height: auto !important;
}

.nek-product-collection .nek-product-card__image--secondary {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0;
}

.nek-product-card:hover .nek-product-card__image--primary:not(:only-child) {
    opacity: 0;
}

.nek-product-card:hover .nek-product-card__image--secondary {
    opacity: 1;
}

.nek-product-card:hover .nek-product-card__image {
    transform: scale(1.025);
}

.nek-product-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding-top: 16px;
}

.nek-product-card__category {
    margin-bottom: 6px;
    color: #777;
    font-size: 12px;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.nek-product-card__title {
    margin: 0;
    color: inherit;
    font-size: 16px;
    line-height: 1.35;
}

.nek-product-card .nek-product-card__title a,
.nek-product-card .nek-product-card__title a:visited {
    color: var(--nek-card-title-color, inherit) !important;
    text-decoration: none;
    transition: color .2s ease;
}

.nek-product-card .nek-product-card__title a:hover,
.nek-product-card .nek-product-card__title a:focus,
.nek-product-card .nek-product-card__title a:focus-visible {
    color: var(--nek-card-title-hover-color, #555) !important;
}

.nek-product-card__short-description {
    margin-top: 9px;
    color: #666;
    font-size: 13px;
    line-height: 1.55;
}

.nek-product-card__rating {
    margin-top: 8px;
}

.nek-product-card__rating .star-rating {
    float: none;
    margin: 0;
    font-size: 13px;
}

.nek-product-card__price {
    margin-top: 10px;
    color: var(--nek-card-price-color, var(--nek-card-color, #111));
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
}

.nek-product-card__price del {
    margin-right: 6px;
    color: var(--nek-card-old-price-color, var(--nek-card-muted, #888));
    font-weight: 400;
    opacity: .8;
}

.nek-product-card__price ins {
    color: inherit;
    text-decoration: none;
}

.nek-product-card__price .amount,
.nek-product-card__price bdi,
.nek-product-card__price .woocommerce-Price-currencySymbol {
    color: inherit;
}

.nek-product-card__action {
    margin-top: auto;
    padding-top: 16px;
}

.nek-product-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 11px 18px;
    border: 1px solid #111;
    border-radius: 0;
    color: #fff;
    background: #111;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

.nek-product-card__button:hover {
    border-color: #333;
    color: #fff;
    background: #333;
}

.nek-product-badges {
    position: absolute;
    z-index: 3;
    top: 12px;
    left: 12px;
    display: flex;
    max-width: calc(100% - 24px);
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    pointer-events: none;
}

.nek-product-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    padding: 5px 9px;
    border: 1px solid var(--nek-badge-border, transparent);
    border-radius: 999px;
    color: var(--nek-badge-color, #111);
    background: var(--nek-badge-bg, #fff);
    box-shadow: 0 3px 14px rgba(0, 0, 0, .09);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .03em;
}

.nek-product-badge.is-discount {
    color: #fff;
    background: #111;
}

.nek-product-badge.is-new {
    background: #fff;
}

.nek-product-badge.is-featured {
    color: #fff;
    background: #6b5845;
}

.nek-product-collection-empty {
    padding: 24px;
    border: 1px dashed rgba(0, 0, 0, .2);
    color: #666;
    text-align: center;
}

@media (max-width: 767px) {
    .nek-section-header {
        align-items: flex-start;
        gap: 18px;
    }

    .nek-section-header__action {
        padding-top: 7px;
    }

    .nek-section-header__description {
        font-size: 14px;
    }

    .nek-product-card__body {
        padding-top: 12px;
    }

    .nek-product-card__title {
        font-size: 14px;
    }

    .nek-product-card__button {
        width: 100%;
        padding-inline: 10px;
        font-size: 11px;
    }

    .nek-product-badges {
        top: 8px;
        left: 8px;
        gap: 4px;
    }

    .nek-product-badge {
        min-height: 22px;
        padding: 4px 7px;
        font-size: 9px;
    }
}


/* Theme and Elementor compatibility.
 * Some themes force WooCommerce product images to height:auto.
 */
.elementor .nek-product-collection:not(.nek-image-ratio-natural) img.nek-product-card__image,
.woocommerce .nek-product-collection:not(.nek-image-ratio-natural) img.nek-product-card__image,
.nek-product-collection:not(.nek-image-ratio-natural) img.nek-product-card__image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-position: center center;
}


/* Global Product Badge rule styles */
.nek-product-badge.nek-badge-style-rectangle {
    border-radius: 2px;
}

.nek-product-badge.nek-badge-style-circle {
    width: 54px;
    height: 54px;
    min-height: 54px;
    padding: 6px;
    border-radius: 50%;
    text-align: center;
}

.nek-product-badge.nek-badge-style-ribbon {
    padding-right: 17px;
    border-radius: 2px 2px 2px 0;
    clip-path: polygon(0 0, 100% 0, 91% 50%, 100% 100%, 0 100%);
}

.nek-product-badge.nek-badge-style-minimal {
    min-height: auto;
    padding: 0 0 3px;
    border: 0;
    border-bottom: 2px solid var(--nek-badge-border, currentColor);
    border-radius: 0;
    color: var(--nek-badge-bg, #111);
    background: transparent;
    box-shadow: none;
}


/* ------------------------------------------------------------------
 * Product Card System 2.0
 * ------------------------------------------------------------------ */
.nek-product-card {
    --nek-card-bg: transparent;
    --nek-card-color: #111;
    --nek-card-muted: #777;
    --nek-card-media-bg: #f4f4f4;
    --nek-card-border: rgba(0,0,0,.12);
    --nek-card-button-bg: #111;
    --nek-card-button-color: #fff;
    --nek-card-button-border: #111;
    --nek-card-radius: 0px;
    --nek-card-body-padding: 0px;
    --nek-card-shadow: none;
    --nek-card-hover-scale: 1.025;
    border-radius: var(--nek-card-radius);
    color: var(--nek-card-color);
    background: var(--nek-card-bg);
    box-shadow: var(--nek-card-shadow);
}

.nek-product-card__media {
    background: var(--nek-card-media-bg) !important;
}

.nek-product-card:hover .nek-product-card__image {
    transform: scale(var(--nek-card-hover-scale));
}

.nek-product-card__category,
.nek-product-card__short-description,
.nek-variation-product-link,
.nek-variation-availability {
    color: var(--nek-card-muted);
}

.nek-product-card__button {
    border-color: var(--nek-card-button-border);
    color: var(--nek-card-button-color) !important;
    background: var(--nek-card-button-bg) !important;
}

.nek-product-card--classic {
    --nek-card-body-padding: 18px;
    --nek-card-bg: #fff;
}

.nek-product-card--classic .nek-product-card__body {
    padding: var(--nek-card-body-padding);
}

.nek-product-card--premium-beauty {
    --nek-card-bg: #fbf8f5;
    --nek-card-media-bg: #f3ece5;
    --nek-card-muted: #887b70;
    --nek-card-radius: 16px;
    --nek-card-body-padding: 20px;
    --nek-card-shadow: 0 12px 34px rgba(70, 52, 39, .08);
    --nek-card-button-bg: #302721;
    --nek-card-button-border: #302721;
}

.nek-product-card--premium-beauty .nek-product-card__body {
    padding: var(--nek-card-body-padding);
    text-align: center;
}

.nek-product-card--premium-beauty .nek-product-card__button {
    width: 100%;
    border-radius: 999px;
}

.nek-product-card--premium-beauty .nek-product-badges {
    top: 16px;
    left: 16px;
}

.nek-product-card--compact {
    --nek-card-body-padding: 10px 0 0;
}

.nek-product-card--compact .nek-product-card__body {
    padding: var(--nek-card-body-padding);
}

.nek-product-card--compact .nek-product-card__category {
    margin-bottom: 3px;
    font-size: 10px;
}

.nek-product-card--compact .nek-product-card__title {
    font-size: 13px;
}

.nek-product-card--compact .nek-product-card__price {
    margin-top: 6px;
    font-size: 13px;
}

.nek-product-card--compact .nek-product-card__action {
    padding-top: 10px;
}

.nek-product-card--compact .nek-product-card__button {
    min-height: 34px;
    padding: 8px 11px;
    font-size: 10px;
}

.nek-product-card--bordered {
    --nek-card-bg: #fff;
    --nek-card-body-padding: 18px;
    border: 1px solid var(--nek-card-border);
}

.nek-product-card--bordered .nek-product-card__body {
    padding: var(--nek-card-body-padding);
}

.nek-product-card--hover-actions {
    --nek-card-bg: transparent;
}

.nek-product-card__media-action {
    position: absolute;
    z-index: 5;
    right: 12px;
    bottom: 12px;
    left: 12px;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .22s ease, transform .22s ease;
}

.nek-product-card--hover-actions:hover .nek-product-card__media-action,
.nek-product-card--hover-actions:focus-within .nek-product-card__media-action {
    opacity: 1;
    transform: translateY(0);
}

.nek-product-card--hover-actions .nek-product-card__media-action .nek-product-card__button {
    width: 100%;
    min-height: 38px;
}

.nek-product-card--hover-actions .nek-product-card__body > .nek-product-card__notice {
    margin-top: 8px;
}

.nek-product-card--image-overlay {
    min-height: 360px;
    background: var(--nek-card-media-bg);
}

.nek-product-card--image-overlay .nek-product-card__media {
    position: absolute !important;
    inset: 0;
    height: 100%;
}

.nek-product-card--image-overlay .nek-product-card__body {
    position: relative;
    z-index: 4;
    justify-content: flex-end;
    min-height: 360px;
    padding: 100px 20px 20px;
    color: #fff;
    background: linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,0) 68%);
    pointer-events: none;
}

.nek-product-card--image-overlay .nek-product-card__body a,
.nek-product-card--image-overlay .nek-product-card__price,
.nek-product-card--image-overlay .nek-product-card__category,
.nek-product-card--image-overlay .nek-product-card__short-description {
    color: inherit;
}

.nek-product-card--image-overlay .nek-product-card__action,
.nek-product-card--image-overlay .nek-product-card__notice,
.nek-product-card--image-overlay .nek-product-card__title a {
    pointer-events: auto;
}

.nek-product-card--image-overlay .nek-product-card__button {
    border-color: #fff;
    color: #111 !important;
    background: #fff !important;
}

.nek-product-card--horizontal {
    display: grid;
    grid-template-columns: minmax(130px, 42%) minmax(0, 1fr);
    align-items: stretch;
    gap: 18px;
    overflow: visible;
}

.nek-product-card--horizontal .nek-product-card__media {
    height: 100%;
}

.nek-product-card--horizontal .nek-product-card__body {
    justify-content: center;
    padding: 8px 8px 8px 0;
}

.nek-product-card--editorial {
    --nek-card-body-padding: 22px 0 0;
    overflow: visible;
}

.nek-product-card--editorial .nek-product-card__body {
    padding: var(--nek-card-body-padding);
}

.nek-product-card--editorial .nek-product-card__title {
    font-size: clamp(18px, 1.5vw, 25px);
    line-height: 1.18;
}

.nek-product-card--editorial .nek-product-card__category {
    margin-bottom: 10px;
    letter-spacing: .12em;
}

.nek-product-card--editorial .nek-product-card__button {
    border: 0;
    border-bottom: 1px solid currentColor;
    min-height: auto;
    padding: 4px 0;
    color: var(--nek-card-color) !important;
    background: transparent !important;
}

.nek-product-card--dark {
    --nek-card-bg: #171717;
    --nek-card-color: #fff;
    --nek-card-title-color: #fff;
    --nek-card-title-hover-color: #fff;
    --nek-card-price-color: #fff;
    --nek-card-old-price-color: #a8a8a8;
    --nek-card-muted: #aaa;
    --nek-card-media-bg: #242424;
    --nek-card-border: #343434;
    --nek-card-button-bg: #fff;
    --nek-card-button-color: #111;
    --nek-card-button-border: #fff;
    --nek-card-body-padding: 18px;
    --nek-card-radius: 8px;
}

.nek-product-card--dark .nek-product-card__body {
    padding: var(--nek-card-body-padding);
}

.nek-product-card--dark .nek-product-card__title a,
.nek-product-card--dark .nek-product-card__title a:visited,
.nek-product-card--dark .nek-product-card__title a:hover,
.nek-product-card--dark .nek-product-card__title a:focus,
.nek-product-card--dark .nek-product-card__title a:focus-visible {
    color: var(--nek-card-title-hover-color, var(--nek-card-title-color, #fff)) !important;
}

.nek-product-card--dark .nek-product-card__price,
.nek-product-card--dark .nek-product-card__price ins,
.nek-product-card--dark .nek-product-card__price .amount,
.nek-product-card--dark .nek-product-card__price bdi,
.nek-product-card--dark .nek-product-card__price .woocommerce-Price-currencySymbol {
    color: var(--nek-card-price-color, #fff);
}

.nek-product-card--dark .nek-product-card__price del,
.nek-product-card--dark .nek-product-card__price del .amount,
.nek-product-card--dark .nek-product-card__price del bdi {
    color: var(--nek-card-old-price-color, #a8a8a8);
}

/* Quantity */
.nek-product-card__purchase-row,
.nek-variation-purchase {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.nek-card-quantity {
    display: inline-grid;
    grid-template-columns: 30px minmax(34px, 44px) 30px;
    min-height: 42px;
    border: 1px solid var(--nek-card-border);
    background: var(--nek-card-bg, #fff);
}

.nek-card-quantity button,
.nek-card-quantity input {
    width: 100%;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--nek-card-color, #111) !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center;
}

.nek-card-quantity input {
    -moz-appearance: textfield;
}

.nek-card-quantity input::-webkit-inner-spin-button,
.nek-card-quantity input::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.nek-product-card__purchase-row .nek-product-card__button,
.nek-variation-purchase .nek-product-card__button {
    flex: 1 1 auto;
}

/* Variations */
.nek-product-variations,
.nek-variation-panel,
.nek-variation-form {
    min-width: 0;
    width: 100%;
}

.nek-variation-panel {
    margin-top: 12px;
}

.nek-variation-panel[hidden] {
    display: none !important;
}

.nek-variation-loading {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    color: var(--nek-card-muted);
    font-size: 12px;
}

.nek-variation-loading span {
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: nek-card-spin .7s linear infinite;
}

@keyframes nek-card-spin {
    to { transform: rotate(360deg); }
}

.nek-variation-form {
    display: grid;
    gap: 12px;
}

.nek-variation-attribute {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.nek-variation-attribute legend {
    margin-bottom: 7px;
    color: var(--nek-card-color);
    font-size: 12px;
    font-weight: 600;
}

.nek-variation-attribute select {
    width: 100%;
    min-height: 40px;
    padding: 7px 10px;
    border: 1px solid var(--nek-card-border);
    color: var(--nek-card-color);
    background: var(--nek-card-bg, #fff);
}

.nek-variation-options {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.nek-variation-option {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 6px 9px !important;
    border: 1px solid var(--nek-card-border) !important;
    border-radius: 4px;
    color: var(--nek-card-color) !important;
    background: var(--nek-card-bg, #fff) !important;
    box-shadow: none !important;
    font-size: 11px;
    cursor: pointer;
}

.nek-variation-option.is-selected {
    outline: 2px solid var(--nek-card-color);
    outline-offset: 1px;
}

.nek-variation-option__color {
    display: block;
    width: 22px;
    height: 22px;
    border: 1px solid rgba(0,0,0,.18);
    border-radius: 50%;
}

.nek-variation-option img {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: cover;
}

.nek-variation-availability {
    min-height: 18px;
    font-size: 12px;
    line-height: 1.4;
}

.nek-variation-availability .stock {
    margin: 0;
}

.nek-variation-product-link {
    justify-self: start;
    font-size: 11px;
    text-decoration: underline;
}

.nek-variation-error,
.nek-variation-fallback-message {
    margin: 0 0 10px;
    color: var(--nek-card-muted);
    font-size: 12px;
    line-height: 1.45;
}

.nek-product-card__notice {
    min-height: 0;
    margin-top: 0;
    color: var(--nek-card-muted);
    font-size: 12px;
    line-height: 1.4;
}

.nek-product-card__notice:not(:empty) {
    margin-top: 10px;
}

.nek-product-card__notice.is-success {
    color: #26703b;
}

.nek-product-card__notice.is-error {
    color: #a32626;
}

@media (max-width: 767px) {
    .nek-product-card--horizontal {
        grid-template-columns: 112px minmax(0, 1fr);
        gap: 12px;
    }

    .nek-product-card--image-overlay,
    .nek-product-card--image-overlay .nek-product-card__body {
        min-height: 300px;
    }

    .nek-product-card__media-action {
        position: static;
        margin-top: 10px;
        opacity: 1;
        transform: none;
    }

    .nek-card-quantity {
        grid-template-columns: 28px 34px 28px;
    }

    .nek-product-card__purchase-row,
    .nek-variation-purchase {
        flex-wrap: wrap;
    }

    .nek-product-card__purchase-row .nek-product-card__button,
    .nek-variation-purchase .nek-product-card__button {
        min-width: 130px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nek-product-card__media-action,
    .nek-variation-loading span {
        transition: none !important;
        animation: none !important;
    }
}


/* 0.7.1 — card height behavior */
.nek-card-height-natural .nek-product-card {
    height: auto !important;
    align-self: start;
}

.nek-card-height-equal .nek-product-card {
    height: 100% !important;
    align-self: stretch;
}

.nek-card-height-natural .nek-product-card__action {
    margin-top: 0;
}

.nek-card-height-equal .nek-product-card__action {
    margin-top: auto;
}

/* Inline variation controls legitimately add content, but should remain compact. */
.nek-product-card .nek-variation-form {
    gap: 10px;
}

.nek-product-card .nek-variation-options {
    gap: 6px;
}

.nek-product-card .nek-variation-option {
    min-width: 34px !important;
    min-height: 32px !important;
    padding: 5px 7px !important;
}

.nek-product-card .nek-variation-option img {
    width: 30px;
    height: 30px;
}

.nek-product-card .nek-variation-panel {
    margin-top: 10px;
}

.nek-product-card .nek-variation-purchase {
    margin-top: 2px;
}


/* ------------------------------------------------------------------
 * 0.7.2 — Product Card uniformity
 * ------------------------------------------------------------------ */
.nek-product-card {
    --nek-card-title-zone: 46px;
    --nek-card-excerpt-zone: 44px;
    --nek-card-price-zone: 24px;
}

.nek-card-title-clamp-yes .nek-product-card__title a {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
}

.nek-card-excerpt-clamp-yes .nek-product-card__short-description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
}

.nek-product-card__commerce {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.nek-card-height-natural .nek-product-card__category[data-empty="1"],
.nek-card-height-natural .nek-product-card__short-description[data-empty="1"],
.nek-card-height-natural .nek-product-card__rating[data-empty="1"] {
    display: none;
}

.nek-card-height-uniform .nek-product-card__category,
.nek-card-height-equal .nek-product-card__category {
    min-height: 1.35em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.nek-card-height-uniform .nek-product-card__title,
.nek-card-height-equal .nek-product-card__title {
    min-height: var(--nek-card-title-zone);
}

.nek-card-height-uniform .nek-product-card__short-description,
.nek-card-height-equal .nek-product-card__short-description {
    min-height: var(--nek-card-excerpt-zone);
}

.nek-card-height-uniform .nek-product-card__rating,
.nek-card-height-equal .nek-product-card__rating {
    min-height: 18px;
}

.nek-card-height-uniform .nek-product-card__price,
.nek-card-height-equal .nek-product-card__price {
    min-height: var(--nek-card-price-zone);
}

.nek-card-height-uniform .nek-product-card__action,
.nek-card-height-equal .nek-product-card__action {
    padding-top: 16px;
}

.nek-card-height-uniform .nek-product-card {
    height: auto !important;
    align-self: start;
}

.nek-card-height-uniform .nek-product-card__action {
    margin-top: 0;
}

.nek-card-height-equal .nek-product-card__body {
    height: 100%;
}

.nek-card-height-equal .nek-product-card__commerce {
    margin-top: auto;
}

.nek-card-height-equal .nek-product-card__notice {
    flex: 0 0 auto;
}

@media (max-width: 1024px) {
    .nek-product-card {
        --nek-card-title-zone: 42px;
        --nek-card-excerpt-zone: 42px;
    }
}

@media (max-width: 767px) {
    .nek-product-card {
        --nek-card-title-zone: 40px;
        --nek-card-excerpt-zone: 40px;
        --nek-card-price-zone: 22px;
    }
}


/* ------------------------------------------------------------------
 * 0.7.3 — Compact product-card variations
 * ------------------------------------------------------------------ */
.nek-product-card {
    --nek-card-inline-action-zone: 126px;
}

.nek-variation-availability,
.nek-product-card .stock,
.nek-product-card .stock.in-stock,
.nek-product-card .stock.out-of-stock {
    display: none !important;
}

.nek-variation-form--compact {
    gap: 8px;
}

.nek-variation-form--compact.is-single-attribute
.nek-variation-attribute legend {
    display: none;
}

.nek-variation-form--compact .nek-variation-options {
    display: flex;
    flex-wrap: nowrap;
    gap: 7px;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
}

.nek-variation-form--compact .nek-variation-options::-webkit-scrollbar {
    display: none;
}

.nek-variation-form--compact .nek-variation-option {
    flex: 0 0 auto;
}

.nek-variation-form--compact .nek-variation-product-link,
.nek-variation-compact-fallback .nek-variation-product-link {
    color: var(--nek-card-muted, #777) !important;
    text-decoration: none;
}

.nek-variation-form--compact .nek-variation-product-link:visited,
.nek-variation-compact-fallback .nek-variation-product-link:visited {
    color: var(--nek-card-muted, #777) !important;
}

.nek-variation-form--compact .nek-variation-product-link:hover,
.nek-variation-form--compact .nek-variation-product-link:focus,
.nek-variation-form--compact .nek-variation-product-link:focus-visible,
.nek-variation-compact-fallback .nek-variation-product-link:hover,
.nek-variation-compact-fallback .nek-variation-product-link:focus,
.nek-variation-compact-fallback .nek-variation-product-link:focus-visible {
    color: var(
        --nek-card-title-hover-color,
        var(--nek-card-title-color, var(--nek-card-color, #111))
    ) !important;
}

.nek-product-card--dark .nek-variation-product-link,
.nek-product-card--dark .nek-variation-product-link:visited {
    color: var(--nek-card-muted, #aaa) !important;
}

.nek-product-card--dark .nek-variation-product-link:hover,
.nek-product-card--dark .nek-variation-product-link:focus,
.nek-product-card--dark .nek-variation-product-link:focus-visible {
    color: var(--nek-card-title-hover-color, #fff) !important;
}

.nek-variation-compact-fallback {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 10px;
    min-height: 100%;
}

.nek-variable-display-dropdowns.nek-card-height-uniform
.nek-product-card__action,
.nek-variable-display-text-swatches.nek-card-height-uniform
.nek-product-card__action,
.nek-variable-display-color-swatches.nek-card-height-uniform
.nek-product-card__action,
.nek-variable-display-image-swatches.nek-card-height-uniform
.nek-product-card__action,
.nek-variable-display-dropdowns.nek-card-height-equal
.nek-product-card__action,
.nek-variable-display-text-swatches.nek-card-height-equal
.nek-product-card__action,
.nek-variable-display-color-swatches.nek-card-height-equal
.nek-product-card__action,
.nek-variable-display-image-swatches.nek-card-height-equal
.nek-product-card__action {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: var(--nek-card-inline-action-zone);
}

.nek-variable-display-dropdowns.nek-card-height-uniform
.nek-product-card:not(.is-variable-product) .nek-product-card__action,
.nek-variable-display-text-swatches.nek-card-height-uniform
.nek-product-card:not(.is-variable-product) .nek-product-card__action,
.nek-variable-display-color-swatches.nek-card-height-uniform
.nek-product-card:not(.is-variable-product) .nek-product-card__action,
.nek-variable-display-image-swatches.nek-card-height-uniform
.nek-product-card:not(.is-variable-product) .nek-product-card__action,
.nek-variable-display-dropdowns.nek-card-height-equal
.nek-product-card:not(.is-variable-product) .nek-product-card__action,
.nek-variable-display-text-swatches.nek-card-height-equal
.nek-product-card:not(.is-variable-product) .nek-product-card__action,
.nek-variable-display-color-swatches.nek-card-height-equal
.nek-product-card:not(.is-variable-product) .nek-product-card__action,
.nek-variable-display-image-swatches.nek-card-height-equal
.nek-product-card:not(.is-variable-product) .nek-product-card__action {
    margin-top: 0;
}

.nek-variable-display-dropdowns.nek-card-height-uniform
.nek-product-card.is-variable-product .nek-product-card__action,
.nek-variable-display-text-swatches.nek-card-height-uniform
.nek-product-card.is-variable-product .nek-product-card__action,
.nek-variable-display-color-swatches.nek-card-height-uniform
.nek-product-card.is-variable-product .nek-product-card__action,
.nek-variable-display-image-swatches.nek-card-height-uniform
.nek-product-card.is-variable-product .nek-product-card__action {
    justify-content: flex-start;
}

.nek-variation-form--compact .nek-variation-purchase {
    margin-top: auto;
}

.nek-variation-form--compact .nek-variable-add-to-cart {
    width: 100%;
}

@media (max-width: 767px) {
    .nek-product-card {
        --nek-card-inline-action-zone: 112px;
    }

    .nek-variation-form--compact .nek-variation-option {
        min-width: 34px !important;
        min-height: 32px !important;
    }

    .nek-variation-form--compact .nek-variation-option img {
        width: 28px;
        height: 28px;
    }
}


/* 1.1.5 legacy-theme isolation for NeoWeb product components */
.nek-product-card,
.nek-product-card *,
.nek-product-grid-section,
.nek-product-carousel-section,
.nek-shop-product-tabs {
    box-sizing: border-box;
}

.nek-product-card {
    color: var(--nek-card-color, #111);
    font-style: normal;
    text-align: left;
    text-transform: none;
    filter: none !important;
}

.nek-product-card img {
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

.nek-product-card :is(h2,h3,h4,p,ul,ol,figure) {
    margin-block-start: 0;
}

.nek-product-card :is(a,button,input,select) {
    font-family: inherit;
    letter-spacing: inherit;
    text-shadow: none;
}

.nek-product-card a {
    text-decoration: none;
}

.nek-product-card .nek-product-card__button {
    min-height: 0;
    margin: 0 !important;
    box-shadow: none;
    white-space: normal;
}

.nek-product-card del,
.nek-product-card ins {
    background: transparent;
    text-decoration-thickness: auto;
}


/* 1.1.7 — deterministic featured and hover images */
.nek-product-collection
.nek-product-card__image--primary {
    z-index: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.nek-product-collection
.nek-product-card__image--secondary {
    z-index: 2 !important;
    opacity: 0 !important;
    visibility: visible !important;
    pointer-events: none !important;
}

.nek-product-collection
.nek-product-card.has-secondary-image:hover
.nek-product-card__image--primary,
.nek-product-collection
.nek-product-card.has-secondary-image:focus-within
.nek-product-card__image--primary {
    opacity: 0 !important;
}

.nek-product-collection
.nek-product-card.has-secondary-image:hover
.nek-product-card__image--secondary,
.nek-product-collection
.nek-product-card.has-secondary-image:focus-within
.nek-product-card__image--secondary {
    opacity: 1 !important;
}

.nek-product-collection
.nek-product-card:not(.has-secondary-image)
.nek-product-card__image--primary {
    opacity: 1 !important;
}

@media (hover: none) {
    .nek-product-collection
    .nek-product-card.has-secondary-image
    .nek-product-card__image--primary {
        opacity: 1 !important;
    }

    .nek-product-collection
    .nek-product-card.has-secondary-image
    .nek-product-card__image--secondary {
        opacity: 0 !important;
    }
}


/* 1.1.17 — Card Preset Manager alignment contract */
.nek-product-card--custom {
    text-align: var(--nek-card-content-align-desktop, left);
}

.nek-product-card--custom .nek-product-card__body {
    align-items: var(--nek-card-content-items-desktop, flex-start);
    text-align: var(--nek-card-content-align-desktop, left);
}

.nek-product-card--custom .nek-product-card__category,
.nek-product-card--custom .nek-product-card__title,
.nek-product-card--custom .nek-product-card__short-description,
.nek-product-card--custom .nek-product-card__notice,
.nek-product-card--custom .nek-product-card__commerce {
    width: 100%;
    text-align: inherit;
}

.nek-product-card--custom .nek-product-card__image {
    object-position: var(--nek-card-media-position-desktop, center center) !important;
}

.nek-product-card--custom .nek-product-card__rating {
    display: flex;
    width: 100%;
    justify-content: var(--nek-card-content-items-desktop, flex-start);
}

.nek-product-card--custom .nek-product-card__rating .star-rating {
    margin-inline: 0;
}

.nek-product-card--custom .nek-product-card__price {
    width: 100%;
    text-align: var(--nek-card-price-align, inherit);
}

.nek-product-card--custom .nek-product-card__action {
    display: flex;
    width: 100%;
    justify-content: var(--nek-card-action-justify-desktop, flex-start);
}

.nek-product-card--custom .nek-product-card__action
.nek-product-card__button,
.nek-product-card--custom .nek-product-card__media-action
.nek-product-card__button,
.nek-product-card--custom .nek-product-card__action
.nek-variable-add-to-cart,
.nek-product-card--custom .nek-product-card__action
.nek-variation-toggle {
    width: var(--nek-card-button-width, auto) !important;
    max-width: 100%;
}

.nek-product-card--custom .nek-product-variations,
.nek-product-card--custom .nek-variation-form,
.nek-product-card--custom .nek-variation-panel,
.nek-product-card--custom .nek-variation-purchase,
.nek-product-card--custom .nek-variation-swatches {
    width: 100%;
}

.nek-product-card--custom .nek-variation-swatches,
.nek-product-card--custom .nek-variation-purchase,
.nek-product-card--custom .nek-card-quantity,
.nek-product-card--custom .nek-product-card__purchase-row {
    justify-content: var(
        --nek-card-variation-justify-desktop,
        flex-start
    );
}

@media (max-width: 1024px) {
    .nek-product-card--custom {
        text-align: var(
            --nek-card-content-align-tablet,
            var(--nek-card-content-align-desktop, left)
        );
    }

    .nek-product-card--custom .nek-product-card__body {
        align-items: var(
            --nek-card-content-items-tablet,
            var(--nek-card-content-items-desktop, flex-start)
        );
        text-align: var(
            --nek-card-content-align-tablet,
            var(--nek-card-content-align-desktop, left)
        );
    }

    .nek-product-card--custom .nek-product-card__image {
        object-position: var(
            --nek-card-media-position-tablet,
            var(--nek-card-media-position-desktop, center center)
        ) !important;
    }

    .nek-product-card--custom .nek-product-card__rating {
        justify-content: var(
            --nek-card-content-items-tablet,
            var(--nek-card-content-items-desktop, flex-start)
        );
    }

    .nek-product-card--custom .nek-product-card__action {
        justify-content: var(
            --nek-card-action-justify-tablet,
            var(--nek-card-action-justify-desktop, flex-start)
        );
    }

    .nek-product-card--custom .nek-variation-swatches,
    .nek-product-card--custom .nek-variation-purchase,
    .nek-product-card--custom .nek-card-quantity,
    .nek-product-card--custom .nek-product-card__purchase-row {
        justify-content: var(
            --nek-card-variation-justify-tablet,
            var(--nek-card-variation-justify-desktop, flex-start)
        );
    }
}

@media (max-width: 767px) {
    .nek-product-card--custom {
        text-align: var(
            --nek-card-content-align-mobile,
            var(
                --nek-card-content-align-tablet,
                var(--nek-card-content-align-desktop, left)
            )
        );
    }

    .nek-product-card--custom .nek-product-card__body {
        align-items: var(
            --nek-card-content-items-mobile,
            var(
                --nek-card-content-items-tablet,
                var(--nek-card-content-items-desktop, flex-start)
            )
        );
        text-align: var(
            --nek-card-content-align-mobile,
            var(
                --nek-card-content-align-tablet,
                var(--nek-card-content-align-desktop, left)
            )
        );
    }

    .nek-product-card--custom .nek-product-card__image {
        object-position: var(
            --nek-card-media-position-mobile,
            var(
                --nek-card-media-position-tablet,
                var(--nek-card-media-position-desktop, center center)
            )
        ) !important;
    }

    .nek-product-card--custom .nek-product-card__rating {
        justify-content: var(
            --nek-card-content-items-mobile,
            var(
                --nek-card-content-items-tablet,
                var(--nek-card-content-items-desktop, flex-start)
            )
        );
    }

    .nek-product-card--custom .nek-product-card__action {
        justify-content: var(
            --nek-card-action-justify-mobile,
            var(
                --nek-card-action-justify-tablet,
                var(--nek-card-action-justify-desktop, flex-start)
            )
        );
    }

    .nek-product-card--custom .nek-variation-swatches,
    .nek-product-card--custom .nek-variation-purchase,
    .nek-product-card--custom .nek-card-quantity,
    .nek-product-card--custom .nek-product-card__purchase-row {
        justify-content: var(
            --nek-card-variation-justify-mobile,
            var(
                --nek-card-variation-justify-tablet,
                var(--nek-card-variation-justify-desktop, flex-start)
            )
        );
    }
}


/* Product Card Preset Library 2.1 */
.nek-product-card--system-centered
.nek-product-card__category,
.nek-product-card--system-centered-compact
.nek-product-card__category {
    text-align: center;
}

.nek-product-card--system-full-cta
.nek-product-card__button,
.nek-product-card--system-sale-focus
.nek-product-card__button,
.nek-product-card--system-marketplace
.nek-product-card__button {
    width: 100% !important;
}

.nek-product-card--system-sale-focus
.nek-product-card__price {
    font-size: 1.08em;
    font-weight: 700;
}

.nek-product-card--system-price-focus
.nek-product-card__price {
    font-size: 1.18em;
    font-weight: 750;
}

.nek-product-card--system-brand-focus
.nek-product-card__category {
    color: var(--nek-card-muted, #19723a) !important;
    font-weight: 700;
}

.nek-product-card--system-fashion
.nek-product-card__title {
    font-weight: 500;
    letter-spacing: -.015em;
}

.nek-product-card--system-luxury
.nek-product-card__category {
    letter-spacing: .12em;
    text-transform: uppercase;
}

.nek-product-card--system-marketplace
.nek-product-card__body {
    gap: 7px;
}

.nek-product-card--system-image-focus
.nek-product-card__media {
    min-height: 0;
}

.nek-product-card--system-borderless {
    border-color: transparent !important;
}

.nek-product-card--system-dark
.nek-product-card__button {
    font-weight: 700;
}


/* ------------------------------------------------------------------
 * 1.1.21 — Product Card Engine 3.0 foundation
 * ------------------------------------------------------------------ */
.nek-product-card {
    --nek-card-title-zone: 46px;
    --nek-card-price-zone: 54px;
    --nek-card-variation-zone: 46px;
    --nek-card-action-zone: 42px;
}

.nek-screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.nek-product-card__body {
    min-height: 0;
}

.nek-product-card__commerce {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    margin-top: auto;
}

.nek-product-card__price-zone {
    display: flex;
    align-items: flex-end;
    width: 100%;
    min-width: 0;
    min-height: var(--nek-card-price-zone);
}

.nek-product-card__price {
    width: 100%;
    min-height: 0 !important;
    margin-top: 10px;
    text-align: inherit;
}

.nek-price-stack,
.nek-price-line {
    display: flex;
    width: 100%;
    min-width: 0;
    flex-direction: column;
    align-items: inherit;
    text-align: inherit;
}

.nek-price-stack {
    justify-content: flex-end;
    gap: 2px;
    min-height: 38px;
}

.nek-price-line {
    line-height: 1.28;
}

.nek-price-line--regular {
    color: var(
        --nek-card-old-price-color,
        var(--nek-card-muted, #888)
    );
    font-size: .92em;
    font-weight: 400;
}

.nek-price-line--current {
    color: var(
        --nek-card-price-color,
        var(--nek-card-color, #111)
    );
    font-weight: 600;
}

.nek-price-line del,
.nek-price-line ins {
    display: inline;
    margin: 0 !important;
    color: inherit !important;
    background: transparent !important;
    text-decoration-thickness: 1px;
}

.nek-price-line ins {
    text-decoration: none !important;
}

.nek-product-card__variation-zone {
    display: flex;
    align-items: flex-end;
    width: 100%;
    min-width: 0;
    min-height: 0;
}

:is(
    .nek-variable-display-dropdowns,
    .nek-variable-display-text-swatches,
    .nek-variable-display-color-swatches,
    .nek-variable-display-image-swatches
)
.nek-product-card__variation-zone {
    min-height: var(
        --nek-card-variation-zone,
        46px
    );
    padding-top: 8px;
}

.nek-product-card__variation-zone
.nek-product-variations,
.nek-product-card__variation-zone
.nek-variation-panel,
.nek-product-card__variation-zone
.nek-variation-form {
    width: 100%;
    min-width: 0;
}

.nek-product-card.has-inline-variations
.nek-variation-panel {
    margin-top: 0;
}

.nek-product-card.has-inline-variations
.nek-variation-form {
    display: flex;
    align-items: center;
    gap: 8px;
}

.nek-product-card.has-inline-variations
.nek-variation-attribute {
    flex: 1 1 auto;
    min-width: 0;
}

.nek-product-card.has-inline-variations
.nek-variation-product-link {
    flex: 0 0 auto;
    max-width: 42%;
    overflow: hidden;
    color: var(--nek-card-muted, #777) !important;
    font-size: 10px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nek-product-card.has-inline-variations
.nek-variation-options {
    flex-wrap: nowrap;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
}

.nek-product-card.has-inline-variations
.nek-variation-options::-webkit-scrollbar {
    display: none;
}

.nek-product-card.has-inline-variations
.nek-variation-option {
    flex: 0 0 auto;
    min-width: 34px !important;
    min-height: 32px !important;
    padding: 5px 8px !important;
}

.nek-product-card__action {
    display: flex;
    align-items: flex-end;
    width: 100%;
    min-height: var(
        --nek-card-action-zone,
        42px
    ) !important;
    margin-top: 0 !important;
    padding-top: 10px !important;
}

.nek-product-card__action
.nek-product-card__button,
.nek-product-card__action
.nek-variation-purchase {
    width: 100%;
}

.nek-product-card
.nek-variation-purchase {
    display: flex;
    align-items: stretch;
    gap: 8px;
    margin: 0;
}

.nek-product-card
.nek-variable-add-to-cart[disabled] {
    cursor: not-allowed;
    opacity: .52;
}

.nek-product-card
.nek-variable-add-to-cart[aria-disabled="false"] {
    opacity: 1;
}

.nek-card-height-uniform
.nek-product-grid,
.nek-card-height-equal
.nek-product-grid {
    align-items: stretch !important;
}

.nek-card-height-uniform
.nek-product-card,
.nek-card-height-equal
.nek-product-card {
    height: 100% !important;
    align-self: stretch !important;
}

.nek-card-height-uniform
.nek-product-card__body,
.nek-card-height-equal
.nek-product-card__body {
    height: 100%;
}

.nek-card-height-uniform
.nek-product-card__title,
.nek-card-height-equal
.nek-product-card__title {
    min-height: var(--nek-card-title-zone);
}

.nek-card-height-uniform
.nek-product-card__price-zone,
.nek-card-height-equal
.nek-product-card__price-zone {
    min-height: var(--nek-card-price-zone);
}

.nek-card-height-natural
.nek-product-card__price-zone,
.nek-card-height-natural
.nek-product-card__variation-zone,
.nek-card-height-natural
.nek-product-card__action {
    min-height: 0 !important;
}

.nek-card-height-natural
.nek-product-card__variation-zone[data-empty="1"] {
    display: none;
}

.nek-card-height-natural
.nek-product-card__commerce {
    margin-top: 0;
}

.nek-card-height-uniform
.nek-product-carousel__track,
.nek-card-height-equal
.nek-product-carousel__track {
    align-items: stretch;
}

.nek-card-height-uniform
.nek-product-carousel__item,
.nek-card-height-equal
.nek-product-carousel__item {
    align-items: stretch;
}

.nek-card-height-uniform
.nek-product-carousel__item
> .nek-product-card,
.nek-card-height-equal
.nek-product-carousel__item
> .nek-product-card {
    height: 100% !important;
}

@media (max-width: 767px) {
    .nek-product-card {
        --nek-card-title-zone: 40px;
        --nek-card-price-zone: 50px;
        --nek-card-variation-zone: 42px;
        --nek-card-action-zone: 40px;
    }

    .nek-product-card.has-inline-variations
    .nek-variation-product-link {
        display: none;
    }

    .nek-product-card
    .nek-variation-purchase {
        flex-wrap: nowrap;
    }
}


/* ------------------------------------------------------------------
 * 1.1.23 — Product Card Engine 3.0 Phase 2
 * ------------------------------------------------------------------ */
.nek-product-card.nek-card-media-mode-fixed
.nek-product-card__media {
    height:
        var(
            --nek-card-media-height,
            320px
        ) !important;
    min-height:
        var(
            --nek-card-media-height,
            320px
        ) !important;
    aspect-ratio: auto !important;
}

.nek-product-card.nek-card-media-mode-fixed
.nek-product-card__image-link {
    position: absolute !important;
    inset: 0 !important;
}

.nek-product-card.nek-card-media-mode-fixed
.nek-product-card__image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.nek-product-card.nek-card-align-left
.nek-product-card__body {
    align-items: flex-start;
    text-align: left;
}

.nek-product-card.nek-card-align-center
.nek-product-card__body {
    align-items: center;
    text-align: center;
}

.nek-product-card.nek-card-align-right
.nek-product-card__body {
    align-items: flex-end;
    text-align: right;
}

.nek-product-card.nek-card-align-center
:is(
    .nek-product-card__title,
    .nek-product-card__price-zone,
    .nek-product-card__price,
    .nek-product-card__variation-zone,
    .nek-product-card__commerce,
    .nek-product-card__short-description,
    .nek-product-card__rating,
    .nek-product-card__dynamic-field
) {
    justify-content: center;
    text-align: center;
}

.nek-product-card.nek-card-align-right
:is(
    .nek-product-card__title,
    .nek-product-card__price-zone,
    .nek-product-card__price,
    .nek-product-card__variation-zone,
    .nek-product-card__commerce,
    .nek-product-card__short-description,
    .nek-product-card__rating,
    .nek-product-card__dynamic-field
) {
    justify-content: flex-end;
    text-align: right;
}

.nek-product-card__dynamic-field {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .35em;
    width: 100%;
    min-height: 18px;
    margin: 0 0 6px;
    color:
        var(
            --nek-card-muted,
            #777
        );
    font-size: 11px;
    line-height: 1.35;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.nek-product-card__dynamic-field strong {
    color: inherit;
    font: inherit;
    font-weight: 700;
}

.nek-product-card__dynamic-values {
    display: inline;
}

.nek-product-card__dynamic-field a {
    color: inherit !important;
    text-decoration: none;
}

.nek-product-card__dynamic-field a:hover,
.nek-product-card__dynamic-field a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.nek-product-card__dynamic-field[data-empty="1"] {
    visibility: hidden;
}

.nek-card-height-natural
.nek-product-card__dynamic-field[data-empty="1"] {
    display: none;
}

.nek-product-card.nek-card-button-width-full
.nek-product-card__action
.nek-product-card__button,
.nek-product-card.nek-card-button-width-full
.nek-product-card__action
.nek-variation-purchase {
    width: 100%;
}

.nek-product-card.nek-card-button-width-auto
.nek-product-card__action {
    display: flex;
}

.nek-product-card.nek-card-button-align-left
.nek-product-card__action {
    justify-content: flex-start;
}

.nek-product-card.nek-card-button-align-center
.nek-product-card__action {
    justify-content: center;
}

.nek-product-card.nek-card-button-align-right
.nek-product-card__action {
    justify-content: flex-end;
}

.nek-product-card.nek-card-button-width-auto
.nek-product-card__action
.nek-product-card__button {
    width: auto;
}

.nek-product-card.nek-card-cta-hover
.nek-product-card__action {
    opacity: 0;
    transform: translateY(8px);
    transition:
        opacity .22s ease,
        transform .22s ease;
}

.nek-product-card.nek-card-cta-hover:hover
.nek-product-card__action,
.nek-product-card.nek-card-cta-hover:focus-within
.nek-product-card__action {
    opacity: 1;
    transform: translateY(0);
}

.nek-product-card__media-tools {
    position: absolute;
    z-index: 6;
    top: 12px;
    right: 12px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    opacity: 0;
    transform: translateX(7px);
    transition:
        opacity .2s ease,
        transform .2s ease;
}

.nek-product-card.has-overlay-tools:hover
.nek-product-card__media-tools,
.nek-product-card.has-overlay-tools:focus-within
.nek-product-card__media-tools {
    opacity: 1;
    transform: translateX(0);
}

.nek-product-card__media-tool {
    display: grid !important;
    place-items: center !important;
    width: 38px;
    height: 38px;
    padding: 0 !important;
    border: 1px solid rgba(0,0,0,.1);
    border-radius: 50%;
    color: #111 !important;
    background: rgba(255,255,255,.94);
    box-shadow: 0 4px 18px rgba(0,0,0,.12);
    font-size: 18px;
    line-height: 1;
    text-decoration: none !important;
    backdrop-filter: blur(8px);
}

.nek-product-card__media-tool:hover,
.nek-product-card__media-tool:focus-visible {
    color: #fff !important;
    background: #111;
}

.nek-product-card.is-nek-wishlist-active
[data-nek-wishlist] {
    color: #fff !important;
    background: #111;
}

.nek-card-title-clamp-yes
.nek-product-card__title a,
.nek-product-card
.nek-product-card__title a {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
}

.nek-card-excerpt-clamp-yes
.nek-product-card__short-description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
}

.nek-card-height-uniform
.nek-product-card,
.nek-card-height-equal
.nek-product-card {
    min-height:
        var(
            --nek-card-equal-height,
            auto
        );
}

.nek-card-height-uniform
.nek-product-card__title,
.nek-card-height-equal
.nek-product-card__title {
    min-height:
        var(
            --nek-card-title-zone,
            46px
        );
}

.nek-card-height-uniform
.nek-product-card__short-description,
.nek-card-height-equal
.nek-product-card__short-description {
    min-height:
        var(
            --nek-card-excerpt-zone,
            0px
        );
}

@media (max-width: 767px) {
    .nek-product-card.nek-card-cta-hover
    .nek-product-card__action {
        opacity: 1;
        transform: none;
    }

    .nek-product-card__media-tools {
        top: 8px;
        right: 8px;
        opacity: 1;
        transform: none;
    }

    .nek-product-card__media-tool {
        width: 34px;
        height: 34px;
        font-size: 16px;
    }
}

/* ------------------------------------------------------------------
 * 1.1.24 — Variation Engine + Linked Product Colorways
 * ------------------------------------------------------------------ */
.nek-product-card {
    --nek-card-swatch-size: 36px;
    --nek-card-swatch-gap: 6px;
}

.nek-product-card__variation-zone[data-empty="1"]:not(.is-reserved) {
    display: none;
}

.nek-product-card__variation-zone.is-reserved,
.nek-product-card.has-inline-variations
.nek-product-card__variation-zone {
    min-height: var(--nek-card-variation-zone, 46px);
}

.nek-product-card.nek-variation-position-below_image
> .nek-product-card__variation-zone {
    align-items: center;
    padding: 10px var(--nek-card-body-padding, 0) 0;
}

.nek-product-card.nek-variation-position-above_title
.nek-product-card__variation-zone {
    align-items: center;
    margin-bottom: 8px;
}

.nek-product-card.nek-variation-position-below_price
.nek-product-card__variation-zone,
.nek-product-card.nek-variation-position-above_cta
.nek-product-card__variation-zone {
    align-items: flex-end;
    padding-top: 8px;
}

.nek-product-card.has-inline-variations
.nek-variation-form--compact {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 8px;
    width: 100%;
}

.nek-product-card.has-inline-variations
.nek-variation-form--compact.has-multiple-attributes {
    align-items: flex-end;
}

.nek-product-card.has-inline-variations
.nek-variation-attribute {
    flex: 1 1 0;
    min-width: 0;
}

.nek-product-card.has-inline-variations
.nek-variation-attribute legend {
    overflow: hidden;
    margin: 0 0 5px;
    color: var(--nek-card-muted, #777);
    font-size: 10px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nek-product-card.has-inline-variations
.nek-variation-form--compact.is-single-attribute
.nek-variation-attribute legend {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.nek-product-card .nek-variation-options {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--nek-card-swatch-gap, 6px);
    max-width: 100%;
    overflow: visible;
    padding: 2px;
}

.nek-product-card .nek-variation-option,
.nek-product-card .nek-variation-overflow {
    flex: 0 0 auto;
    min-width: var(--nek-card-swatch-size, 36px) !important;
    min-height: var(--nek-card-swatch-size, 36px) !important;
    margin: 0 !important;
    padding: 5px 8px !important;
    border: 1px solid var(--nek-card-border, #ddd) !important;
    border-radius: 5px;
    color: var(--nek-card-color, #111) !important;
    background: var(--nek-card-bg, #fff) !important;
    box-shadow: none !important;
    font-size: 11px;
    line-height: 1;
    cursor: pointer;
}

.nek-product-card .nek-variation-overflow {
    min-width: auto !important;
    padding-inline: 9px !important;
    color: var(--nek-card-muted, #777) !important;
    font-weight: 700;
}

.nek-product-card .nek-variation-option__color,
.nek-product-card .nek-variation-option img {
    width: calc(var(--nek-card-swatch-size, 36px) - 12px);
    height: calc(var(--nek-card-swatch-size, 36px) - 12px);
}

.nek-product-card .nek-variation-option img {
    border-radius: 3px;
    object-fit: cover;
}

.nek-product-card .nek-variation-option.is-selected {
    border-color: var(--nek-card-color, #111) !important;
    outline: 2px solid var(--nek-card-color, #111);
    outline-offset: 1px;
}

.nek-product-card .nek-variation-option:focus-visible,
.nek-product-card .nek-variation-overflow:focus-visible,
.nek-product-card .nek-variation-attribute select:focus-visible,
.nek-product-card .nek-variable-add-to-cart:focus-visible,
.nek-product-card .nek-linked-product-cta:focus-visible {
    outline: 3px solid currentColor !important;
    outline-offset: 2px !important;
}

.nek-product-card .nek-variation-option:disabled,
.nek-product-card .nek-variation-option.is-unavailable {
    position: relative;
    opacity: .38;
    cursor: not-allowed;
}

.nek-product-card .nek-variation-option:disabled::after,
.nek-product-card .nek-variation-option.is-unavailable::after,
.nek-product-card .nek-variation-option.is-out-of-stock::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 4px;
    left: 4px;
    height: 1px;
    background: currentColor;
    transform: rotate(-35deg);
    transform-origin: center;
    pointer-events: none;
}

.nek-product-card .nek-variation-status {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 42%;
    overflow: hidden;
    color: var(--nek-card-muted, #777);
    font-size: 10px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nek-product-card .nek-linked-colorway-form
.nek-variation-status {
    max-width: 36%;
}

.nek-product-card .nek-variation-product-link {
    flex: 0 0 auto;
}

.nek-product-card .nek-variation-panel,
.nek-product-card .nek-linked-colorways
.nek-variation-panel {
    margin-top: 0;
}

.nek-product-card .nek-linked-purchase {
    width: 100%;
}

.nek-product-card .nek-linked-product-cta[aria-disabled="true"] {
    opacity: .55;
}

.nek-product-card .nek-product-card__image--secondary[hidden] {
    display: none !important;
}

.nek-product-card--dark .nek-variation-option,
.nek-product-card--dark .nek-variation-overflow {
    border-color: rgba(255,255,255,.24) !important;
    color: #fff !important;
    background: rgba(255,255,255,.06) !important;
}

@media (max-width: 767px) {
    .nek-product-card.nek-variation-mobile-scroll
    .nek-variation-options {
        overflow-x: auto;
        overflow-y: hidden;
        padding: 3px 2px 5px;
        scrollbar-width: none;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .nek-product-card.nek-variation-mobile-scroll
    .nek-variation-options::-webkit-scrollbar {
        display: none;
    }

    .nek-product-card .nek-variation-option,
    .nek-product-card .nek-variation-overflow {
        min-width: max(44px, var(--nek-card-swatch-size, 36px)) !important;
        min-height: max(44px, var(--nek-card-swatch-size, 36px)) !important;
    }

    .nek-product-card.has-inline-variations
    .nek-variation-form--compact {
        align-items: center;
    }

    .nek-product-card .nek-variation-status,
    .nek-product-card .nek-variation-product-link {
        display: none;
    }
}

/* ------------------------------------------------------------------
 * 1.1.24.1 — Variation Engine performance + compact pricing
 * ------------------------------------------------------------------ */
.nek-product-card {
    --nek-card-price-zone: 32px;
    --nek-card-variation-zone: 42px;
}

.nek-product-card__commerce,
.nek-card-height-equal .nek-product-card__commerce {
    margin-top: 8px;
}

.nek-product-card__price-zone {
    align-items: center;
    min-height: var(--nek-card-price-zone, 32px);
}

.nek-product-card__price {
    margin-top: 0;
    line-height: 1.25;
}

.nek-price-stack,
.nek-price-line {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    min-width: 0;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: baseline;
    justify-content: inherit;
    gap: 6px;
    min-height: 0;
    line-height: inherit;
    vertical-align: baseline;
    white-space: nowrap;
}

.nek-price-stack--native {
    gap: 7px;
}

.nek-price-stack--native > del,
.nek-price-stack--native > ins,
.nek-price-stack--native > .amount,
.nek-price-line > del,
.nek-price-line > ins {
    display: inline-flex;
    align-items: baseline;
    width: auto;
    margin: 0 !important;
    white-space: nowrap;
}

.nek-price-stack--native > del,
.nek-price-line--regular {
    color: var(
        --nek-card-old-price-color,
        var(--nek-card-muted, #888)
    );
    font-size: .82em;
    font-weight: 400;
    opacity: .78;
}

.nek-price-stack--native > ins,
.nek-price-line--current {
    color: var(
        --nek-card-price-color,
        var(--nek-card-color, #111)
    );
    font-weight: 650;
    text-decoration: none !important;
}

.nek-product-card__action,
.nek-card-height-uniform .nek-product-card__action,
.nek-card-height-equal .nek-product-card__action {
    padding-top: 10px;
}

.nek-product-card.has-inline-variations
.nek-product-card__variation-zone {
    min-height: var(--nek-card-variation-zone, 42px);
}

.nek-product-card.has-inline-variations
.nek-variation-form--compact {
    gap: 6px;
}

.nek-product-card.has-inline-variations
.nek-variation-attribute legend {
    margin-bottom: 3px;
}

.nek-product-card .nek-variation-status {
    font-size: 9px;
}

@media (max-width: 767px) {
    .nek-product-card {
        --nek-card-price-zone: 30px;
        --nek-card-variation-zone: 44px;
    }

    .nek-price-stack,
    .nek-price-line {
        gap: 4px;
    }
}

.nek-price-stack--native > .price,
.nek-price-stack--native .price {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: 7px;
    max-width: 100%;
    margin: 0;
    white-space: nowrap;
}

.nek-price-stack--native .price del,
.nek-price-stack--native .price ins {
    display: inline-flex;
    align-items: baseline;
    margin: 0 !important;
    white-space: nowrap;
}

.nek-price-stack--native .price del {
    color: var(
        --nek-card-old-price-color,
        var(--nek-card-muted, #888)
    );
    font-size: .82em;
    font-weight: 400;
    opacity: .78;
}

.nek-price-stack--native .price ins {
    color: var(
        --nek-card-price-color,
        var(--nek-card-color, #111)
    );
    font-weight: 650;
    text-decoration: none !important;
}

/* ------------------------------------------------------------------
 * 1.1.24.2 — SSR Variation Engine + stable first paint
 * ------------------------------------------------------------------ */
.nek-product-card.is-variable-product.has-inline-variations {
    --nek-card-price-zone: 30px;
    --nek-card-variation-zone: 40px;
}

.nek-product-card.is-variable-product.has-inline-variations
.nek-product-card__commerce {
    margin-top: 6px;
}

.nek-product-card.is-variable-product.has-inline-variations
.nek-product-card__price-zone {
    min-height: var(--nek-card-price-zone, 30px);
}

.nek-product-card.is-variable-product.has-inline-variations
.nek-product-card__variation-zone {
    min-height: var(--nek-card-variation-zone, 40px);
    padding-top: 4px;
}

.nek-product-card .nek-product-variations.is-server-rendered
.nek-variation-form--compact {
    align-items: center;
    gap: 6px;
}

.nek-product-card .nek-product-variations.is-server-rendered
.nek-variation-status {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.nek-product-card .nek-product-variations.is-server-rendered
.nek-variation-options {
    padding-block: 1px;
}

.nek-product-card .nek-product-variations.is-server-rendered
.nek-variation-option,
.nek-product-card .nek-product-variations.is-server-rendered
.nek-variation-overflow {
    min-height: 34px !important;
    padding-block: 4px !important;
}

.nek-product-card.is-variable-product.has-inline-variations
.nek-product-card__action {
    padding-top: 8px;
}

.nek-product-card.is-variable-product.has-inline-variations
.nek-price-stack,
.nek-product-card.is-variable-product.has-inline-variations
.nek-price-line,
.nek-product-card.is-variable-product.has-inline-variations
.nek-price-stack .price {
    flex-wrap: nowrap;
    white-space: nowrap;
}

.nek-product-card.is-variable-product.has-inline-variations
.nek-price-line--regular,
.nek-product-card.is-variable-product.has-inline-variations
.nek-price-stack--native del {
    font-size: .76em;
}

@media (max-width: 767px) {
    .nek-product-card.is-variable-product.has-inline-variations {
        --nek-card-price-zone: 30px;
        --nek-card-variation-zone: 46px;
    }

    .nek-product-card .nek-product-variations.is-server-rendered
    .nek-variation-option,
    .nek-product-card .nek-product-variations.is-server-rendered
    .nek-variation-overflow {
        min-width: 44px !important;
        min-height: 44px !important;
    }
}

/* ------------------------------------------------------------------
 * 1.1.24.3 — Variation UX, CTA motion and unified media pipeline
 * ------------------------------------------------------------------ */
.nek-product-card {
    --nek-swatch-min-width: 38px;
    --nek-swatch-fixed-width: 56px;
    --nek-swatch-height: 38px;
    --nek-swatch-padding-top: 7px;
    --nek-swatch-padding-right: 11px;
    --nek-swatch-padding-bottom: 7px;
    --nek-swatch-padding-left: 11px;
    --nek-swatch-content-align: center;
    --nek-swatch-column-gap: 6px;
    --nek-swatch-row-gap: 6px;
    --nek-swatch-border-width: 1px;
    --nek-swatch-border-style: solid;
    --nek-swatch-color: var(--nek-card-color, #111);
    --nek-swatch-bg: var(--nek-card-bg, #fff);
    --nek-swatch-border: var(--nek-card-border, #d9d9d9);
    --nek-swatch-hover-color: var(--nek-card-color, #111);
    --nek-swatch-hover-bg: #f5f5f5;
    --nek-swatch-hover-border: #aaa;
    --nek-swatch-active-color: var(--nek-card-button-color, #fff);
    --nek-swatch-active-bg: var(--nek-card-button-bg, #111);
    --nek-swatch-active-border: var(--nek-card-button-bg, #111);
    --nek-swatch-active-ring: var(--nek-card-button-bg, #111);
    --nek-swatch-active-ring-width: 0px;
    --nek-swatch-focus-ring: #2166d1;
    --nek-swatch-focus-ring-width: 2px;
    --nek-swatch-disabled-color: var(--nek-card-muted, #888);
    --nek-swatch-disabled-bg: var(--nek-card-bg, #fff);
    --nek-swatch-disabled-border: var(--nek-card-border, #ddd);
    --nek-swatch-disabled-strike: currentColor;
    --nek-swatch-disabled-opacity: .42;
    --nek-swatch-label-color: var(--nek-card-muted, #777);
    --nek-color-swatch-size: 24px;
    --nek-image-swatch-size: 38px;
    --nek-variation-attribute-gap: 8px;
    --nek-variation-zone-spacing: 6px;
    --nek-dropdown-color: var(--nek-card-color, #111);
    --nek-dropdown-bg: var(--nek-card-bg, #fff);
    --nek-dropdown-border: var(--nek-card-border, #ddd);
    --nek-card-cta-shift: 54px;
    --nek-card-cta-duration: 240ms;
    --nek-card-cta-inset: 12px;
    --nek-button-border-style: solid;
    --nek-button-border-width: 1px;
    --nek-button-border-color: var(--nek-card-button-border, #111);
    --nek-button-hover-border-color: var(--nek-card-button-border, #333);
    --nek-button-focus-border-color: var(--nek-card-button-border, #111);
    --nek-button-focus-ring-color: #2166d1;
    --nek-button-focus-ring-width: 2px;
    --nek-button-disabled-border-color: var(--nek-card-border, #ddd);
}

.nek-product-card__price {
    container-type: inline-size;
}

.nek-product-card__price .nek-price-stack.is-range {
    gap: clamp(3px, 1.4cqi, 7px);
    max-width: 100%;
    font-size: clamp(11px, 5.1cqi, 1em);
    letter-spacing: -.025em;
}

.nek-product-card__price .nek-price-stack.is-range,
.nek-product-card__price .nek-price-stack.is-range .price,
.nek-product-card__price .nek-price-stack.is-range .nek-price-line {
    min-width: 0;
    white-space: nowrap;
}

.nek-product-card__price .nek-price-stack.is-range br {
    display: none !important;
}

.nek-product-card__price .nek-price-stack.is-range .price {
    column-gap: clamp(3px, 1.2cqi, 7px);
}

.nek-product-card__price .nek-price-stack.is-range .nek-price-line--regular,
.nek-product-card__price .nek-price-stack.is-range del {
    flex: 0 1 auto;
}

.nek-product-card__price .nek-price-stack.is-range .nek-price-line--current,
.nek-product-card__price .nek-price-stack.is-range ins {
    flex: 0 1 auto;
}

.nek-product-card.has-inline-variations
.nek-product-card__variation-zone {
    padding-top: var(--nek-variation-zone-spacing, 6px);
}

.nek-product-card.has-inline-variations
.nek-variation-form--compact {
    gap: var(--nek-variation-attribute-gap, 8px);
}

.nek-product-card .nek-variation-attribute legend {
    color: var(--nek-swatch-label-color, var(--nek-card-muted, #777));
}

.nek-variation-labels-hide
.nek-product-card .nek-variation-attribute legend,
.nek-variation-labels-auto
.nek-product-card.has-inline-variations
.nek-variation-form--compact.is-single-attribute
.nek-variation-attribute legend {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.nek-variation-labels-show
.nek-product-card.has-inline-variations
.nek-variation-form--compact.is-single-attribute
.nek-variation-attribute legend {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 5px !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
}

.nek-product-card .nek-variation-option,
.nek-product-card .nek-variation-overflow {
    min-width: var(--nek-swatch-min-width, 38px) !important;
    min-height: var(--nek-swatch-height, 38px) !important;
    padding:
        var(--nek-swatch-padding-top, 7px)
        var(--nek-swatch-padding-right, 11px)
        var(--nek-swatch-padding-bottom, 7px)
        var(--nek-swatch-padding-left, 11px) !important;
    border-width: var(--nek-swatch-border-width, 1px) !important;
    border-style: var(--nek-swatch-border-style, solid) !important;
    border-color: var(--nek-swatch-border, var(--nek-card-border, #ddd)) !important;
    color: var(--nek-swatch-color, var(--nek-card-color, #111)) !important;
    background: var(--nek-swatch-bg, var(--nek-card-bg, #fff)) !important;
    box-sizing: border-box !important;
    justify-content: var(--nek-swatch-content-align, center) !important;
    outline: 0 !important;
    box-shadow: none !important;
    transition:
        color .16s ease,
        background-color .16s ease,
        border-color .16s ease,
        box-shadow .16s ease,
        opacity .16s ease,
        transform .16s ease;
}

.nek-product-card .nek-variation-options {
    column-gap: var(--nek-swatch-column-gap, 6px) !important;
    row-gap: var(--nek-swatch-row-gap, 6px) !important;
}

.nek-swatch-width-auto .nek-product-card .nek-variation-option,
.nek-swatch-width-auto .nek-product-card .nek-variation-overflow {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
}

.nek-swatch-width-minimum .nek-product-card .nek-variation-option,
.nek-swatch-width-minimum .nek-product-card .nek-variation-overflow {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: var(--nek-swatch-min-width, 38px) !important;
}

.nek-swatch-width-fixed .nek-product-card .nek-variation-option,
.nek-swatch-width-fixed .nek-product-card .nek-variation-overflow {
    flex: 0 0 var(--nek-swatch-fixed-width, 56px) !important;
    width: var(--nek-swatch-fixed-width, 56px) !important;
    min-width: var(--nek-swatch-fixed-width, 56px) !important;
}

.nek-swatch-width-equal .nek-product-card .nek-variation-option,
.nek-swatch-width-equal .nek-product-card .nek-variation-overflow {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
}

.nek-swatch-width-full .nek-product-card .nek-variation-option,
.nek-swatch-width-full .nek-product-card .nek-variation-overflow {
    flex: 1 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
}

.nek-swatch-width-full .nek-product-card .nek-variation-options {
    flex-wrap: wrap !important;
}

.nek-swatch-height-auto .nek-product-card .nek-variation-option,
.nek-swatch-height-auto .nek-product-card .nek-variation-overflow {
    height: auto !important;
    min-height: 0 !important;
}

.nek-swatch-height-minimum .nek-product-card .nek-variation-option,
.nek-swatch-height-minimum .nek-product-card .nek-variation-overflow {
    height: auto !important;
    min-height: var(--nek-swatch-height, 38px) !important;
}

.nek-swatch-height-fixed .nek-product-card .nek-variation-option,
.nek-swatch-height-fixed .nek-product-card .nek-variation-overflow {
    height: var(--nek-swatch-height, 38px) !important;
    min-height: var(--nek-swatch-height, 38px) !important;
}

.nek-product-card .nek-variation-option:hover:not(:disabled),
.nek-product-card .nek-variation-overflow:hover {
    border-color: var(--nek-swatch-hover-border, #aaa) !important;
    color: var(--nek-swatch-hover-color, var(--nek-card-color, #111)) !important;
    background: var(--nek-swatch-hover-bg, #f5f5f5) !important;
}

.nek-product-card .nek-variation-option.is-selected {
    border-color: var(--nek-swatch-active-border, var(--nek-card-color, #111)) !important;
    color: var(--nek-swatch-active-color, var(--nek-card-color, #111)) !important;
    background: var(--nek-swatch-active-bg, var(--nek-card-bg, #fff)) !important;
    outline: 0 !important;
    box-shadow:
        0 0 0 var(--nek-swatch-active-ring-width, 1px)
        var(--nek-swatch-active-ring, var(--nek-card-color, #111)) !important;
}

.nek-product-card .nek-variation-option:focus,
.nek-product-card .nek-variation-overflow:focus {
    outline: 0 !important;
}

.nek-product-card .nek-variation-option:focus-visible,
.nek-product-card .nek-variation-overflow:focus-visible,
.nek-product-card .nek-variation-attribute select:focus-visible {
    outline: 0 !important;
    box-shadow:
        0 0 0 var(--nek-swatch-focus-ring-width, 2px)
        var(--nek-swatch-focus-ring, #2166d1) !important;
}

.nek-product-card .nek-variation-option.is-selected:focus-visible {
    box-shadow:
        0 0 0 var(--nek-swatch-active-ring-width, 1px)
        var(--nek-swatch-active-ring, var(--nek-card-color, #111)),
        0 0 0 calc(
            var(--nek-swatch-active-ring-width, 1px)
            + var(--nek-swatch-focus-ring-width, 2px)
            + 2px
        )
        var(--nek-swatch-focus-ring, #2166d1) !important;
}

.nek-product-card .nek-variation-option:disabled,
.nek-product-card .nek-variation-option.is-unavailable {
    border-color: var(--nek-swatch-disabled-border, var(--nek-card-border, #ddd)) !important;
    color: var(--nek-swatch-disabled-color, var(--nek-card-muted, #888)) !important;
    background: var(--nek-swatch-disabled-bg, var(--nek-card-bg, #fff)) !important;
    opacity: var(--nek-swatch-disabled-opacity, .42);
}

.nek-product-card .nek-variation-option:disabled::after,
.nek-product-card .nek-variation-option.is-unavailable::after,
.nek-product-card .nek-variation-option.is-out-of-stock::after {
    background: var(--nek-swatch-disabled-strike, currentColor);
}

.nek-product-card .nek-variation-option__color {
    width: var(--nek-color-swatch-size, 24px);
    height: var(--nek-color-swatch-size, 24px);
}

.nek-product-card .nek-variation-option img {
    width: var(--nek-image-swatch-size, 38px);
    height: var(--nek-image-swatch-size, 38px);
}

.nek-product-card .nek-variation-attribute select {
    border-color: var(--nek-dropdown-border, var(--nek-card-border, #ddd));
    color: var(--nek-dropdown-color, var(--nek-card-color, #111));
    background: var(--nek-dropdown-bg, var(--nek-card-bg, #fff));
}

:is(
    .nek-button-border-style-none,
    .nek-button-border-style-solid,
    .nek-button-border-style-dashed,
    .nek-button-border-style-dotted,
    .nek-button-border-style-double
) .nek-product-card .nek-product-card__button {
    border-style: var(--nek-button-border-style, solid) !important;
    border-width: var(--nek-button-border-width, 1px) !important;
    border-color: var(
        --nek-button-border-color,
        var(--nek-card-button-border, #111)
    ) !important;
}

:is(
    .nek-button-border-style-none,
    .nek-button-border-style-solid,
    .nek-button-border-style-dashed,
    .nek-button-border-style-dotted,
    .nek-button-border-style-double
) .nek-product-card .nek-product-card__button:hover {
    border-color: var(
        --nek-button-hover-border-color,
        var(--nek-card-button-border, #333)
    ) !important;
}

:is(
    .nek-button-border-style-none,
    .nek-button-border-style-solid,
    .nek-button-border-style-dashed,
    .nek-button-border-style-dotted,
    .nek-button-border-style-double
) .nek-product-card .nek-product-card__button:focus-visible {
    border-color: var(
        --nek-button-focus-border-color,
        var(--nek-card-button-border, #111)
    ) !important;
    outline: 0 !important;
    box-shadow:
        0 0 0 var(--nek-button-focus-ring-width, 2px)
        var(--nek-button-focus-ring-color, #2166d1) !important;
}

:is(
    .nek-button-border-style-none,
    .nek-button-border-style-solid,
    .nek-button-border-style-dashed,
    .nek-button-border-style-dotted,
    .nek-button-border-style-double
) .nek-product-card .nek-product-card__button:disabled,
:is(
    .nek-button-border-style-none,
    .nek-button-border-style-solid,
    .nek-button-border-style-dashed,
    .nek-button-border-style-dotted,
    .nek-button-border-style-double
) .nek-product-card .nek-product-card__button[aria-disabled="true"] {
    border-color: var(
        --nek-button-disabled-border-color,
        var(--nek-card-border, #ddd)
    ) !important;
}

.nek-product-card .nek-variable-add-to-cart.is-idle {
    cursor: pointer;
    opacity: 1;
}

.nek-product-card .nek-variable-add-to-cart.is-unavailable,
.nek-product-card .nek-variable-add-to-cart:disabled {
    cursor: not-allowed;
    opacity: .5;
}

.nek-product-card.is-choice-prompt
.nek-variation-options {
    animation: nek-choice-prompt 420ms ease;
}

@keyframes nek-choice-prompt {
    0%, 100% { transform: translateX(0); }
    30% { transform: translateX(4px); }
    65% { transform: translateX(-3px); }
}

.nek-product-card__body {
    transition: transform var(--nek-card-cta-duration, 240ms) ease;
    will-change: auto;
}

.nek-product-card__action {
    transition:
        opacity var(--nek-card-cta-duration, 240ms) ease,
        transform var(--nek-card-cta-duration, 240ms) ease;
}

.nek-product-card__action--media {
    position: absolute;
    z-index: 7;
    right: var(--nek-card-cta-inset, 12px);
    bottom: var(--nek-card-cta-inset, 12px);
    left: var(--nek-card-cta-inset, 12px);
    width: auto;
    min-height: 0 !important;
    padding: 0 !important;
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
}

.nek-product-card.nek-card-cta-overlay:hover
.nek-product-card__action--media,
.nek-product-card.nek-card-cta-overlay:focus-within
.nek-product-card__action--media,
.nek-product-card--hover-actions:hover
.nek-product-card__action--media,
.nek-product-card--hover-actions:focus-within
.nek-product-card__action--media {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

@media (hover: hover) and (pointer: fine) {
    .nek-product-card.nek-card-cta-lift
    .nek-product-card__action--flow,
    .nek-product-card.nek-card-cta-compact-reveal
    .nek-product-card__action--flow {
        position: absolute;
        z-index: 7;
        right: var(--nek-card-body-padding, 18px);
        bottom: var(--nek-card-body-padding, 18px);
        left: var(--nek-card-body-padding, 18px);
        width: auto;
        min-height: 0 !important;
        padding: 0 !important;
        opacity: 0;
        transform: translateY(18px);
        pointer-events: none;
    }

    .nek-product-card.nek-card-cta-lift:hover
    .nek-product-card__body,
    .nek-product-card.nek-card-cta-lift:focus-within
    .nek-product-card__body {
        transform: translateY(calc(-1 * var(--nek-card-cta-shift, 54px)));
    }

    .nek-product-card.nek-card-cta-compact-reveal:hover
    .nek-product-card__body,
    .nek-product-card.nek-card-cta-compact-reveal:focus-within
    .nek-product-card__body {
        transform: translateY(calc(-1 * var(--nek-card-cta-shift, 54px)));
    }

    .nek-product-card.nek-card-cta-lift:hover
    .nek-product-card__action--flow,
    .nek-product-card.nek-card-cta-lift:focus-within
    .nek-product-card__action--flow,
    .nek-product-card.nek-card-cta-compact-reveal:hover
    .nek-product-card__action--flow,
    .nek-product-card.nek-card-cta-compact-reveal:focus-within
    .nek-product-card__action--flow {
        opacity: 1;
        transform: translateY(var(--nek-card-cta-shift, 54px));
        pointer-events: auto;
    }
}

.nek-product-card.is-touch-flow
.nek-product-card__body {
    transform: none !important;
}

.nek-product-card.is-touch-flow
.nek-product-card__action,
.nek-product-card.is-touch-flow
.nek-product-card__action--media,
.nek-product-card.is-touch-flow
.nek-product-card__action--flow {
    position: static !important;
    width: 100% !important;
    min-height: var(--nek-card-action-zone, 42px) !important;
    padding-top: 10px !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
}

.nek-product-card__image[data-nek-media-image] {
    opacity: 1;
}

.nek-product-card__image.is-nek-image-updating {
    opacity: .72;
}

.nek-product-card__image.is-nek-image-ready {
    opacity: 1;
}

@media (hover: none), (pointer: coarse) {
    .nek-product-card .nek-variation-option,
    .nek-product-card .nek-variation-overflow {
        min-width: max(44px, var(--nek-swatch-min-width, 38px)) !important;
        min-height: max(44px, var(--nek-swatch-height, 38px)) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nek-product-card__body,
    .nek-product-card__action,
    .nek-product-card__image[data-nek-media-image] {
        transition: none !important;
    }

    .nek-product-card.is-choice-prompt
    .nek-variation-options {
        animation: none !important;
    }
}

@media (hover: hover) and (pointer: fine) {
    .nek-product-card.nek-card-cta-lift
    .nek-product-card__body,
    .nek-product-card.nek-card-cta-compact-reveal
    .nek-product-card__body {
        position: relative;
    }

    .nek-product-card.nek-card-cta-compact-reveal:hover
    .nek-product-card__body,
    .nek-product-card.nek-card-cta-compact-reveal:focus-within
    .nek-product-card__body {
        transform: translateY(
            calc(-1 * min(var(--nek-card-cta-shift, 54px), 30px))
        );
    }

    .nek-product-card.nek-card-cta-compact-reveal:hover
    .nek-product-card__action--flow,
    .nek-product-card.nek-card-cta-compact-reveal:focus-within
    .nek-product-card__action--flow {
        transform: translateY(
            min(var(--nek-card-cta-shift, 54px), 30px)
        );
    }
}

/* ------------------------------------------------------------------
 * 1.1.24.4 — Commerce-only CTA motion, server colorways and media fix
 * ------------------------------------------------------------------ */
@media (hover: hover) and (pointer: fine) {
    .nek-product-card.nek-card-cta-lift,
    .nek-product-card.nek-card-cta-compact-reveal {
        --nek-card-cta-effective-shift: var(
            --nek-card-cta-measured-height,
            var(--nek-card-cta-shift, 54px)
        );
    }

    .nek-product-card.nek-card-cta-lift
    .nek-product-card__body,
    .nek-product-card.nek-card-cta-compact-reveal
    .nek-product-card__body {
        position: relative;
        overflow: hidden;
        transform: none !important;
    }

    .nek-product-card.nek-card-cta-lift
    .nek-product-card__body > :not(.nek-product-card__commerce):not(.nek-product-card__notice),
    .nek-product-card.nek-card-cta-compact-reveal
    .nek-product-card__body > :not(.nek-product-card__commerce):not(.nek-product-card__notice) {
        position: relative;
        z-index: 2;
        background: var(--nek-card-bg, #fff);
    }

    .nek-product-card.nek-card-cta-lift
    .nek-product-card__commerce,
    .nek-product-card.nek-card-cta-compact-reveal
    .nek-product-card__commerce {
        position: relative;
        z-index: 1;
        transform: translateY(0);
        transition: transform var(--nek-card-cta-duration, 240ms) ease;
        will-change: transform;
    }

    .nek-product-card.nek-card-cta-lift
    .nek-product-card__action--flow,
    .nek-product-card.nek-card-cta-compact-reveal
    .nek-product-card__action--flow {
        position: absolute !important;
        z-index: 3;
        top: calc(100% + 10px);
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 0 !important;
        opacity: 0;
        transform: translateY(8px);
        pointer-events: none;
    }

    .nek-product-card.nek-card-cta-lift:hover
    .nek-product-card__commerce,
    .nek-product-card.nek-card-cta-lift:focus-within
    .nek-product-card__commerce,
    .nek-product-card.nek-card-cta-compact-reveal:hover
    .nek-product-card__commerce,
    .nek-product-card.nek-card-cta-compact-reveal:focus-within
    .nek-product-card__commerce {
        transform: translateY(
            calc(-1 * var(--nek-card-cta-effective-shift))
        );
    }

    .nek-product-card.nek-card-cta-lift:hover
    .nek-product-card__action--flow,
    .nek-product-card.nek-card-cta-lift:focus-within
    .nek-product-card__action--flow,
    .nek-product-card.nek-card-cta-compact-reveal:hover
    .nek-product-card__action--flow,
    .nek-product-card.nek-card-cta-compact-reveal:focus-within
    .nek-product-card__action--flow {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
}

.nek-product-card.is-touch-flow
.nek-product-card__commerce {
    transform: none !important;
}

.nek-linked-colorways.is-server-rendered
.nek-variation-loading {
    display: none !important;
}

.nek-linked-colorway-option.is-out-of-stock {
    position: relative;
}

.nek-product-card__image[data-nek-eager="1"] {
    content-visibility: visible;
}

@media (prefers-reduced-motion: reduce) {
    .nek-product-card.nek-card-cta-lift
    .nek-product-card__commerce,
    .nek-product-card.nek-card-cta-compact-reveal
    .nek-product-card__commerce {
        transition: none !important;
    }
}


/* ------------------------------------------------------------------
 * 1.1.25 — Product Meta Row and seven-card preset library
 * ------------------------------------------------------------------ */
.nek-product-card__meta-row {
    display: flex;
    min-width: 0;
    margin: 0 0 8px;
    gap: 6px;
    align-items: center;
    color: var(--nek-card-muted, #777);
    font-size: 11px;
    line-height: 1.35;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.nek-product-card__meta-row.is-inline {
    flex-wrap: nowrap;
    overflow: hidden;
    white-space: nowrap;
}

.nek-product-card__meta-row.is-stacked {
    flex-direction: column;
    align-items: var(--nek-card-content-items-desktop, flex-start);
}

.nek-product-card__meta-item {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nek-product-card__meta-row a {
    color: inherit;
    text-decoration: none;
    transition: color .18s ease;
}

.nek-product-card__meta-row a:hover,
.nek-product-card__meta-row a:focus-visible {
    color: var(--nek-card-color, #111);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.nek-product-card__meta-separator {
    flex: 0 0 auto;
    opacity: .55;
}

/* Generic cards are Flow-only in 1.1.25. Legacy saved motion values
 * are normalized server-side, and these guards prevent stale CSS from
 * reserving or translating content after an update. */
.nek-product-card:not(.nek-product-card--hover-actions)
.nek-product-card__body,
.nek-product-card:not(.nek-product-card--hover-actions)
.nek-product-card__commerce,
.nek-product-card:not(.nek-product-card--hover-actions)
.nek-product-card__action--flow {
    transform: none !important;
}

.nek-product-card:not(.nek-product-card--hover-actions)
.nek-product-card__action--flow {
    position: static !important;
    width: var(--nek-card-button-width, 100%);
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* 01 Minimal */
.nek-product-card--system-minimal {
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.nek-product-card--system-minimal .nek-product-card__body {
    padding: 12px 0 0;
}

.nek-product-card--system-minimal .nek-product-card__button {
    width: auto;
    min-height: 34px;
    padding: 6px 0;
    border: 0;
    border-bottom: 1px solid currentColor;
    border-radius: 0;
    color: var(--nek-card-color, #111);
    background: transparent;
}

/* 02 Bordered */
.nek-product-card--system-bordered {
    border: 1px solid var(--nek-card-border, #dedede);
    background: var(--nek-card-bg, #fff);
    overflow: hidden;
}

.nek-product-card--system-bordered .nek-product-card__button {
    width: 100%;
}

/* 03 Minimal Bordered: media frame, open body. */
.nek-product-card--minimal-bordered,
.nek-product-card--system-minimal-bordered {
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.nek-product-card--minimal-bordered .nek-product-card__media,
.nek-product-card--system-minimal-bordered .nek-product-card__media {
    overflow: hidden;
    border: 1px solid var(--nek-card-border, #e6e6e6);
    border-radius: var(--nek-card-radius, 12px);
    background: var(--nek-card-media-bg, #f7f7f7);
}

.nek-product-card--minimal-bordered .nek-product-card__body,
.nek-product-card--system-minimal-bordered .nek-product-card__body {
    padding: var(--nek-card-body-padding, 12px 2px 0);
}

/* 04 Variation Focus */
.nek-product-card--variation-focus,
.nek-product-card--system-variation-focus {
    border: 1px solid var(--nek-card-border, #e2e2e2);
    background: var(--nek-card-bg, #fff);
}

.nek-product-card--variation-focus .nek-product-card__body,
.nek-product-card--system-variation-focus .nek-product-card__body {
    padding: var(--nek-card-body-padding, 16px);
}

.nek-product-card--variation-focus .nek-product-card__variation-zone,
.nek-product-card--system-variation-focus .nek-product-card__variation-zone {
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1px solid var(--nek-card-border, #ddd);
}

.nek-product-card--variation-focus .nek-variation-option,
.nek-product-card--system-variation-focus .nek-variation-option {
    min-height: 38px !important;
    padding-inline: 11px !important;
    border-radius: 8px !important;
}

.nek-product-card--variation-focus .nek-product-card__button,
.nek-product-card--system-variation-focus .nek-product-card__button {
    width: 100%;
}

/* 05 Hover Actions: action is a real media overlay, no empty body slot. */
.nek-product-card--system-hover-actions {
    overflow: hidden;
    background: var(--nek-card-bg, #fff);
}

.nek-product-card--system-hover-actions .nek-product-card__body {
    padding: 14px 0 0;
}

.nek-product-card--system-hover-actions .nek-product-card__action--media {
    right: 14px;
    bottom: 14px;
    left: 14px;
    padding: 0 !important;
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
}

.nek-product-card--system-hover-actions:hover .nek-product-card__action--media,
.nek-product-card--system-hover-actions:focus-within .nek-product-card__action--media {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.nek-product-card--system-hover-actions .nek-product-card__action--media .nek-product-card__button {
    width: 100%;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
}

/* 06 Premium Beauty */
.nek-product-card--system-premium-beauty {
    border: 1px solid var(--nek-card-border, #e6ddd6);
    background: var(--nek-card-bg, #faf7f4);
    box-shadow: var(--nek-card-shadow);
}

.nek-product-card--system-premium-beauty .nek-product-card__body {
    padding: var(--nek-card-body-padding, 20px);
    text-align: center;
    align-items: center;
}

.nek-product-card--system-premium-beauty .nek-product-card__meta-row,
.nek-product-card--system-premium-beauty .nek-variation-options {
    justify-content: center;
}

.nek-product-card--system-premium-beauty .nek-variation-option,
.nek-product-card--system-premium-beauty .nek-product-card__button {
    border-radius: 999px !important;
}

.nek-product-card--system-premium-beauty .nek-product-card__button {
    width: 100%;
}

/* 07 Dark — preserve light links in all interaction states. */
.nek-product-card--system-dark,
.nek-product-card--dark {
    border: 1px solid var(--nek-card-border, #303030);
    color: var(--nek-card-color, #fff);
    background: var(--nek-card-bg, #151515);
}

.nek-product-card--system-dark .nek-product-card__body,
.nek-product-card--dark .nek-product-card__body {
    padding: 18px;
}

.nek-product-card--system-dark a,
.nek-product-card--system-dark a:hover,
.nek-product-card--system-dark a:focus,
.nek-product-card--system-dark a:visited,
.nek-product-card--dark a,
.nek-product-card--dark a:hover,
.nek-product-card--dark a:focus,
.nek-product-card--dark a:visited {
    color: var(--nek-card-color, #fff);
}

.nek-product-card--system-dark .nek-variation-option {
    color: #fff;
    border-color: #555;
    background: #242424;
}

.nek-product-card--system-dark .nek-variation-option[aria-pressed="true"] {
    color: #111;
    border-color: #fff;
    background: #fff;
}

@media (hover: none), (pointer: coarse) {
    .nek-product-card--system-hover-actions .nek-product-card__action--media {
        position: static;
        width: 100%;
        padding-top: 10px !important;
        opacity: 1;
        transform: none;
        pointer-events: auto;
    }
}

@media (max-width: 1024px) {
    .nek-product-card__meta-row.is-stacked {
        align-items: var(--nek-card-content-items-tablet, flex-start);
    }
}

@media (max-width: 767px) {
    .nek-product-card__meta-row {
        font-size: 10px;
    }

    .nek-product-card__meta-row.is-stacked {
        align-items: var(--nek-card-content-items-mobile, flex-start);
    }
}


/* 1.1.25 Hover Actions touch fallback: keep the single CTA visible
 * as a stable media overlay. Do not move it into the fixed-ratio media
 * flow, which would distort or clip the product image. */
@media (hover: none), (pointer: coarse) {
    .nek-product-card--system-hover-actions.is-touch-flow
    .nek-product-card__action--media,
    .nek-product-card--system-hover-actions
    .nek-product-card__action--media {
        position: absolute !important;
        right: 12px !important;
        bottom: 12px !important;
        left: 12px !important;
        width: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        transform: none !important;
        pointer-events: auto !important;
    }
}

/* Variation Focus structural slot: swatches sit directly below media. */
.nek-product-card--variation-focus > .nek-product-card__variation-zone,
.nek-product-card--system-variation-focus > .nek-product-card__variation-zone {
    margin: 0;
    padding: 12px 16px;
    border-top: 1px solid var(--nek-card-border, #e2e2e2);
    border-bottom: 1px solid var(--nek-card-border, #e2e2e2);
    background: var(--nek-card-bg, #fff);
}

.nek-product-card--variation-focus > .nek-product-card__variation-zone:empty,
.nek-product-card--system-variation-focus > .nek-product-card__variation-zone:empty,
.nek-product-card--variation-focus > .nek-product-card__variation-zone[data-empty="1"],
.nek-product-card--system-variation-focus > .nek-product-card__variation-zone[data-empty="1"] {
    display: none;
}


/* ------------------------------------------------------------------
 * 1.1.25.1 — 08 Fixed Grid
 * Every catalog datum owns a stable row. Unlike the other presets,
 * the empty variation slot is intentional so simple and variable
 * products remain vertically aligned in mixed catalog grids.
 * ------------------------------------------------------------------ */
.nek-product-card--fixed-grid,
.nek-product-card--system-fixed-grid {
    --nek-fixed-meta-zone: 20px;
    --nek-fixed-title-zone: 52px;
    --nek-fixed-price-zone: 34px;
    --nek-fixed-variation-zone: 68px;
    --nek-fixed-action-zone: 44px;
    display: flex;
    height: 100% !important;
    min-height: 0 !important;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--nek-card-border, #dedede);
    border-radius: var(--nek-card-radius, 12px);
    background: var(--nek-card-bg, #fff);
    box-shadow: var(--nek-card-shadow, none);
}

.nek-product-card--fixed-grid .nek-product-card__body,
.nek-product-card--system-fixed-grid .nek-product-card__body {
    display: grid;
    flex: 1 1 auto;
    grid-template-rows:
        var(--nek-fixed-meta-zone)
        var(--nek-fixed-title-zone)
        auto;
    row-gap: 8px;
    width: 100%;
    min-height: 0;
    padding: var(--nek-card-body-padding, 16px);
    align-content: stretch;
}

.nek-product-card--fixed-grid .nek-product-card__meta-row,
.nek-product-card--system-fixed-grid .nek-product-card__meta-row {
    width: 100%;
    height: var(--nek-fixed-meta-zone);
    min-height: var(--nek-fixed-meta-zone);
    margin: 0;
    align-self: stretch;
    overflow: hidden;
    white-space: nowrap;
}

.nek-product-card--fixed-grid .nek-product-card__meta-row.is-empty,
.nek-product-card--system-fixed-grid .nek-product-card__meta-row.is-empty {
    visibility: hidden;
}

.nek-product-card--fixed-grid .nek-product-card__title,
.nek-product-card--system-fixed-grid .nek-product-card__title {
    display: flex;
    width: 100%;
    height: var(--nek-fixed-title-zone) !important;
    min-height: var(--nek-fixed-title-zone) !important;
    margin: 0;
    align-items: flex-start;
    overflow: hidden;
}

.nek-product-card--fixed-grid .nek-product-card__title a,
.nek-product-card--system-fixed-grid .nek-product-card__title a {
    display: -webkit-box !important;
    width: 100%;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2 !important;
    text-overflow: ellipsis;
}

.nek-product-card--fixed-grid .nek-product-card__commerce,
.nek-product-card--system-fixed-grid .nek-product-card__commerce {
    display: grid !important;
    grid-template-rows:
        var(--nek-fixed-price-zone)
        var(--nek-fixed-variation-zone)
        var(--nek-fixed-action-zone);
    row-gap: 8px;
    width: 100%;
    min-height: calc(
        var(--nek-fixed-price-zone)
        + var(--nek-fixed-variation-zone)
        + var(--nek-fixed-action-zone)
        + 16px
    );
    margin-top: 0 !important;
    align-self: end;
}

.nek-product-card--fixed-grid .nek-product-card__price-zone,
.nek-product-card--system-fixed-grid .nek-product-card__price-zone {
    display: flex;
    width: 100%;
    height: var(--nek-fixed-price-zone) !important;
    min-height: var(--nek-fixed-price-zone) !important;
    align-items: center;
    overflow: hidden;
}

.nek-product-card--fixed-grid .nek-product-card__price,
.nek-product-card--system-fixed-grid .nek-product-card__price {
    width: 100%;
    margin: 0;
    overflow: hidden;
    line-height: 1.2;
}

.nek-product-card--fixed-grid .nek-price-stack,
.nek-product-card--fixed-grid .nek-price-line,
.nek-product-card--system-fixed-grid .nek-price-stack,
.nek-product-card--system-fixed-grid .nek-price-line {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nek-product-card--fixed-grid .nek-product-card__variation-zone,
.nek-product-card--system-fixed-grid .nek-product-card__variation-zone,
.nek-card-height-natural .nek-product-card--system-fixed-grid
.nek-product-card__variation-zone[data-empty="1"] {
    display: flex !important;
    width: 100%;
    height: var(--nek-fixed-variation-zone) !important;
    min-height: var(--nek-fixed-variation-zone) !important;
    padding: 0 !important;
    align-items: center;
    overflow: hidden;
}

.nek-product-card--fixed-grid .nek-product-card__variation-zone[data-empty="1"],
.nek-product-card--system-fixed-grid .nek-product-card__variation-zone[data-empty="1"] {
    visibility: hidden;
}

.nek-product-card--fixed-grid .nek-product-variations,
.nek-product-card--fixed-grid .nek-variation-panel,
.nek-product-card--fixed-grid .nek-variation-form,
.nek-product-card--system-fixed-grid .nek-product-variations,
.nek-product-card--system-fixed-grid .nek-variation-panel,
.nek-product-card--system-fixed-grid .nek-variation-form {
    width: 100%;
    max-height: 100%;
    margin: 0;
    overflow: hidden;
}

.nek-product-card--fixed-grid .nek-variation-options,
.nek-product-card--system-fixed-grid .nek-variation-options {
    flex-wrap: nowrap !important;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}

.nek-product-card--fixed-grid .nek-product-card__action,
.nek-product-card--system-fixed-grid .nek-product-card__action,
.nek-card-height-uniform .nek-product-card--system-fixed-grid
.nek-product-card__action,
.nek-card-height-equal .nek-product-card--system-fixed-grid
.nek-product-card__action {
    display: flex;
    width: 100%;
    height: var(--nek-fixed-action-zone) !important;
    min-height: var(--nek-fixed-action-zone) !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: stretch;
    align-self: stretch;
}

.nek-product-card--fixed-grid .nek-product-card__action > *,
.nek-product-card--system-fixed-grid .nek-product-card__action > *,
.nek-product-card--fixed-grid .nek-product-card__button,
.nek-product-card--system-fixed-grid .nek-product-card__button {
    width: 100% !important;
    height: 100%;
    min-height: 0;
    margin: 0;
}

.nek-product-card--fixed-grid .nek-product-card__notice,
.nek-product-card--system-fixed-grid .nek-product-card__notice {
    display: none;
}

@media (max-width: 767px) {
    .nek-product-card--fixed-grid,
    .nek-product-card--system-fixed-grid {
        --nek-fixed-meta-zone: 18px;
        --nek-fixed-title-zone: 48px;
        --nek-fixed-price-zone: 32px;
        --nek-fixed-variation-zone: 58px;
        --nek-fixed-action-zone: 42px;
    }

    .nek-product-card--fixed-grid .nek-product-card__body,
    .nek-product-card--system-fixed-grid .nek-product-card__body {
        row-gap: 6px;
        padding: 12px;
    }

    .nek-product-card--fixed-grid .nek-product-card__commerce,
    .nek-product-card--system-fixed-grid .nek-product-card__commerce {
        row-gap: 6px;
        min-height: calc(
            var(--nek-fixed-price-zone)
            + var(--nek-fixed-variation-zone)
            + var(--nek-fixed-action-zone)
            + 12px
        );
    }
}

/* 1.1.26.7 — Unified Commerce Carousel Navigation System */
:where(
    .nek-product-carousel-section,
    .nek-product-brands-section,
    .nek-product-categories-section,
    .nek-shop-product-tabs,
    .nek-single-recommendations
) {
    --nek-commerce-nav-size: 36px;
    --nek-commerce-nav-icon-size: 18px;
    --nek-commerce-nav-gap: 6px;
    --nek-commerce-nav-color: #177d0a;
    --nek-commerce-nav-bg: transparent;
    --nek-commerce-nav-border-color: transparent;
    --nek-commerce-nav-border-width: 0px;
    --nek-commerce-nav-border-style: solid;
    --nek-commerce-nav-radius: 8px;
    --nek-commerce-nav-hover-color: var(--nek-commerce-nav-color);
    --nek-commerce-nav-hover-bg: rgba(17, 17, 17, .06);
    --nek-commerce-nav-hover-border-color: var(--nek-commerce-nav-border-color);
    --nek-commerce-nav-focus-color: var(--nek-commerce-nav-color);
    --nek-commerce-nav-focus-bg: var(--nek-commerce-nav-bg);
    --nek-commerce-nav-focus-border-color: var(--nek-commerce-nav-border-color);
    --nek-commerce-nav-focus-ring: #2166d1;
}

.nek-commerce-nav__buttons {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end;
    flex: 0 0 auto;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: var(--nek-commerce-nav-gap) !important;
}

body button.nek-commerce-nav__button,
body .elementor button.nek-commerce-nav__button {
    position: relative !important;
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 var(--nek-commerce-nav-size) !important;
    width: var(--nek-commerce-nav-size) !important;
    height: var(--nek-commerce-nav-size) !important;
    min-width: var(--nek-commerce-nav-size) !important;
    min-height: var(--nek-commerce-nav-size) !important;
    max-width: var(--nek-commerce-nav-size) !important;
    max-height: var(--nek-commerce-nav-size) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border-width: var(--nek-commerce-nav-border-width) !important;
    border-style: var(--nek-commerce-nav-border-style) !important;
    border-color: var(--nek-commerce-nav-border-color) !important;
    border-radius: var(--nek-commerce-nav-radius) !important;
    color: var(--nek-commerce-nav-color) !important;
    background: var(--nek-commerce-nav-bg) !important;
    background-color: var(--nek-commerce-nav-bg) !important;
    background-image: none !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    opacity: 1;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer;
    transition:
        color .18s ease,
        background-color .18s ease,
        border-color .18s ease,
        opacity .18s ease,
        transform .18s ease !important;
}

body button.nek-commerce-nav__button::before,
body button.nek-commerce-nav__button::after {
    content: none !important;
    display: none !important;
}

.nek-commerce-nav__icon {
    display: block !important;
    flex: 0 0 auto !important;
    width: var(--nek-commerce-nav-icon-size) !important;
    height: var(--nek-commerce-nav-icon-size) !important;
    min-width: var(--nek-commerce-nav-icon-size) !important;
    min-height: var(--nek-commerce-nav-icon-size) !important;
    overflow: visible;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.15;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}

body button.nek-commerce-nav__button:hover {
    color: var(--nek-commerce-nav-hover-color) !important;
    background: var(--nek-commerce-nav-hover-bg) !important;
    background-color: var(--nek-commerce-nav-hover-bg) !important;
    border-color: var(--nek-commerce-nav-hover-border-color) !important;
    transform: translateY(-1px);
}

body button.nek-commerce-nav__button:focus-visible {
    color: var(--nek-commerce-nav-focus-color) !important;
    background: var(--nek-commerce-nav-focus-bg) !important;
    background-color: var(--nek-commerce-nav-focus-bg) !important;
    border-color: var(--nek-commerce-nav-focus-border-color) !important;
    outline: 2px solid var(--nek-commerce-nav-focus-ring) !important;
    outline-offset: 2px;
}

body button.nek-commerce-nav__button:disabled {
    opacity: .32 !important;
    cursor: default;
    transform: none !important;
}

.nek-commerce-nav-style-circle,
.nek-carousel-arrow-circle {
    --nek-commerce-nav-radius: 999px;
}

.nek-commerce-nav-style-square,
.nek-carousel-arrow-square {
    --nek-commerce-nav-radius: 2px;
}

.nek-commerce-nav-style-minimal,
.nek-carousel-arrow-minimal {
    --nek-commerce-nav-bg: transparent;
    --nek-commerce-nav-border-width: 0px;
    --nek-commerce-nav-border-color: transparent;
}

.nek-commerce-nav-style-glass,
.nek-carousel-arrow-glass {
    --nek-commerce-nav-bg: rgba(255, 255, 255, .66);
    --nek-commerce-nav-border-color: rgba(255, 255, 255, .35);
    --nek-commerce-nav-border-width: 1px;
    --nek-commerce-nav-radius: 999px;
}

/* Header navigation: one geometry for titles, links and arrow controls. */
.nek-section-header__extra .nek-commerce-nav__buttons {
    vertical-align: middle;
}

@media (max-width: 767px) {
    :where(
        .nek-product-carousel-section,
        .nek-product-brands-section,
        .nek-product-categories-section,
        .nek-shop-product-tabs,
        .nek-single-recommendations
    ) {
        --nek-commerce-nav-size: 34px;
        --nek-commerce-nav-icon-size: 18px;
        --nek-commerce-nav-gap: 4px;
    }
}

/* Shared header placement for every commerce carousel. */
.nek-section-header__extra :where(
    .nek-product-carousel__navigation,
    .nek-product-carousel__arrows,
    .nek-product-brands__arrows,
    .nek-product-categories__arrows,
    .nek-shop-product-tabs__arrows,
    .nek-single-recommendations__arrows
) {
    margin: 0 !important;
}

.nek-single-recommendations__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.nek-single-recommendations__header
.nek-single-recommendations__title {
    min-width: 0;
    margin: 0;
}

.nek-single-recommendations__header
.nek-single-recommendations__arrows {
    flex: 0 0 auto;
    margin: 0 !important;
}

@media (max-width: 767px) {
    .nek-single-recommendations__header {
        gap: 12px;
    }
}

/* Bridge Product Carousel's existing Design Studio variables into the shared contract. */
.nek-product-carousel-section {
    --nek-commerce-nav-size: var(--nek-carousel-arrow-size, 36px);
    --nek-commerce-nav-icon-size: var(--nek-carousel-arrow-icon, 18px);
    --nek-commerce-nav-color: var(--nek-carousel-arrow-color, #177d0a);
    --nek-commerce-nav-bg: var(--nek-carousel-arrow-bg, transparent);
    --nek-commerce-nav-hover-color: var(--nek-carousel-arrow-hover-color, var(--nek-commerce-nav-color));
    --nek-commerce-nav-hover-bg: var(--nek-carousel-arrow-hover-bg, rgba(17, 17, 17, .06));
}

/* Minimal means genuinely compact and transparent in every widget. */
.nek-commerce-nav-style-minimal :where(
    .nek-product-carousel-section,
    .nek-product-brands-section,
    .nek-product-categories-section,
    .nek-shop-product-tabs-section,
    .nek-single-recommendations
),
.nek-product-carousel-section.nek-commerce-nav-style-minimal {
    --nek-commerce-nav-bg: transparent !important;
    --nek-commerce-nav-border-width: 0px !important;
    --nek-commerce-nav-border-color: transparent !important;
}

/* Keep legacy module rules synchronized with the shared Minimal preset. */
.nek-commerce-nav-style-minimal .nek-product-brands-section {
    --nek-brand-arrow-bg: transparent !important;
    --nek-brand-arrow-border: transparent !important;
}

.nek-product-carousel-section.nek-commerce-nav-style-minimal {
    --nek-carousel-arrow-bg: transparent !important;
}

/* Bridge Brands Showcase's legacy high-specificity rules to shared variables. */
.nek-product-brands-section {
    --nek-brand-arrow-color: var(--nek-commerce-nav-color);
    --nek-brand-arrow-bg: var(--nek-commerce-nav-bg);
    --nek-brand-arrow-border: var(--nek-commerce-nav-border-color);
    --nek-brand-arrow-hover-color: var(--nek-commerce-nav-hover-color);
    --nek-brand-arrow-hover-bg: var(--nek-commerce-nav-hover-bg);
    --nek-brand-arrow-hover-border: var(--nek-commerce-nav-hover-border-color);
    --nek-brand-arrow-focus-color: var(--nek-commerce-nav-focus-color);
    --nek-brand-arrow-focus-bg: var(--nek-commerce-nav-focus-bg);
    --nek-brand-arrow-focus-border: var(--nek-commerce-nav-focus-border-color);
    --nek-brand-arrow-focus-ring: var(--nek-commerce-nav-focus-ring);
}

.nek-section-header__extra .nek-commerce-nav__buttons {
    gap: var(--nek-commerce-nav-gap) !important;
}

/* 1.1.26.8 — shared custom Elementor/SVG carousel icons */
.nek-commerce-nav__button > :where(svg, i, .nek-commerce-nav__icon) {
    display: block !important;
    flex: 0 0 auto !important;
    width: var(--nek-commerce-nav-icon-size) !important;
    height: var(--nek-commerce-nav-icon-size) !important;
    min-width: var(--nek-commerce-nav-icon-size) !important;
    min-height: var(--nek-commerce-nav-icon-size) !important;
    margin: 0 !important;
    color: currentColor !important;
    fill: currentColor;
    pointer-events: none;
}

.nek-commerce-nav__button > svg {
    overflow: visible;
}
