/* ==========================================================
   NOGA KOALA — SINGLE PRODUCT PAGE
   BASILICO HARD OVERRIDE
   ========================================================== */

:root {
    --noga-blue: #07599f;
    --noga-blue-dark: #00447e;
    --noga-blue-deep: #063968;
    --noga-yellow: #ffbd00;
    --noga-bg: #f3f7fb;
    --noga-white: #ffffff;
    --noga-text: #152333;
    --noga-muted: #69788a;
    --noga-border: #e3eaf1;
    --noga-green: #22a447;
}


/* ==========================================================
   RESET BASILICO SINGLE PRODUCT
   ========================================================== */

html body.single-product {
    overflow-x: hidden !important;
    background: var(--noga-bg) !important;
}

html body.single-product #primary,
html body.single-product #main,
html body.single-product main,
html body.single-product .site-main,
html body.single-product .content-area,
html body.single-product .site-content,
html body.single-product .woocommerce,
html body.single-product .woocommerce-page {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
}

html body.single-product #secondary,
html body.single-product .sidebar,
html body.single-product .widget-area {
    display: none !important;
}


/* ==========================================================
   MAIN PAGE
   ========================================================== */

html body.single-product .noga-exact-page {
    position: relative !important;
    display: block !important;

    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 0 0 115px !important;

    background: var(--noga-bg) !important;

    float: none !important;
    clear: both !important;

    box-sizing: border-box !important;
}


/* ==========================================================
   CONTAINER
   ========================================================== */

html body.single-product .noga-product-container {
    position: relative !important;

    width: calc(100% - 60px) !important;
    max-width: 1380px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 0 !important;

    box-sizing: border-box !important;
}


/* ==========================================================
   HERO
   ========================================================== */

html body.single-product .noga-exact-hero {
    position: relative !important;

    width: 100% !important;

    padding: 45px 0 80px !important;
    margin: 0 !important;

    background:
        radial-gradient(
            circle at 12% 15%,
            rgba(255,255,255,.12),
            transparent 27%
        ),
        radial-gradient(
            circle at 90% 20%,
            rgba(255,189,0,.14),
            transparent 24%
        ),
        linear-gradient(
            135deg,
            #052f56 0%,
            #07599f 58%,
            #0872bf 100%
        ) !important;

    overflow: hidden !important;
}


p.logged-in-as a {
    color: #ffbd00;
}

h2.woocommerce-Reviews-title {
    color: #00447e;
}

.comment-reply-title {
    color: #00447e;
}

.comment-respond .comment-form .pxl-comment-form-rating .comment-form-field {
    color: #00447e !important;
}



/* ==========================================================
   BACK
   ========================================================== */

html body.single-product a.noga-back-menu {
    display: inline-flex !important;
    align-items: center !important;

    margin: 0 0 30px !important;
    padding: 0 !important;

    background: transparent !important;

    color: #ffffff !important;

    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;

    text-decoration: none !important;
}


/* ==========================================================
   PRODUCT LAYOUT
   ========================================================== */

html body.single-product .noga-product-layout {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(420px, .95fr) !important;

    align-items: center !important;

    gap: 55px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================================
   GALLERY
   ========================================================== */

html body.single-product .noga-gallery-area {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
}

html body.single-product
.noga-gallery-area
.woocommerce-product-gallery {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
}

html body.single-product
.noga-gallery-area
.woocommerce-product-gallery__wrapper {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

html body.single-product
.noga-gallery-area
.woocommerce-product-gallery__image {
    width: 100% !important;

    margin: 0 !important;

    float: none !important;
}

html body.single-product
.noga-gallery-area
.woocommerce-product-gallery__image
a {
    display: block !important;

    width: 100% !important;
}

html body.single-product
.noga-gallery-area
.woocommerce-product-gallery__image
img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: 610px !important;

    margin: 0 !important;
    padding: 30px !important;

    object-fit: contain !important;

    background: #ffffff !important;

    border-radius: 32px !important;

    box-shadow:
        0 30px 80px rgba(0,0,0,.18) !important;

    box-sizing: border-box !important;
}


/* ZOOM ICON */

html body.single-product
.noga-gallery-area
.woocommerce-product-gallery__trigger {
    position: absolute !important;

    top: 20px !important;
    right: 20px !important;
    left: auto !important;

    z-index: 20 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 46px !important;
    height: 46px !important;

    border-radius: 50% !important;

    background: #ffffff !important;

    box-shadow:
        0 7px 25px rgba(0,0,0,.12) !important;
}


/* THUMBNAILS */

html body.single-product
.noga-gallery-area
.flex-control-thumbs {
    display: flex !important;
    flex-wrap: wrap !important;

    gap: 12px !important;

    width: 100% !important;

    margin: 18px 0 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

html body.single-product
.noga-gallery-area
.flex-control-thumbs
li {
    display: block !important;

    width: 80px !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
}

html body.single-product
.noga-gallery-area
.flex-control-thumbs
img {
    display: block !important;

    width: 80px !important;
    height: 80px !important;

    padding: 3px !important;

    object-fit: cover !important;

    background: #ffffff !important;

    border: 2px solid
        rgba(255,255,255,.40) !important;

    border-radius: 14px !important;

    cursor: pointer !important;

    opacity: .8 !important;

    transition:
        .2s ease !important;
}

html body.single-product
.noga-gallery-area
.flex-control-thumbs
img:hover,
html body.single-product
.noga-gallery-area
.flex-control-thumbs
img.flex-active {
    opacity: 1 !important;

    border-color:
        var(--noga-yellow) !important;

    transform:
        translateY(-2px) !important;
}


/* ==========================================================
   PRODUCT CARD
   ========================================================== */

html body.single-product .noga-product-card {
    position: relative !important;

    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 45px !important;

    background: #ffffff !important;

    border: 0 !important;

    border-radius: 34px !important;

    box-shadow:
        0 30px 90px rgba(0,0,0,.18) !important;

    box-sizing: border-box !important;
}


/* CATEGORY */

html body.single-product .noga-category-badge {
    display: inline-flex !important;
    align-items: center !important;

    width: auto !important;

    margin: 0 0 18px !important;

    padding: 9px 15px !important;

    background: #e7f3fd !important;

    border-radius: 100px !important;

    color: var(--noga-blue) !important;

    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;

    letter-spacing: .08em !important;
}


/* TITLE */

html body.single-product h1.noga-product-title {
    display: block !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    color: var(--noga-text) !important;

    font-size:
        clamp(40px, 4.5vw, 64px) !important;

    line-height: 1.02 !important;

    font-weight: 800 !important;

    letter-spacing: -.03em !important;
}


/* ==========================================================
   RATING
   ========================================================== */

html body.single-product .noga-rating-row {
    display: flex !important;

    align-items: center !important;

    flex-wrap: wrap !important;

    gap: 10px !important;

    margin: 0 0 15px !important;
}

html body.single-product
.noga-rating-row
.star-rating {
    float: none !important;

    margin: 0 !important;

    color: var(--noga-yellow) !important;
}

html body.single-product
.noga-rating-number {
    color: var(--noga-text) !important;

    font-weight: 900 !important;
}

html body.single-product
button.noga-review-link {
    display: inline !important;

    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;

    color: var(--noga-muted) !important;

    font-size: 14px !important;

    text-transform: none !important;

    cursor: pointer !important;
}

html body.single-product
.noga-no-reviews {
    color: var(--noga-muted) !important;
}


/* ==========================================================
   STOCK
   ========================================================== */

html body.single-product .noga-stock {
    display: flex !important;

    align-items: center !important;

    gap: 8px !important;

    margin: 0 0 22px !important;

    color: var(--noga-green) !important;

    font-size: 14px !important;
    font-weight: 800 !important;
}

html body.single-product .noga-stock-dot {
    display: inline-block !important;

    width: 9px !important;
    height: 9px !important;

    flex: 0 0 9px !important;

    background: #22c55e !important;

    border-radius: 50% !important;

    box-shadow:
        0 0 0 4px rgba(34,197,94,.12) !important;
}

html body.single-product
.noga-stock-dot.out {
    background: #dc2626 !important;

    box-shadow:
        0 0 0 4px rgba(220,38,38,.12) !important;
}


/* ==========================================================
   DESCRIPTION
   ========================================================== */

html body.single-product
.noga-short-description {
    display: block !important;

    margin: 0 0 27px !important;

    color: var(--noga-muted) !important;

    font-size: 16px !important;
    line-height: 1.75 !important;
}

html body.single-product
.noga-short-description p {
    margin: 0 0 10px !important;
}


/* ==========================================================
   PRICE
   ========================================================== */

html body.single-product .noga-price-area {
    display: block !important;

    margin: 0 0 28px !important;
}

html body.single-product .noga-main-price {
    display: block !important;

    color: var(--noga-yellow) !important;

    font-size: 44px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

html body.single-product
.noga-main-price
.amount,
html body.single-product
.noga-main-price
.woocommerce-Price-amount {
    color: var(--noga-yellow) !important;

    font-size: inherit !important;
    font-weight: inherit !important;
}

html body.single-product
.noga-main-price del {
    margin-right: 8px !important;

    opacity: .35 !important;

    font-size: 22px !important;
}

html body.single-product
.noga-main-price ins {
    text-decoration: none !important;
}

html body.single-product
.noga-tax-label {
    display: block !important;

    margin-top: 8px !important;

    color: #8a96a5 !important;

    font-size: 12px !important;
}


/* ==========================================================
   QUANTITY + CART
   ========================================================== */

html body.single-product .noga-order-area {
    display: grid !important;

    grid-template-columns:
        135px minmax(0,1fr) !important;

    gap: 12px !important;

    width: 100% !important;
}

html body.single-product
.noga-quantity {
    display: grid !important;

    grid-template-columns:
        40px minmax(0,1fr) 40px !important;

    width: 100% !important;
    height: 56px !important;

    overflow: hidden !important;

    background: #ffffff !important;

    border: 1px solid
        var(--noga-border) !important;

    border-radius: 14px !important;
}

html body.single-product
.noga-quantity
button {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 40px !important;
    height: 54px !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    border-radius: 0 !important;

    background: #f3f6f9 !important;

    color: var(--noga-text) !important;

    font-size: 22px !important;
    line-height: 1 !important;

    cursor: pointer !important;
}

html body.single-product
input.noga-qty-input {
    display: block !important;

    width: 100% !important;
    height: 54px !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    border-radius: 0 !important;

    outline: none !important;

    box-shadow: none !important;

    background: #ffffff !important;

    color: var(--noga-text) !important;

    text-align: center !important;

    font-size: 16px !important;
    font-weight: 900 !important;
}


/* ADD TO CART */

html body.single-product
button.noga-main-add-cart {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 56px !important;

    margin: 0 !important;
    padding: 0 24px !important;

    border: 0 !important;

    border-radius: 14px !important;

    background:
        var(--noga-yellow) !important;

    color: #142333 !important;

    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;

    text-transform: uppercase !important;

    box-shadow:
        0 10px 25px
        rgba(255,189,0,.22) !important;

    cursor: pointer !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease !important;
}

html body.single-product
button.noga-main-add-cart:hover {
    transform:
        translateY(-2px) !important;

    box-shadow:
        0 14px 30px
        rgba(255,189,0,.32) !important;
}


/* BUY NOW */

html body.single-product
a.noga-buy-now {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 56px !important;

    margin: 13px 0 0 !important;
    padding: 0 24px !important;

    background: #ffffff !important;

    border: 2px solid
        var(--noga-blue) !important;

    border-radius: 14px !important;

    color: var(--noga-blue) !important;

    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;

    text-transform: uppercase !important;
    text-decoration: none !important;

    box-sizing: border-box !important;

    transition: .2s ease !important;
}

html body.single-product
a.noga-buy-now:hover {
    background:
        var(--noga-blue) !important;

    color: #ffffff !important;
}


/* ==========================================================
   BENEFITS
   ========================================================== */

html body.single-product .noga-benefits {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0,1fr)) !important;

    gap: 15px !important;

    margin: 30px 0 0 !important;

    padding: 25px 0 0 !important;

    border-top: 1px solid
        var(--noga-border) !important;
}

html body.single-product
.noga-benefit {
    display: flex !important;

    flex-direction: column !important;

    gap: 7px !important;

    color: var(--noga-muted) !important;

    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
}

html body.single-product
.noga-benefit span {
    color: var(--noga-blue) !important;

    font-size: 21px !important;
}


/* ==========================================================
   CONTENT SECTIONS
   ========================================================== */

html body.single-product
.noga-content-section,
html body.single-product
.noga-related-section,
html body.single-product
.noga-bottom-section {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 45px 0 0 !important;

    background: var(--noga-bg) !important;
}


/* ==========================================================
   CARDS
   ========================================================== */

html body.single-product
.noga-info-card,
html body.single-product
.noga-related-card,
html body.single-product
.noga-review-summary-card {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 35px !important;

    background: #ffffff !important;

    border: 1px solid
        rgba(220,228,236,.7) !important;

    border-radius: 28px !important;

    box-shadow:
        0 12px 40px
        rgba(20,35,51,.06) !important;

    box-sizing: border-box !important;
}


/* ==========================================================
   TABS
   ========================================================== */

html body.single-product
.noga-tabs-nav {
    display: flex !important;

    align-items: center !important;

    gap: 28px !important;

    width: 100% !important;

    margin: 0 0 30px !important;
    padding: 0 !important;

    border-bottom: 1px solid
        var(--noga-border) !important;
}

html body.single-product
button.noga-tab-button {
    position: relative !important;

    display: inline-flex !important;

    width: auto !important;
    min-height: 0 !important;

    margin: 0 !important;

    padding: 0 0 17px !important;

    background: transparent !important;

    border: 0 !important;
    border-bottom:
        3px solid transparent !important;

    border-radius: 0 !important;

    color: #7b8794 !important;

    font-size: 14px !important;
    font-weight: 800 !important;

    text-transform: none !important;

    cursor: pointer !important;
}

html body.single-product
button.noga-tab-button.active {
    color: var(--noga-blue) !important;

    border-bottom-color:
        var(--noga-yellow) !important;
}

html body.single-product
.noga-tab-panel {
    display: none !important;

    color: var(--noga-muted) !important;

    line-height: 1.75 !important;
}

html body.single-product
.noga-tab-panel.active {
    display: block !important;
}


/* ATTRIBUTES */

html body.single-product
.noga-attribute-row {
    display: grid !important;

    grid-template-columns:
        190px minmax(0,1fr) !important;

    gap: 25px !important;

    padding: 15px 0 !important;

    border-bottom: 1px solid
        var(--noga-border) !important;
}

html body.single-product
.noga-attribute-row strong {
    color: var(--noga-text) !important;
}


/* ==========================================================
   SECTION HEADINGS
   ========================================================== */

html body.single-product
.noga-section-small {
    display: block !important;

    margin: 0 0 7px !important;

    color: var(--noga-blue) !important;

    font-size: 11px !important;
    font-weight: 900 !important;

    letter-spacing: .1em !important;

    text-transform: uppercase !important;
}

html body.single-product
.noga-related-card h2,
html body.single-product
.noga-review-summary-card h2,
html body.single-product
.noga-category-cta h2 {
    margin: 0 0 25px !important;

    color: var(--noga-text) !important;

    font-size: 34px !important;
    line-height: 1.15 !important;

    font-weight: 800 !important;
}


/* ==========================================================
   RELATED PRODUCTS
   ========================================================== */

html body.single-product
.noga-related-grid {
    display: grid !important;

    grid-template-columns:
        repeat(5, minmax(0,1fr)) !important;

    gap: 18px !important;

    width: 100% !important;

    margin: 25px 0 0 !important;
}

html body.single-product
.noga-related-product {
    display: block !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background: #ffffff !important;

    border: 1px solid
        var(--noga-border) !important;

    border-radius: 20px !important;

    box-shadow: none !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease !important;
}

html body.single-product
.noga-related-product:hover {
    transform:
        translateY(-4px) !important;

    box-shadow:
        0 15px 35px
        rgba(20,35,51,.10) !important;
}

html body.single-product
.noga-related-image {
    display: block !important;

    width: 100% !important;

    aspect-ratio: 1 / 1 !important;

    overflow: hidden !important;

    background: #f7f9fb !important;
}

html body.single-product
.noga-related-image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;

    object-fit: contain !important;

    transition:
        transform .3s ease !important;
}

html body.single-product
.noga-related-product:hover
.noga-related-image img {
    transform:
        scale(1.04) !important;
}

html body.single-product
.noga-related-info {
    display: block !important;

    padding: 16px !important;
}

html body.single-product
a.noga-related-title {
    display: block !important;

    min-height: 43px !important;

    color: var(--noga-text) !important;

    font-size: 15px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;

    text-decoration: none !important;
}

html body.single-product
.noga-related-bottom {
    display: flex !important;

    align-items: center !important;
    justify-content: space-between !important;

    gap: 10px !important;

    margin: 14px 0 0 !important;
}

html body.single-product
.noga-related-price,
html body.single-product
.noga-related-price .amount {
    color: var(--noga-blue) !important;

    font-size: 16px !important;
    font-weight: 900 !important;
}

html body.single-product
button.noga-related-plus {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 40px !important;

    width: 40px !important;
    height: 40px !important;

    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background:
        var(--noga-yellow) !important;

    border: 0 !important;

    border-radius: 50% !important;

    color: var(--noga-text) !important;

    font-size: 23px !important;
    line-height: 1 !important;
    font-weight: 700 !important;

    cursor: pointer !important;
}


/* ==========================================================
   BOTTOM
   ========================================================== */

html body.single-product
.noga-bottom-grid {
    display: grid !important;

    grid-template-columns:
        .8fr 1.2fr !important;

    gap: 25px !important;

    width: 100% !important;
}


/* REVIEWS */

html body.single-product
.noga-review-score {
    display: flex !important;

    align-items: center !important;

    gap: 18px !important;
}

html body.single-product
.noga-review-score > strong {
    color: var(--noga-blue) !important;

    font-size: 50px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

html body.single-product
button.noga-see-reviews {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-height: 46px !important;

    margin: 22px 0 0 !important;

    padding: 0 20px !important;

    background:
        var(--noga-blue) !important;

    border: 0 !important;

    border-radius: 12px !important;

    color: #ffffff !important;

    font-weight: 800 !important;

    text-transform: none !important;

    cursor: pointer !important;
}


/* CATEGORY CTA */

html body.single-product
.noga-category-cta {
    position: relative !important;

    display: grid !important;

    grid-template-columns:
        minmax(0,1fr) 230px !important;

    align-items: center !important;

    gap: 20px !important;

    min-height: 100% !important;

    padding: 35px !important;

    overflow: hidden !important;

    background:
        linear-gradient(
            135deg,
            var(--noga-blue-deep),
            var(--noga-blue)
        ) !important;

    border-radius: 28px !important;

    color: #ffffff !important;
}

html body.single-product
.noga-category-cta h2 {
    color: #ffffff !important;
}

html body.single-product
.noga-category-cta > div > span {
    display: block !important;

    margin-bottom: 8px !important;

    color:
        rgba(255,255,255,.72) !important;
}

html body.single-product
.noga-category-cta img {
    display: block !important;

    width: 100% !important;
    height: 220px !important;

    object-fit: contain !important;
}

html body.single-product
a.noga-category-button {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-height: 46px !important;

    padding: 0 22px !important;

    background:
        var(--noga-yellow) !important;

    border-radius: 12px !important;

    color: var(--noga-text) !important;

    font-weight: 900 !important;

    text-decoration: none !important;
}


/* ==========================================================
   STICKY BAR
   ========================================================== */

html body.single-product
.noga-sticky-bar {
    position: fixed !important;

    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    z-index: 9998 !important;

    display: block !important;

    width: 100% !important;

    background:
        rgba(255,255,255,.97) !important;

    border-top: 1px solid
        var(--noga-border) !important;

    box-shadow:
        0 -10px 40px
        rgba(20,35,51,.10) !important;

    backdrop-filter:
        blur(14px) !important;
}

html body.single-product
.noga-sticky-inner {
    display: flex !important;

    align-items: center !important;
    justify-content: space-between !important;

    gap: 20px !important;

    width: calc(100% - 60px) !important;
    max-width: 1380px !important;

    min-height: 88px !important;

    margin: 0 auto !important;
}

html body.single-product
.noga-sticky-product {
    display: flex !important;

    align-items: center !important;

    gap: 13px !important;
}

html body.single-product
.noga-sticky-product img {
    display: block !important;

    width: 58px !important;
    height: 58px !important;

    object-fit: contain !important;

    background: #f4f7fa !important;

    border-radius: 11px !important;
}

html body.single-product
.noga-sticky-product strong,
html body.single-product
.noga-sticky-product span {
    display: block !important;
}

html body.single-product
.noga-sticky-product strong {
    color: var(--noga-text) !important;
}

html body.single-product
.noga-sticky-product span,
html body.single-product
.noga-sticky-product .amount {
    color: var(--noga-blue) !important;

    font-weight: 900 !important;
}

html body.single-product
.noga-sticky-actions {
    display: flex !important;

    align-items: center !important;

    gap: 10px !important;
}


/* STICKY QUANTITY */

html body.single-product
.noga-sticky-quantity {
    display: grid !important;

    grid-template-columns:
        38px 48px 38px !important;

    height: 48px !important;

    overflow: hidden !important;

    background: #ffffff !important;

    border: 1px solid
        var(--noga-border) !important;

    border-radius: 12px !important;
}

html body.single-product
.noga-sticky-quantity button {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    height: 46px !important;

    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    border-radius: 0 !important;

    background: #f3f6f9 !important;

    color: var(--noga-text) !important;

    font-size: 20px !important;

    cursor: pointer !important;
}

html body.single-product
input.noga-sticky-qty {
    display: block !important;

    width: 48px !important;
    height: 46px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background: #ffffff !important;

    box-shadow: none !important;

    text-align: center !important;

    font-weight: 900 !important;
}


/* STICKY ADD */

html body.single-product
button.noga-sticky-add {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    height: 48px !important;
    min-height: 48px !important;

    margin: 0 !important;

    padding: 0 25px !important;

    border: 0 !important;

    border-radius: 12px !important;

    background:
        var(--noga-yellow) !important;

    color: var(--noga-text) !important;

    font-size: 13px !important;
    font-weight: 900 !important;

    text-transform: uppercase !important;

    cursor: pointer !important;
}


/* STICKY BUY */

html body.single-product
a.noga-sticky-buy {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    height: 48px !important;

    padding: 0 22px !important;

    border: 2px solid
        var(--noga-blue) !important;

    border-radius: 12px !important;

    background: #ffffff !important;

    color: var(--noga-blue) !important;

    font-size: 13px !important;
    font-weight: 900 !important;

    text-transform: uppercase !important;

    text-decoration: none !important;
}


/* ==========================================================
   LOADING
   ========================================================== */

html body.single-product
.noga-main-add-cart.loading,
html body.single-product
.noga-sticky-add.loading,
html body.single-product
.noga-related-plus.loading {
    opacity: .55 !important;

    pointer-events: none !important;

    cursor: wait !important;
}


/* ==========================================================
   TOAST
   ========================================================== */

html body.single-product
.noga-product-toast {
    position: fixed !important;

    right: 25px !important;
    bottom: 110px !important;

    z-index: 10000 !important;

    display: flex !important;

    align-items: center !important;

    gap: 10px !important;

    padding: 16px 20px !important;

    background: #142333 !important;

    border-radius: 14px !important;

    color: #ffffff !important;

    box-shadow:
        0 15px 40px
        rgba(0,0,0,.20) !important;

    opacity: 0 !important;

    visibility: hidden !important;

    transform:
        translateY(15px) !important;

    transition:
        opacity .25s ease,
        transform .25s ease,
        visibility .25s ease !important;
}

html body.single-product
.noga-product-toast.show {
    opacity: 1 !important;

    visibility: visible !important;

    transform:
        translateY(0) !important;
}

html body.single-product
.noga-product-toast span {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 24px !important;
    height: 24px !important;

    background: #22c55e !important;

    border-radius: 50% !important;

    color: #ffffff !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1100px) {

    html body.single-product
    .noga-product-layout {
        grid-template-columns:
            1fr !important;

        gap: 35px !important;
    }

    html body.single-product
    .noga-product-card {
        max-width: 800px !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

    html body.single-product
    .noga-related-grid {
        grid-template-columns:
            repeat(3, minmax(0,1fr)) !important;
    }

    html body.single-product
    .noga-bottom-grid {
        grid-template-columns:
            1fr !important;
    }

    html body.single-product
    .noga-sticky-product {
        max-width: 300px !important;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767px) {

    html body.single-product
    .noga-product-container {
        width: calc(100% - 24px) !important;
    }

    html body.single-product
    .noga-exact-hero {
        padding: 25px 0 45px !important;
    }

    html body.single-product
    .noga-back-menu {
        margin-bottom: 20px !important;
    }

    html body.single-product
    .noga-product-layout {
        gap: 25px !important;
    }

    html body.single-product
    .noga-gallery-area
    .woocommerce-product-gallery__image
    img {
        height: 390px !important;

        padding: 15px !important;

        border-radius: 22px !important;
    }

    html body.single-product
    .noga-gallery-area
    .flex-control-thumbs
    li {
        width: 64px !important;
    }

    html body.single-product
    .noga-gallery-area
    .flex-control-thumbs
    img {
        width: 64px !important;
        height: 64px !important;
    }

    html body.single-product
    .noga-product-card {
        padding: 25px 18px !important;

        border-radius: 24px !important;
    }

    html body.single-product
    h1.noga-product-title {
        font-size: 37px !important;
    }

    html body.single-product
    .noga-main-price {
        font-size: 37px !important;
    }

    html body.single-product
    .noga-order-area {
        grid-template-columns:
            1fr !important;
    }

    html body.single-product
    .noga-benefits {
        grid-template-columns:
            1fr !important;
    }

    html body.single-product
    .noga-info-card,
    html body.single-product
    .noga-related-card,
    html body.single-product
    .noga-review-summary-card {
        padding: 24px 18px !important;

        border-radius: 22px !important;
    }

    html body.single-product
    .noga-tabs-nav {
        gap: 18px !important;

        overflow-x: auto !important;
    }

    html body.single-product
    .noga-tab-button {
        flex: 0 0 auto !important;
    }

    html body.single-product
    .noga-attribute-row {
        grid-template-columns:
            1fr !important;

        gap: 5px !important;
    }

    html body.single-product
    .noga-related-grid {
        display: flex !important;

        gap: 14px !important;

        overflow-x: auto !important;

        scroll-snap-type:
            x mandatory !important;

        padding-bottom: 10px !important;
    }

    html body.single-product
    .noga-related-product {
        flex: 0 0 220px !important;

        width: 220px !important;

        scroll-snap-align:
            start !important;
    }

    html body.single-product
    .noga-category-cta {
        grid-template-columns:
            1fr !important;

        padding: 25px !important;
    }

    html body.single-product
    .noga-category-cta img {
        display: none !important;
    }

    html body.single-product
    .noga-sticky-inner {
        width: calc(100% - 20px) !important;

        min-height: 76px !important;
    }

    html body.single-product
    .noga-sticky-product {
        display: none !important;
    }

    html body.single-product
    .noga-sticky-actions {
        width: 100% !important;
    }

    html body.single-product
    .noga-sticky-quantity {
        display: none !important;
    }

    html body.single-product
    .noga-sticky-add,
    html body.single-product
    .noga-sticky-buy {
        flex: 1 1 50% !important;

        padding-left: 8px !important;
        padding-right: 8px !important;

        font-size: 11px !important;
    }

    html body.single-product
    .noga-product-toast {
        left: 12px !important;
        right: 12px !important;

        bottom: 90px !important;

        justify-content: center !important;
    }
}

/* ==========================================================
   NOGA PRODUCT — FINAL BACKGROUND DECOR
   MATCHED TO CURRENT PHP CLASSES
   ========================================================== */

/* MAIN PAGE */
html body.single-product .noga-exact-page {
    position: relative !important;
    isolation: isolate !important;

    background:
        radial-gradient(
            circle 170px at 2% 48%,
            rgba(22, 126, 211, 0.08) 0%,
            rgba(22, 126, 211, 0.08) 99%,
            transparent 100%
        ),

        radial-gradient(
            circle 230px at 100% 68%,
            rgba(22, 126, 211, 0.07) 0%,
            rgba(22, 126, 211, 0.07) 99%,
            transparent 100%
        ),

        radial-gradient(
            circle 110px at 78% 82%,
            rgba(22, 126, 211, 0.06) 0%,
            rgba(22, 126, 211, 0.06) 99%,
            transparent 100%
        ),

        linear-gradient(
            180deg,
            #eef8ff 0%,
            #f7fbff 30%,
            #f8fcff 65%,
            #f3f9ff 100%
        ) !important;

    overflow: hidden !important;
}


/* HERO */
html body.single-product .noga-exact-hero {
    position: relative !important;
    z-index: 2 !important;

    background:
        radial-gradient(
            circle at 10% 30%,
            rgba(37, 156, 243, .32) 0%,
            transparent 30%
        ),

        radial-gradient(
            circle at 90% 25%,
            rgba(255,255,255,.10) 0%,
            transparent 20%
        ),

        linear-gradient(
            110deg,
            #064b8e 0%,
            #0868b7 52%,
            #0b82d3 100%
        ) !important;

    padding-bottom: 115px !important;
    overflow: visible !important;
}

html body.single-product .noga-gallery-area .woocommerce-product-gallery__image{
    
    background: none !important;
}

/* CURVED BOTTOM OF HERO */
html body.single-product .noga-exact-hero::after {
    content: "" !important;

    position: absolute !important;
    left: -5% !important;
    right: -5% !important;
    bottom: -56px !important;

    width: 110% !important;
    height: 135px !important;

    background: #f4faff !important;

    border-radius:
        50% 50% 0 0 /
        100% 100% 0 0 !important;

    z-index: 1 !important;
    pointer-events: none !important;
}


/* HERO CONTENT ABOVE CURVE */
html body.single-product
.noga-exact-hero
.noga-product-container {
    position: relative !important;
    z-index: 5 !important;
}


/* CORRECT PHP SECTIONS */
html body.single-product .noga-product-content-section,
html body.single-product .noga-related-section,
html body.single-product .noga-bottom-section {
    position: relative !important;
    z-index: 3 !important;
    background: transparent !important;
}


/* FIRST SECTION AFTER HERO */
html body.single-product .noga-product-content-section {
    padding-top: 80px !important;
}


/* REMOVE BASILICO BACKGROUND */
html body.single-product #primary,
html body.single-product #main,
html body.single-product main,
html body.single-product .site-main,
html body.single-product .content-area,
html body.single-product .site-content,
html body.single-product .woocommerce,
html body.single-product .woocommerce-page {
    background: transparent !important;
}


/* WHITE CARDS */
html body.single-product .noga-info-card,
html body.single-product .noga-related-card,
html body.single-product .noga-review-summary-card {
    background: rgba(255,255,255,.97) !important;

    border:
        1px solid rgba(7,89,159,.06) !important;

    box-shadow:
        0 16px 45px rgba(7,73,130,.07) !important;

    position: relative !important;
    z-index: 5 !important;
}


/* BLUE CIRCLE LEFT */
html body.single-product
.noga-related-section::before {
    content: "" !important;

    position: absolute !important;
    left: -85px !important;
    top: 25% !important;

    width: 260px !important;
    height: 260px !important;

    border-radius: 50% !important;
    background: rgba(39,145,224,.06) !important;

    pointer-events: none !important;
}


/* BLUE CIRCLE RIGHT */
html body.single-product
.noga-bottom-section::before {
    content: "" !important;

    position: absolute !important;
    right: -110px !important;
    top: -140px !important;

    width: 330px !important;
    height: 330px !important;

    border-radius: 50% !important;
    background: rgba(39,145,224,.055) !important;

    pointer-events: none !important;
}


/* DOT DECOR */
html body.single-product
.noga-related-section::after {
    content: "" !important;

    position: absolute !important;
    left: 7% !important;
    bottom: 5% !important;

    width: 85px !important;
    height: 85px !important;

    background-image:
        radial-gradient(
            circle,
            rgba(7,89,159,.35) 2px,
            transparent 2px
        ) !important;

    background-size: 14px 14px !important;
    opacity: .35 !important;

    pointer-events: none !important;
}


/* CONTENT ABOVE DECORATION */
html body.single-product
.noga-product-container {
    position: relative !important;
    z-index: 5 !important;
}


/* MOBILE */
@media (max-width: 767px) {

    html body.single-product
    .noga-exact-hero {
        padding-bottom: 70px !important;
    }

    html body.single-product
    .noga-exact-hero::after {
        height: 80px !important;
        bottom: -30px !important;
    }

    html body.single-product
    .noga-product-content-section {
        padding-top: 50px !important;
    }

    html body.single-product
    .noga-related-section::before,
    html body.single-product
    .noga-bottom-section::before {
        transform: scale(.65) !important;
    }
    
    html body.single-product button.noga-sticky-add {
    font-size: 10px !important;
}

html body.single-product a.noga-sticky-buy {
    font-size: 10px !important;
}

html body.single-product .noga-benefit span {
    font-size: 12px !important;
}

html body.single-product .noga-benefit {
    flex-direction: row !important;
}
}
