.woocommerce-variation-price .price .woocommerce-Price-amount.amount {
    display: none;
}

.reset_variations {
    display: none;
}
.product .summary table.variations tr:last-child .value {
    padding-bottom:0rem;
}
.woocommerce-variation-price .price.one-time-price .woocommerce-Price-amount.amount {
    display: initial;
}
.summary .clear + .woocommerce-product-details__short-description > details:first-child,
.woocommerce-product-details__short-description + .woocommerce-product-rating {
    margin-top:0.5rem;
    display: none;
}

.cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button {
    border: 1px solid #E0E0E0;
    border-radius: 5px;
}
  
.cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button.cgkit-swatch-selected {
    background: #fff;
    border-color: #2D4938;
    color: #000;
}
.commercekit-pdp-sticky-inner .variations tbody tr th{
    display: none;
}
.commercekit-pdp-sticky-inner {
	overflow-y: unset;
}

/* With the inner box no longer scrolling, the mobile panel (capped at 85vh by
   CommerceKit) is the one scroll container. Without this, plans past the
   bottom edge of the screen cannot be reached. */
@media (max-width: 992px) {
	.sticky-atc-open form.cart.commercekit_sticky-atc {
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}
}
.reset_variations{
    display: none;
}
.stock.in-stock{
    display: none;
}
ul.wcsatt-options-product,
.wcsatt-options-product-dropdown {
  margin:0 0 0.5em 0;
}
.wcsatt-sub-discount{
    margin-right: auto;
    margin-left: 0.2rem;
}
/* Show product name only on screens 993px and wider, and only when sticky tabs are stuck */
@media (min-width: 993px) {
    /* CommerceKit sticky ATC product name ellipsis */
    #cgkit-tab-commercekit-sticky-atc-title {
        display: flex;
        align-items: center;
        gap: 1.5rem;
        min-width: 0;
        overflow: hidden;
    }

    /* Hide product name by default */
    .commercekit-sticky-atc-product-name {
        display: none;
    }

    /* Show product name only when parent has commercekit-atc-stuck class */
    .commercekit-atc-sticky-tabs.commercekit-atc-stuck .commercekit-sticky-atc-product-name {
        display: block; 
        flex: 1 1 0;
        min-width: 0;
        max-width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;

    }

    #cgkit-tab-commercekit-sticky-atc-title .sticky-atc_button {
        flex-shrink: 0;
        flex-grow: 0;
        flex-basis: auto;
    }
    #cgkit-tab-commercekit-sticky-atc-title {
        flex-shrink: 1;
        margin: 6px 0px 10px auto;
    }
    .commercekit-atc-tab-links li{
        flex-shrink: 1;
    }
    .commercekit-atc-sticky-tabs.cgkit-atc-product-simple.commercekit-atc-stuck{
        box-shadow: 0px 1px 7px 0px rgba(0, 0, 0, 0.1);
    }
}
.commercekit-atc-tab-links li {
    margin: 6px 0px 10px 0;
    display: inline-flex;
    flex-shrink: 0;
}
.commercekit-atc-tab-links li a::after {
    top: calc(100% + 5px);
  }
.content-area .summary .onsale {
	display: none;
}

.review-incentiviser-widget-area {
	margin-bottom: 2rem;
}

.review-incentiviser-widget-area .widget .widget-title {
	font-size: 1.5em;
	font-weight: inherit;
	text-transform: none;
}
@media (max-width: 992px){
    #cgkit-mobile-commercekit-sticky-atc {
        z-index: 999 !important;
    }
}

/* Sticky product gallery (desktop). Flex two-column row so the row height is the
   taller column (the summary) and the gallery releases there — not at a taller
   wrapper — which also avoids the Firefox float + sticky + flow-root quirk that
   inflated the wrapper. Sticky needs overflow:visible (overflow:hidden disables
   it) and align-self:flex-start (so the flex item isn't stretched to full height
   and has room to travel). The main image is locked to its square so the
   CommerceKit Swiper can't mis-size it. No JS. */
@media (min-width: 993px) {
    .product-details-wrapper {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        overflow: visible;
    }
    .product-details-wrapper > #cgkit-pdp-gallery-outside {
        display: none;
    }
    .product-details-wrapper > #commercegurus-pdp-gallery-wrapper {
        position: sticky;
        top: 20px;
        align-self: flex-start;
    }
    #commercegurus-pdp-gallery .cg-main-swiper {
        aspect-ratio: 1 / 1;
        height: auto !important;
    }
    #commercegurus-pdp-gallery .cg-main-swiper .swiper-wrapper,
    #commercegurus-pdp-gallery .cg-main-swiper .swiper-slide {
        height: 100% !important;
    }
    #commercegurus-pdp-gallery .cg-main-swiper .swiper-slide img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }
    .sticky-atc-open form.cart.commercekit_sticky-atc{
        z-index: 9999999999 !important;
    }

}

/* Thumbnail strip arrows: CommerceKit mirrors the main slider's arrows onto the
   strip, so they show with two images too. Hidden while every thumbnail fits
   (class set by pdp-gallery-thumb-arrows.js). */
#commercegurus-pdp-gallery .cg-thumb-swiper.nn-thumbs-fit .swiper-button-next,
#commercegurus-pdp-gallery .cg-thumb-swiper.nn-thumbs-fit .swiper-button-prev {
    display: none;
}

/* Thumbnail strip arrows only with 4+ images. */
#commercegurus-pdp-gallery .cg-thumb-swiper:not(:has(> .swiper-wrapper > li:nth-child(4))) > .swiper-button-next,
#commercegurus-pdp-gallery .cg-thumb-swiper:not(:has(> .swiper-wrapper > li:nth-child(4))) > .swiper-button-prev {
    display: none;
}

/* Redesigned PDP look (body.nn-pdp-look): summary */
.nn-pdp-look .summary .product_title {
    font-weight: 300;
    font-size: 28px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    margin-bottom: 4px;
}
.nn-pdp-look .summary .nn-look-price {
    font-size: 14px;
    font-weight: 300;
    color: var(--nn-color-primary, #2D4838);
    margin: 0 0 12px;
}
.nn-pdp-look .summary .nn-look-price .woocommerce-Price-amount,
.nn-pdp-look .summary .nn-look-price ins {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    text-decoration: none;
    background: none;
}
.nn-pdp-look .summary .nn-look-price del {
    color: var(--nn-color-gray-text, #434343);
    margin-right: 4px;
}
.nn-pdp-look .nn-look-rating {
    display: flex;
    width: fit-content;
    align-items: center;
    gap: 12px;
    margin: 0 0 12px;
    font-size: 14px;
    color: #1a1a1a;
    text-decoration: none;
}
.nn-pdp-look .summary .sale-item.product-label {
    display: inline-block;
    margin-bottom: 12px;
}
.nn-pdp-look .nn-look-rating .star-rating {
    margin: 0;
}
.nn-pdp-look .summary .woocommerce-product-details__short-description {
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    color: #000;
    margin-bottom: 35px;
}

/* Cards (quantity cards on simple products, variation cards on variable) */
.nn-pdp-look .product .variations:has(.nn-variant-cards),
.nn-pdp-look .product .variations:has(.nn-variant-cards) tbody,
.nn-pdp-look .product .variations:has(.nn-variant-cards) tr,
.nn-pdp-look .product .variations:has(.nn-variant-cards) td.value {
    display: block;
    width: 100%;
    padding: 0;
}
.nn-pdp-look .product .variations tr:has(.nn-variant-cards) th.label {
    display: none;
}
.nn-cards {
    margin: 0 0 14px;
    min-width: 0;
    max-width: 100%;
}
/* fieldset defaults to min-content width, which would let a scrolling list push past the screen */
.nn-cards .cgkit-attribute-swatches-wrap {
    border: 0;
    padding: 0;
    margin: 0;
    min-width: 0;
    min-inline-size: 0;
    max-width: 100%;
}
/* Card heading hidden on both card types (Simon 2026-09-10); the list keeps its aria-label / legend. */
.nn-vc-heading {
    display: none;
}
.nn-vc-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 0 12px;
    padding: 6px 12px;
    border: 1px solid var(--nn-color-primary, #2D4838);
    border-radius: 4px;
    font-size: 12px;
    color: var(--nn-color-primary, #2D4838);
}
.nn-vc-banner-icon {
    flex-shrink: 0;
}
.nn-vc-list {
    /* fixed thirds: with fewer cards the remaining column stays empty */
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}
/* More than three cards: horizontal scroller (snap, next card peeks), edge fade, arrows + scroll progress bar below */
.nn-cards--scroll {
    position: relative;
}
.nn-cards--scroll .nn-vc-list {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
}
.nn-cards--scroll .nn-vc-list::-webkit-scrollbar {
    display: none;
}
@media (hover: hover) {
    .nn-cards--scroll .nn-vc-list { cursor: grab; }
    .nn-cards--scroll .nn-vc-list.is-dragging { cursor: grabbing; user-select: none; }
}
.nn-cards--scroll .nn-vc-list img {
    -webkit-user-drag: none;
    user-select: none;
}
.nn-cards--scroll .nn-vc-list .nn-vc-card {
    flex: 0 0 calc((100% - 32px) / 3.25);
    scroll-snap-align: start;
}
/* Sized to the list by JS so it never covers the heading or the progress bar */
.nn-cards--scroll .nn-vc-fade {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.75));
    transition: opacity 0.2s;
}
.nn-cards--scroll.is-end .nn-vc-fade {
    opacity: 0;
}
.nn-vc-scroll-nav {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
}
.nn-vc-scroll-nav button {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    min-height: 0;
    padding: 0;
    border: 1px solid var(--nn-color-gray-lighter-medium, #ccc);
    border-radius: 50%;
    background: #fff;
    color: var(--nn-color-primary, #2D4838);
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    box-shadow: none;
}
.nn-vc-scroll-nav button:disabled {
    opacity: 0.35;
    cursor: default;
}
/* Progress bar: the thumb is as wide as the visible share of the list and follows the scroll position */
.nn-vc-scrollbar {
    flex: 1 1 auto;
    position: relative;
    height: 4px;
    border-radius: 2px;
    background: var(--nn-color-gray-lightest, #e9e9e9);
    overflow: hidden;
    cursor: pointer;
}
.nn-vc-scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 33%;
    border-radius: 2px;
    background: var(--nn-color-primary, #2D4838);
    will-change: transform;
}
.nn-vc-list .nn-vc-card,
.summary .cgkit-attribute-swatches .nn-vc-card.cgkit-attribute-swatch {
    /* CommerceKit gives PDP swatches an 8px right margin */
    margin: 0;
    padding: 0;
}
.nn-vc-list .nn-vc-btn {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 50px 12px 25px;
    background: #fff;
    border: 1px solid var(--nn-color-gray-lighter-medium, #ccc);
    border-radius: 4px;
    box-shadow: none;
    color: #000;
    cursor: pointer;
    text-align: center;
    text-transform: none;
    letter-spacing: normal;
    line-height: 1.3;
    font-weight: 400;
}
.nn-vc-list .nn-vc-btn:hover,
.nn-vc-list .nn-vc-btn:focus {
    border-color: var(--nn-color-gray-medium, #9E9E9E);
    background: #fff;
    color: #000;
}
.nn-vc-list .nn-vc-btn:focus-visible {
    outline: 2px solid var(--nn-color-primary, #2D4838);
    outline-offset: 2px;
}
.nn-vc-list .nn-vc-btn.is-selected,
.nn-vc-list .nn-vc-btn.cgkit-swatch-selected,
.nn-vc-list .nn-vc-btn.is-selected:hover,
.nn-vc-list .nn-vc-btn.cgkit-swatch-selected:hover {
    border-color: var(--nn-color-primary, #2D4838);
    box-shadow: inset 0 0 0 1px var(--nn-color-primary, #2D4838);
    background: var(--nn-color-bg-light-green, #f4f9f3);
}
.nn-vc-check {
    display: none;
    position: absolute;
    top: 12px;
    left: 12px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--nn-color-primary, #2D4838) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'><path d='M1 4l2.8 2.8L9 1' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / 10px 8px no-repeat;
}
.nn-vc-list .nn-vc-btn.is-selected .nn-vc-check,
.nn-vc-list .nn-vc-btn.cgkit-swatch-selected .nn-vc-check {
    display: block;
}
.nn-vc-list .nn-vc-btn .cross {
    display: none;
}
.nn-vc-flag {
    position: absolute;
    top: -1px;
    right: -1px;
    padding: 4px 12px;
    border-radius: 0 4px 0 12px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    line-height: 1.4;
}
.nn-vc-flag--recommended {
    background: var(--nn-color-primary, #2D4838);
    color: #fff;
}
.nn-vc-flag--best {
    background: #d2f0d8;
    color: var(--nn-color-success, #166F21);
}
.nn-vc-flag--sale {
    background: #783219;
    color: #fff;
}
.nn-vc-flag--oos {
    background: #f0f0f0;
    color: #717171;
}
.nn-vc-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    margin-bottom: 14px;
    overflow: hidden;
}
.nn-vc-media img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    margin: 0;
}
.nn-vc-title {
    display: block;
    font-size: 16px;
    color: #000;
    line-height: 1.3;
}
.nn-vc-sub {
    display: block;
    margin-top: 4px;
    font-size: 10px;
    text-transform: uppercase;
    color: var(--nn-color-gray-text-dark, #231f20);
}
.nn-vc-mode {
    display: block;
    margin-top: 4px;
}
.nn-vc-price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 18px;
    font-weight: 500;
    color: #000;
    line-height: 1.2;
}
.nn-vc-price del {
    font-size: 14px;
    font-weight: 400;
    color: var(--nn-color-gray-text, #434343);
}
.nn-vc-price ins,
.nn-vc-price .woocommerce-Price-amount {
    text-decoration: none;
    background: none;
    font-weight: inherit;
    color: inherit;
}
.nn-vc-save {
    display: inline-block;
    padding: 2px 8px;
    border: 1px solid var(--nn-color-success, #166F21);
    border-radius: 100px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--nn-color-success, #166F21);
    line-height: 1.3;
}
.nn-vc-day {
    display: block;
    margin-top: 10px;
    font-size: 10px;
    font-weight: 600;
    color: var(--nn-color-gray-text, #434343);
}
.nn-vc-day .woocommerce-Price-amount {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}
.nn-vc-day--better {
    color: var(--nn-color-success, #166F21);
}
/* Out of stock: greyed, not selectable */
.nn-vc-list .nn-vc-btn.is-oos,
.nn-vc-list .nn-vc-btn.is-oos:hover {
    cursor: default;
    color: var(--nn-color-gray-light, #9E9E9E);
    border-color: var(--nn-color-gray-lighter-medium, #ccc);
}
.nn-vc-list .nn-vc-btn.is-oos .nn-vc-title,
.nn-vc-list .nn-vc-btn.is-oos .nn-vc-sub,
.nn-vc-list .nn-vc-btn.is-oos .nn-vc-price,
.nn-vc-list .nn-vc-btn.is-oos .nn-vc-price del,
.nn-vc-list .nn-vc-btn.is-oos .nn-vc-day,
.nn-vc-list .nn-vc-btn.is-oos .nn-vc-save {
    color: var(--nn-color-gray-light, #9E9E9E);
    border-color: var(--nn-color-gray-light, #9E9E9E);
}
.nn-vc-list .nn-vc-btn.is-oos .nn-vc-media img {
    opacity: 0.4;
}
/* Card price blocks per purchase mode; the prompt radios toggle .nn-vc-sub-mode on the list */
.nn-vc-mode--sub {
    display: none;
}
.nn-vc-sub-mode .nn-vc-mode--onetime {
    display: none;
}
.nn-vc-sub-mode .nn-vc-mode--sub {
    display: block;
}
/* Cards are the quantity/size choice: no stepper, no "Clear" link, full-width button */
.nn-pdp-look form.cart:has(.nn-cards) .quantity,
.nn-pdp-look .product .variations .reset_variations,
.nn-pdp-look .product .summary .reset_variations {
    display: none !important;
}
.nn-pdp-look form.cart:has(.nn-cards) .single_add_to_cart_button {
    width: 100%;
    margin-left: 0;
}
.nn-pdp-look .summary form.cart .single_add_to_cart_button {
    min-height: 50px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
}

@media (max-width: 600px) {
    .nn-vc-list { gap: 6px; }
    /* three cards plus a 12px peek of the fourth */
    .nn-cards--scroll .nn-vc-list .nn-vc-card { flex-basis: calc((100% - 24px) / 3); }
    .nn-cards--scroll .nn-vc-fade { width: 20px; }
    .nn-cards--scroll .nn-vc-scroll-nav button { display: none; }
    .nn-vc-list .nn-vc-btn { padding: 32px 6px 14px; }
    .nn-vc-check { top: 6px; left: 6px; width: 20px; height: 20px; background-size: 9px 7px; }
    .nn-vc-media { width: 90px; margin-bottom: 10px; }
    .nn-vc-title { font-size: 12px; }
    .nn-vc-sub { font-size: 9px; }
    .nn-vc-price { font-size: 14px; gap: 4px; }
    .nn-vc-price del { font-size: 11px; }
    .nn-vc-save { font-size: 8px; padding: 1px 5px; }
    .nn-vc-day { font-size: 9px; margin-top: 6px; }
    .nn-vc-flag { font-size: 8px; padding: 3px 6px; border-radius: 0 4px 0 8px; }
    .nn-vc-banner { font-size: 11px; }
}

/* Subscribe selected and the plan beats the sale price: only the plan discount applies, so no sale marks */
.nn-vc-list.nn-vc-sub-mode .nn-vc-btn.nn-vc-sub-wins .nn-vc-flag--sale {
    display: none;
}
.nn-pdp-look .summary.nn-sub-wins .sale-item.product-label,
.nn-pdp-look .summary.nn-sub-wins .nn-vc-banner {
    display: none;
}

/* Sticky ATC clones the main form: collapse cards back to small image swatches there */
form.commercekit_sticky-atc .nn-vc-heading,
form.commercekit_sticky-atc .nn-vc-banner,
form.commercekit_sticky-atc .nn-vc-scroll-nav,
form.commercekit_sticky-atc .nn-vc-fade,
form.commercekit_sticky-atc .nn-vc-card .nn-vc-title,
form.commercekit_sticky-atc .nn-vc-card .nn-vc-sub,
form.commercekit_sticky-atc .nn-vc-card .nn-vc-mode,
form.commercekit_sticky-atc .nn-vc-card .nn-vc-flag,
form.commercekit_sticky-atc .nn-vc-card .nn-vc-check {
    display: none !important;
}
form.commercekit_sticky-atc .nn-quantity-cards {
    display: none !important;
}
form.commercekit_sticky-atc .nn-vc-list {
    display: flex;
    gap: 6px;
    overflow: visible;
}
form.commercekit_sticky-atc .nn-vc-list .nn-vc-card {
    flex: 0 0 auto;
}
form.commercekit_sticky-atc .nn-vc-btn {
    padding: 4px;
    width: 56px;
    height: auto;
}
form.commercekit_sticky-atc .nn-vc-media {
    width: 48px;
    margin: 0;
}

/* Native review rows: avatar beside the reviewer name */
#reviews .commentlist .comment_container {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

#reviews .commentlist .comment_container > .comment-text {
	flex: 1 1 auto;
	min-width: 0;
}

#reviews .commentlist img.nn-review-avatar {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	margin: 0;
	border-radius: 50%;
}

@media (max-width: 480px) {
	#reviews .commentlist .comment_container {
		gap: 10px;
	}

	#reviews .commentlist img.nn-review-avatar {
		width: 40px;
		height: 40px;
	}
}

/* Rating above the title on the classic look */
.summary .woocommerce-product-rating:has(+ .product_title) {
    margin-bottom: 8px;
}

/* Description teaser under the title, every look */
.summary .nn-description-teaser {
    font-size: 14px;
    line-height: 20px;
    margin: 0 0 16px;
}
.summary .nn-description-teaser p:last-child {
    margin-bottom: 0;
}

/* Highlight pills under the teaser, every look. Colours overridable per product. */
.summary .nn-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}
.summary .nn-highlights > li {
    margin: 0;
}
.summary .nn-highlight {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border: 1px solid var(--nn-hl-border, var(--nn-hl-color, var(--nn-color-primary, #2D4838)));
    border-radius: 999px;
    background: var(--nn-hl-bg, transparent);
    color: var(--nn-hl-color, var(--nn-color-primary, #2D4838));
    font-size: 13px;
    line-height: 18px;
    white-space: nowrap;
    cursor: default;
    user-select: none;
}
.summary .nn-highlight-icon {
    flex: none;
}
.summary .nn-highlight-icon--image {
    display: block;
    width: 14px;
    height: 14px;
    object-fit: contain;
}
.summary .nn-highlight--image {
    padding: 0;
    border: 0;
    background: none;
}
.summary .nn-highlight--image img {
    display: block;
    height: 28px;
    width: auto;
}
.summary .nn-highlights:not(.is-expanded) .nn-highlight--more {
    display: none;
}
.summary .nn-highlight-toggle {
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    min-height: 0;
}
.summary .nn-highlight-toggle:hover,
.summary .nn-highlight-toggle:focus {
    background: var(--nn-hl-bg, transparent);
    color: var(--nn-hl-color, var(--nn-color-primary, #2D4838));
    text-decoration: underline;
}
