/* =========================================================
   CUBE AROMA — SINGLE PRODUCT
========================================================= */

.cube-single-product-page {

    --cube-bg: #FFFDFB;
    --cube-soft: #F8F1E8;
    --cube-beige: #EAD6C9;
    --cube-dark: #4D4C50;
    --cube-grey: #5C5D60;

    width: 100%;

    padding: 40px 32px 76px;

    background: var(--cube-bg);

    color: var(--cube-dark);

    font-family: "Cairo", sans-serif;

    direction: rtl;
}


.cube-single-product-page *,
.cube-single-product-page *::before,
.cube-single-product-page *::after {

    box-sizing: border-box;
}


.cube-single-product-page a {

    color: inherit;

    text-decoration: none;
}


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

.cube-single-product-container {

    width: 100%;

    max-width: 1180px;

    margin: 0 auto;
}


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

.cube-product-hero {

    display: grid;

    grid-template-columns:
        390px
        770px;

    gap: 20px;

    justify-content: center;

    align-items: stretch;

    direction: ltr;
}


/* =========================================================
   SUMMARY
========================================================= */

.cube-product-summary {

    width: 390px;

    height: 620px;

    padding: 30px 28px;

    overflow-y: auto;

    background: var(--cube-soft);

    border-radius: 12px;

    direction: rtl;

    text-align: right;
}


.cube-product-category {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 30px;

    margin: 0 0 15px;

    padding: 5px 14px;

    background:
        rgba(
            255,
            253,
            251,
            0.72
        );

    border-radius: 999px;

    color: var(--cube-grey);

    font-size: 11px;

    font-weight: 500;
}


.cube-single-title {

    margin: 0 0 10px;

    color: var(--cube-dark);

    font-size: 34px;

    font-weight: 600;

    line-height: 1.35;
}


.cube-product-short-description {

    margin: 0 0 22px;

    color: var(--cube-grey);

    font-size: 13px;

    font-weight: 400;

    line-height: 1.8;
}


.cube-product-short-description p {

    margin: 0 0 8px;
}


.cube-product-main-price {

    margin: 0 0 25px;

    color: var(--cube-dark);

    font-size: 20px;

    font-weight: 600;

    line-height: 1.4;

    direction: ltr;

    unicode-bidi: isolate;

    text-align: right;
}


.cube-product-main-price del {

    color: var(--cube-grey);

    opacity: 0.55;
}


.cube-product-main-price ins {

    color: var(--cube-dark);

    text-decoration: none;
}


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

.cube-product-gallery {

    position: relative;

    width: 770px;

    height: 620px;

    padding: 18px;

    overflow: hidden;

    background: var(--cube-soft);

    border-radius: 12px;
}


.cube-gallery-layout {

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        84px;

    gap: 12px;

    width: 100%;

    height: 100%;

    direction: ltr;
}


.cube-product-gallery.has-no-thumbnails
.cube-gallery-layout {

    display: block;
}


.cube-main-image-stage {

    display: flex;

    width: 100%;

    height: 100%;

    align-items: center;

    justify-content: center;

    overflow: hidden;
}


.cube-main-product-image {

    display: block;

    width: auto;

    height: auto;

    max-width: 94%;

    max-height: 580px;

    margin: auto;

    padding: 0;

    border: 0;

    box-shadow: none;

    object-fit: contain;
}


/* =========================================================
   THUMBNAILS
========================================================= */

.cube-product-thumbnails {

    display: flex;

    width: 84px;

    flex-direction: column;

    gap: 9px;
}


.cube-product-thumbnail {

    display: block;

    width: 84px;

    height: 84px;

    margin: 0;

    padding: 0;

    overflow: hidden;

    background: transparent;

    border: 0;

    border-radius: 8px;

    box-shadow: none;

    cursor: pointer;
}


.cube-product-thumbnail img {

    display: block;

    width: 100%;

    height: 100%;

    border: 0;

    border-radius: 8px;

    object-fit: cover;

    opacity: 0.68;
}


.cube-product-thumbnail:hover img,
.cube-product-thumbnail.is-active img {

    opacity: 1;
}


.cube-product-thumbnail.is-active {

    box-shadow:
        0 0 0 2px
        rgba(
            77,
            76,
            80,
            0.20
        );
}


/* =========================================================
   WISHLIST
========================================================= */

.cube-wishlist-button {

    position: absolute;

    top: 28px;

    right: 28px;

    z-index: 5;

    display: flex;

    width: 42px;

    height: 42px;

    align-items: center;

    justify-content: center;

    margin: 0;

    padding: 0;

    background:
        rgba(
            255,
            253,
            251,
            0.96
        ) !important;

    border:
        1px solid
        rgba(
            77,
            76,
            80,
            0.14
        ) !important;

    border-radius: 50% !important;

    box-shadow:
        0 5px 14px
        rgba(
            77,
            76,
            80,
            0.08
        );

    color: var(--cube-dark) !important;

    cursor: pointer;
}


.cube-wishlist-button svg {

    width: 19px;

    height: 19px;

    fill: transparent;

    stroke: var(--cube-dark) !important;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.cube-wishlist-button:hover {

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

    border-color: var(--cube-dark) !important;
}


.cube-wishlist-button.is-active svg {

    fill: var(--cube-dark) !important;

    stroke: var(--cube-dark) !important;
}


/* =========================================================
   VARIATION TABLE
========================================================= */

.cube-product-purchase
table.variations,
.cube-product-purchase
table.variations tbody,
.cube-product-purchase
table.variations tr,
.cube-product-purchase
table.variations th,
.cube-product-purchase
table.variations td {

    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    display: block !important;

    background: transparent !important;

    border: 0 !important;

    box-shadow: none !important;
}


.cube-product-purchase
table.variations tr {

    margin-bottom: 18px !important;
}


.cube-product-purchase
table.variations th.label {

    display: none !important;
}


.cube-product-purchase
table.variations select {

    position: absolute !important;

    width: 1px !important;

    height: 1px !important;

    opacity: 0 !important;

    pointer-events: none !important;
}


.cube-product-purchase
.reset_variations {

    display: none !important;
}


/* =========================================================
   VARIATIONS
========================================================= */

.cube-variation-heading {

    margin: 0 0 8px;

    color: var(--cube-dark);

    font-size: 12px;

    font-weight: 500;
}


.cube-variation-options {

    display: flex !important;

    flex-direction: row !important;

    flex-wrap: wrap !important;

    align-items: center !important;

    justify-content: flex-start !important;

    gap: 8px !important;

    width: 100%;

    direction: rtl;
}


/* COLOR GROUP */

.cube-variation-options.is-color-group {

    display: flex !important;

    flex-direction: row !important;

    flex-wrap: wrap !important;

    align-items: center !important;

    justify-content: flex-start !important;

    gap: 8px !important;
}


.cube-variation-option {

    display: inline-flex !important;

    flex: 0 0 auto !important;

    min-width: 74px;

    min-height: 42px;

    align-items: center !important;

    justify-content: center !important;

    margin: 0 !important;

    padding: 7px 12px !important;

    white-space: nowrap !important;

    background: transparent !important;

    border:
        1px solid
        rgba(
            77,
            76,
            80,
            0.18
        ) !important;

    border-radius: 8px;

    box-shadow: none !important;

    color: var(--cube-dark) !important;

    -webkit-text-fill-color:
        var(--cube-dark) !important;

    font-family: "Cairo", sans-serif;

    font-size: 12px;

    font-weight: 500;

    cursor: pointer;
}


.cube-variation-option.is-color-option {

    display: inline-flex !important;

    flex: 0 0 auto !important;

    flex-direction: row !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 6px !important;

    width: auto !important;

    min-width: 0 !important;

    white-space: nowrap !important;

    padding: 7px 11px !important;
}


.cube-single-color-swatch {

    display: inline-block !important;

    width: 17px !important;

    height: 17px !important;

    min-width: 17px !important;

    flex: 0 0 17px !important;

    margin: 0 !important;

    border:
        1px solid
        rgba(
            77,
            76,
            80,
            0.20
        );

    border-radius: 50%;

    vertical-align: middle;
}


.cube-single-color-swatch.is-white {

    border-color:
        rgba(
            77,
            76,
            80,
            0.32
        );
}


.cube-single-color-swatch.has-no-color {

    background:
        linear-gradient(
            135deg,
            #E4E5E6 0%,
            #E4E5E6 45%,
            #4D4C50 46%,
            #4D4C50 54%,
            #E4E5E6 55%,
            #E4E5E6 100%
        );
}


.cube-single-color-name {

    display: inline-block !important;

    width: auto !important;

    margin: 0 !important;

    padding: 0 !important;

    white-space: nowrap !important;

    color: inherit !important;

    -webkit-text-fill-color:
        inherit !important;

    font-size: 12px;

    font-weight: 500;

    line-height: 1.2;
}


@media
(hover: hover)
and
(pointer: fine) {

    .cube-variation-option:hover {

        background:
            var(--cube-soft) !important;

        border-color:
            rgba(
                77,
                76,
                80,
                0.42
            ) !important;

        color:
            var(--cube-dark) !important;

        -webkit-text-fill-color:
            var(--cube-dark) !important;
    }
}


.cube-variation-option.is-selected,
.cube-variation-option.is-selected:hover,
.cube-variation-option.is-selected:focus {

    background:
        var(--cube-dark) !important;

    border-color:
        var(--cube-dark) !important;

    color:
        var(--cube-bg) !important;

    -webkit-text-fill-color:
        var(--cube-bg) !important;
}


/* =========================================================
   VARIATION PRICE / STOCK
========================================================= */

.cube-product-purchase
.woocommerce-variation-price {

    display: none !important;
}


.cube-product-purchase
.stock {

    color:
        var(--cube-grey) !important;

    font-size:
        11px !important;
}

/* إخفاء أسهم number input في Safari / Chrome */
.cube-product-purchase input.qty::-webkit-outer-spin-button,
.cube-product-purchase input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* إخفاءها بفايرفوكس */
.cube-product-purchase input.qty {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}
/* =========================================================
   CART ROW
========================================================= */

.cube-product-purchase
.woocommerce-variation-add-to-cart,
.cube-product-purchase
form.cart:not(.variations_form) {

    display: grid !important;

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

    grid-template-areas:
        "quantity cart";

    gap: 9px;

    width: 100%;

    direction: ltr;
}


.cube-product-purchase
.quantity {

    grid-area: quantity;
}


.cube-product-purchase
.single_add_to_cart_button {

    grid-area: cart;
}


/* =========================================================
   CART BUTTON — FIX ICON NEXT TO "السلة"
========================================================= */

.cube-product-purchase
.single_add_to_cart_button {

    display: flex !important;

    width: 100% !important;

    min-height: 46px !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 8px !important;

    margin: 0 !important;

    padding: 8px 12px !important;

    background: var(--cube-dark) !important;

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

    border-radius: 8px !important;

    box-shadow: none !important;

    color: var(--cube-bg) !important;

    -webkit-text-fill-color: var(--cube-bg) !important;

    font-family: "Cairo", sans-serif !important;

    font-size: 13px !important;

    font-weight: 600 !important;

    cursor: pointer !important;

    direction: rtl !important;

    text-align: center !important;
}


/* شيل أي أيقونة قديمة */
.cube-product-purchase
.single_add_to_cart_button::after {

    display: none !important;

    content: none !important;
}


/* الأيقونة تصير جنب كلمة السلة */
.cube-product-purchase
.single_add_to_cart_button::before {

    content: "";

    display: inline-block !important;

    width: 15px;

    height: 15px;

    flex: 0 0 15px;

    order: 2;

    background-color: currentColor;

    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='19' cy='20' r='1'/%3E%3Cpath d='M3 4h2l2.6 10.4a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L21 8H7'/%3E%3C/svg%3E")
        center / contain no-repeat;

    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='19' cy='20' r='1'/%3E%3Cpath d='M3 4h2l2.6 10.4a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L21 8H7'/%3E%3C/svg%3E")
        center / contain no-repeat;
}


@media (hover: hover) and (pointer: fine) {

    .cube-product-purchase
    .single_add_to_cart_button:hover {

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

        color: var(--cube-dark) !important;

        -webkit-text-fill-color: var(--cube-dark) !important;
    }
}

/* =========================================================
   QUANTITY
========================================================= */

.cube-product-purchase
.quantity.cube-quantity {

    display: grid !important;

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

    width: 118px !important;

    height: 46px !important;

    margin: 0 !important;

    padding: 0 !important;

    overflow: hidden;

    background:
        transparent !important;

    border:
        1px solid
        rgba(
            77,
            76,
            80,
            0.18
        ) !important;

    border-radius:
        8px !important;

    box-shadow:
        none !important;
}


.cube-product-purchase
.quantity.cube-quantity:focus-within {

    box-shadow:
        0 3px 10px
        rgba(
            77,
            76,
            80,
            0.07
        ) !important;
}


.cube-product-purchase
.quantity.cube-quantity
input.qty {

    width:
        100% !important;

    height:
        44px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-right:
        1px solid
        rgba(
            77,
            76,
            80,
            0.12
        ) !important;

    border-left:
        1px solid
        rgba(
            77,
            76,
            80,
            0.12
        ) !important;

    color:
        var(--cube-dark) !important;

    text-align:
        center !important;

    outline:
        none !important;
}


.cube-product-purchase
.cube-qty-button {

    display: flex !important;

    width: 35px !important;

    height: 44px !important;

    align-items: center !important;

    justify-content: center !important;

    padding: 0 !important;

    background:
        transparent !important;

    border: 0 !important;

    color:
        var(--cube-dark) !important;

    font-size:
        17px !important;

    cursor:
        pointer !important;
}


/* =========================================================
   DESCRIPTION / REVIEWS TABS
========================================================= */

.cube-product-info-tabs {

    width: 100%;

    margin: 22px 0 0;

    padding: 20px 22px;

    background:
        var(--cube-soft);

    border-radius:
        12px;
}


.cube-tabs-nav {

    display: flex;

    gap: 28px;

    width: 100%;

    margin:
        0 0 22px;

    border-bottom:
        1px solid
        rgba(
            77,
            76,
            80,
            0.12
        );
}


.cube-tab-button {

    position: relative;

    margin: 0;

    padding:
        0 0 11px;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    color:
        var(--cube-grey) !important;

    -webkit-text-fill-color:
        var(--cube-grey) !important;

    font-family:
        "Cairo",
        sans-serif;

    font-size:
        12px;

    font-weight:
        500;

    cursor:
        pointer;
}


.cube-tab-button.is-active {

    color:
        var(--cube-dark) !important;

    -webkit-text-fill-color:
        var(--cube-dark) !important;

    font-weight:
        600;
}


.cube-tab-button.is-active::after {

    content: "";

    position: absolute;

    right: 0;

    bottom: -1px;

    width: 100%;

    height: 2px;

    background:
        var(--cube-dark);
}


.cube-tab-panel {

    display: none;

    color:
        var(--cube-grey);

    font-size:
        13px;

    line-height:
        2;
}


.cube-tab-panel.is-active {

    display: block;
}


/* =========================================================
   PRODUCT REVIEWS
   SAME VISUAL DIRECTION AS HOME REVIEWS
   WITHOUT IMAGE
========================================================= */

.cube-product-reviews {

    width: 100%;
}


.cube-product-reviews
#reviews {

    width: 100%;
}


/* remove Woo default odd spacing */

.cube-product-reviews
#comments {

    width: 100%;

    margin: 0;
}


.cube-product-reviews
#comments > h2 {

    margin:
        0 0 22px;

    color:
        var(--cube-dark);

    font-family:
        "Cairo",
        sans-serif;

    font-size:
        18px;

    font-weight:
        600;
}


/* REVIEWS TRACK */

.cube-product-reviews
ol.commentlist {

    display: flex !important;

    align-items: stretch;

    gap: 16px;

    width: 100%;

    margin:
        0 !important;

    padding:
        0 !important;

    list-style:
        none !important;

    direction:
        rtl;
}


/* REVIEW CARD */

.cube-product-reviews
ol.commentlist
li.review,
.cube-product-reviews
ol.commentlist
li.comment {

    flex:
        0 0
        calc(
            (100% - 32px) / 3
        );

    min-width: 0;

    margin:
        0 !important;

    padding:
        0 !important;

    background:
        var(--cube-soft) !important;

    border:
        1px solid
        rgba(
            77,
            76,
            80,
            0.08
        ) !important;

    border-radius:
        20px !important;

    box-shadow:
        0 8px 24px
        rgba(
            77,
            76,
            80,
            0.035
        );

    overflow:
        hidden;

    transition:
        transform
        0.3s ease,
        box-shadow
        0.3s ease;
}


@media
(hover: hover)
and
(pointer: fine) {

    .cube-product-reviews
    ol.commentlist
    li.review:hover,
    .cube-product-reviews
    ol.commentlist
    li.comment:hover {

        transform:
            translateY(-4px);

        box-shadow:
            0 14px 32px
            rgba(
                77,
                76,
                80,
                0.06
            );
    }
}


/* Woo avatar not needed */

.cube-product-reviews
.avatar {

    display:
        none !important;
}


/* Woo comment container */

.cube-product-reviews
.comment_container {

    width:
        100% !important;

    height:
        100%;

    margin:
        0 !important;

    padding:
        0 !important;
}


/* card content */

.cube-product-reviews
.comment-text {

    width:
        100% !important;

    min-height:
        220px;

    margin:
        0 !important;

    padding:
        22px 20px !important;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        center;

    background:
        transparent !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    text-align:
        right;
}


/* stars */

.cube-product-reviews
.star-rating {

    float:
        none !important;

    width:
        5.4em !important;

    margin:
        0 0 12px !important;

    color:
        #A88763 !important;

    font-size:
        15px !important;

    line-height:
        1 !important;
}


/* meta */

.cube-product-reviews
.meta {

    order:
        3;

    margin:
        0 !important;

    padding:
        0 !important;

    color:
        var(--cube-grey) !important;

    font-family:
        "Cairo",
        sans-serif;

    font-size:
        11px !important;

    line-height:
        1.7;
}


.cube-product-reviews
.meta
.woocommerce-review__author {

    color:
        var(--cube-dark);

    font-size:
        13px;

    font-weight:
        600;
}


.cube-product-reviews
.meta
.woocommerce-review__verified {

    color:
        #7B7773;

    font-size:
        10px;

    font-style:
        normal;
}


/* review body */

.cube-product-reviews
.description {

    position:
        relative;

    order:
        2;

    margin:
        0 0 16px;

    padding:
        0 0 16px;

    color:
        var(--cube-dark);

    font-family:
        "Cairo",
        sans-serif;

    font-size:
        14px;

    font-weight:
        400;

    line-height:
        1.9;
}


.cube-product-reviews
.description::after {

    content: "";

    position:
        absolute;

    right: 0;

    bottom: 0;

    width:
        34px;

    height:
        1px;

    background:
        rgba(
            77,
            76,
            80,
            0.35
        );
}


.cube-product-reviews
.description p {

    margin:
        0 !important;
}


/* =========================================================
   REVIEW FORM
========================================================= */

.cube-product-reviews
#review_form_wrapper {

    width:
        100%;

    margin:
        28px 0 0;

    padding:
        24px;

    background:
        var(--cube-bg);

    border-radius:
        14px;
}


.cube-product-reviews
.comment-reply-title {

    display:
        block;

    margin:
        0 0 18px;

    color:
        var(--cube-dark);

    font-family:
        "Cairo",
        sans-serif;

    font-size:
        18px;

    font-weight:
        600;
}


.cube-product-reviews
.comment-form-rating {

    margin-bottom:
        15px;
}


.cube-product-reviews
.comment-form-rating
label {

    display:
        block;

    margin-bottom:
        6px;

    color:
        var(--cube-dark);

    font-family:
        "Cairo",
        sans-serif;

    font-size:
        12px;

    font-weight:
        500;
}


.cube-product-reviews
p.stars {

    margin:
        0 !important;
}


.cube-product-reviews
p.stars a {

    color:
        #A88763 !important;
}


.cube-product-reviews
.comment-form-comment,
.cube-product-reviews
.comment-form-author,
.cube-product-reviews
.comment-form-email {

    margin:
        0 0 14px;
}


.cube-product-reviews
.comment-form-comment label,
.cube-product-reviews
.comment-form-author label,
.cube-product-reviews
.comment-form-email label {

    display:
        block;

    margin:
        0 0 6px;

    color:
        var(--cube-dark);

    font-family:
        "Cairo",
        sans-serif;

    font-size:
        12px;

    font-weight:
        500;
}


.cube-product-reviews
textarea,
.cube-product-reviews
input[type="text"],
.cube-product-reviews
input[type="email"] {

    width:
        100%;

    padding:
        10px 12px;

    background:
        var(--cube-soft);

    border:
        1px solid
        rgba(
            77,
            76,
            80,
            0.14
        );

    border-radius:
        8px;

    color:
        var(--cube-dark);

    font-family:
        "Cairo",
        sans-serif;

    outline:
        none;
}


.cube-product-reviews
textarea {

    min-height:
        120px;

    resize:
        vertical;
}


.cube-product-reviews
.form-submit {

    margin:
        16px 0 0 !important;
}


.cube-product-reviews
.form-submit
input.submit {

    min-height:
        42px;

    padding:
        0 20px;

    background:
        var(--cube-dark) !important;

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

    border-radius:
        8px;

    color:
        var(--cube-bg) !important;

    font-family:
        "Cairo",
        sans-serif;

    font-size:
        12px;

    font-weight:
        600;

    cursor:
        pointer;
}


@media
(hover: hover)
and
(pointer: fine) {

    .cube-product-reviews
    .form-submit
    input.submit:hover {

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

        color:
            var(--cube-dark) !important;
    }
}


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

.cube-related-products {

    width: 100%;

    margin:
        42px 0 0;
}


.cube-related-heading {

    margin:
        0 0 26px;

    color:
        var(--cube-dark);

    font-size:
        34px;

    font-weight:
        600;
}


.cube-related-track {

    display:
        grid;

    grid-template-columns:
        repeat(
            4,
            minmax(
                0,
                1fr
            )
        );

    gap:
        10px;

    width:
        100%;
}


.cube-related-card {

    position:
        relative;

    min-width:
        0;

    overflow:
        hidden;

    background:
        var(--cube-soft);

    border-radius:
        12px;

    transition:
        transform
        0.25s ease;
}


@media
(hover: hover)
and
(pointer: fine) {

    .cube-related-card:hover {

        transform:
            translateY(-4px);
    }
}


.cube-related-image-wrap {

    position:
        relative;

    display:
        block;

    width:
        100%;

    overflow:
        hidden;

    background:
        var(--cube-bg);

    line-height:
        0;
}


.cube-related-image {

    display:
        block;

    width:
        100%;

    height:
        auto;

    margin:
        0;

    padding:
        0;

    border:
        0;
}


.cube-related-stock-overlay {

    position:
        absolute;

    inset:
        0;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    background:
        rgba(
            77,
            76,
            80,
            0.22
        );

    color:
        #FFFFFF;

    font-size:
        14px;

    font-weight:
        600;
}


.cube-related-content {

    padding:
        10px 14px
        11px;

    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    grid-template-areas:
        "title title"
        "price colors"
        "button button";

    column-gap:
        12px;

    row-gap:
        6px;
}


.cube-related-title {

    grid-area:
        title;

    margin: 0;

    color:
        var(--cube-dark);

    font-size:
        18px;

    font-weight:
        600;
}


.cube-related-price {

    grid-area:
        price;

    color:
        var(--cube-dark);

    font-size:
        13px;

    font-weight:
        500;

    direction:
        ltr;
}


.cube-related-colors {

    grid-area:
        colors;

    display:
        flex;

    gap:
        8px;
}


.cube-related-color {

    display:
        block;

    width:
        20px;

    height:
        20px;

    flex:
        0 0 20px;

    background:
        var(
            --cube-swatch-color,
            #E4E5E6
        );

    border:
        1px solid
        rgba(
            77,
            76,
            80,
            0.18
        );

    border-radius:
        6px;
}


.cube-related-button,
.cube-related-button:visited {

    grid-area:
        button;

    display:
        flex;

    width:
        100%;

    min-height:
        36px;

    align-items:
        center;

    justify-content:
        center;

    flex-direction:
        row-reverse;

    gap:
        7px;

    padding:
        7px 10px;

    background:
        var(--cube-dark) !important;

    border:
        1px solid
        var(--cube-dark);

    border-radius:
        7px;

    color:
        var(--cube-bg) !important;

    font-family:
        "Cairo",
        sans-serif;

    font-size:
        13px;

    font-weight:
        600;
}


.cube-related-button:not(.is-disabled)::before {

    content:
        "";

    width:
        15px;

    height:
        15px;

    flex:
        0 0 15px;

    background-color:
        currentColor;

    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='19' cy='20' r='1'/%3E%3Cpath d='M3 4h2l2.6 10.4a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L21 8H7'/%3E%3C/svg%3E")
        center /
        contain
        no-repeat;

    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='19' cy='20' r='1'/%3E%3Cpath d='M3 4h2l2.6 10.4a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L21 8H7'/%3E%3C/svg%3E")
        center /
        contain
        no-repeat;
}


@media
(hover: hover)
and
(pointer: fine) {

    .cube-related-button:not(.is-disabled):hover {

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

        color:
            var(--cube-dark) !important;
    }
}


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

@media
(max-width: 1200px) {

    .cube-product-hero {

        grid-template-columns:
            360px
            minmax(
                0,
                1fr
            );

        max-width:
            1050px;

        margin:
            0 auto;
    }


    .cube-product-summary {

        width:
            360px;
    }


    .cube-product-gallery {

        width:
            auto;
    }


    .cube-product-reviews
    ol.commentlist
    li.review,
    .cube-product-reviews
    ol.commentlist
    li.comment {

        flex:
            0 0
            calc(
                (100% - 16px) / 2
            );
    }
}


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

@media
(max-width: 800px) {

    .cube-single-product-page {

        padding:
            20px 15px
            48px;
    }


    .cube-product-hero {

        display:
            flex;

        flex-direction:
            column;

        gap:
            12px;
    }


    .cube-product-gallery {

        order:
            1;

        width:
            100%;

        height:
            auto;

        padding:
            10px;

        border-radius:
            9px;
    }


    .cube-product-summary {

        order:
            2;

        width:
            100%;

        height:
            auto;

        padding:
            20px 16px;

        border-radius:
            9px;
    }


    .cube-gallery-layout {

        display:
            block;
    }


    .cube-main-image-stage {

        min-height:
            340px;
    }


    .cube-main-product-image {

        max-width:
            100%;

        max-height:
            390px;
    }


    /* thumbnails */

    .cube-product-thumbnails {

        display:
            flex;

        width:
            100%;

        flex-direction:
            row;

        gap:
            7px;

        margin-top:
            8px;

        overflow-x:
            auto;

        scroll-snap-type:
            x mandatory;

        scrollbar-width:
            none;

        -webkit-overflow-scrolling:
            touch;
    }


    .cube-product-thumbnails::-webkit-scrollbar {

        display:
            none;
    }


    .cube-product-thumbnail {

        width:
            68px;

        height:
            68px;

        flex:
            0 0 68px;

        scroll-snap-align:
            start;
    }


    .cube-wishlist-button {

        top:
            20px;

        right:
            20px;

        width:
            38px;

        height:
            38px;
    }


    .cube-single-title {

        font-size:
            26px;
    }


    .cube-product-short-description {

        font-size:
            11px;
    }


    .cube-product-main-price {

        font-size:
            17px;
    }


    /* variations */

    .cube-variation-options,
    .cube-variation-options.is-color-group {

        display:
            flex !important;

        flex-direction:
            row !important;

        flex-wrap:
            wrap !important;

        align-items:
            center !important;

        gap:
            6px !important;
    }


    .cube-variation-option {

        min-width:
            65px;

        min-height:
            38px;

        padding:
            6px 9px !important;

        font-size:
            10.5px;
    }


    .cube-variation-option.is-color-option {

        display:
            inline-flex !important;

        flex:
            0 0 auto !important;

        flex-direction:
            row !important;

        align-items:
            center !important;

        min-width:
            0 !important;

        width:
            auto !important;

        gap:
            5px !important;
    }


    .cube-single-color-name {

        font-size:
            10.5px;
    }


    .cube-single-color-swatch {

        width:
            15px !important;

        height:
            15px !important;

        min-width:
            15px !important;

        flex:
            0 0 15px !important;
    }


    /* cart */

    .cube-product-purchase
    .woocommerce-variation-add-to-cart,
    .cube-product-purchase
    form.cart:not(.variations_form) {

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


    .cube-product-purchase
    .quantity.cube-quantity {

        width:
            105px !important;
    }


    .cube-product-purchase
    .single_add_to_cart_button {

        min-height:
            42px !important;

        font-size:
            11px !important;
    }


    /* tabs */

    .cube-product-info-tabs {

        margin-top:
            12px;

        padding:
            16px 14px;

        border-radius:
            9px;
    }


    /* reviews swipe */

    .cube-product-reviews
    ol.commentlist {

        width:
            calc(
                100% + 14px
            );

        margin-left:
            -14px !important;

        padding-left:
            14px !important;

        gap:
            12px;

        overflow-x:
            auto;

        overflow-y:
            hidden;

        scroll-snap-type:
            x mandatory;

        scroll-behavior:
            smooth;

        scrollbar-width:
            none;

        -webkit-overflow-scrolling:
            touch;
    }


    .cube-product-reviews
    ol.commentlist::-webkit-scrollbar {

        display:
            none;
    }


    .cube-product-reviews
    ol.commentlist
    li.review,
    .cube-product-reviews
    ol.commentlist
    li.comment {

        flex:
            0 0 88%;

        border-radius:
            13px !important;

        scroll-snap-align:
            center;

        scroll-snap-stop:
            always;
    }


    .cube-product-reviews
    .comment-text {

        min-height:
            210px;

        padding:
            18px 16px !important;
    }


    .cube-product-reviews
    .description {

        font-size:
            13px;

        line-height:
            1.8;
    }


    .cube-product-reviews
    .star-rating {

        font-size:
            14px !important;
    }


    .cube-product-reviews
    #review_form_wrapper {

        padding:
            18px 14px;
    }


    /* related products swipe */

    .cube-related-products {

        margin-top:
            34px;
    }


    .cube-related-heading {

        font-size:
            25px;
    }


    .cube-related-track {

        display:
            flex;

        gap:
            10px;

        width:
            calc(
                100% + 15px
            );

        margin-left:
            -15px;

        padding-left:
            15px;

        overflow-x:
            auto;

        scroll-snap-type:
            x mandatory;

        scrollbar-width:
            none;

        -webkit-overflow-scrolling:
            touch;
    }


    .cube-related-track::-webkit-scrollbar {

        display:
            none;
    }


    .cube-related-card {

        width:
            min(
                72vw,
                260px
            );

        min-width:
            min(
                72vw,
                260px
            );

        flex:
            0 0
            min(
                72vw,
                260px
            );

        scroll-snap-align:
            start;

        border-radius:
            9px;
    }


    .cube-related-content {

        padding:
            8px 7px;

        column-gap:
            7px;

        row-gap:
            5px;
    }


    .cube-related-title {

        font-size:
            14px;
    }


    .cube-related-price {

        font-size:
            10.5px;
    }


    .cube-related-color {

        width:
            15px;

        height:
            15px;

        flex:
            0 0 15px;
    }


    .cube-related-button {

        min-height:
            32px;

        padding:
            5px;

        font-size:
            11px;
    }
}/* =========================================================
   CUSTOM SELECTION NOTICE
========================================================= */

.cube-selection-notice {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
}

.cube-selection-notice.is-open {
    display: block;
}

.cube-selection-notice__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(77, 76, 80, 0.18);
    backdrop-filter: blur(2px);
}

.cube-selection-notice__dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(420px, calc(100% - 30px));
    transform: translate(-50%, -50%);
    background: #FFFDFB;
    border: 1px solid rgba(77, 76, 80, 0.10);
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(77, 76, 80, 0.18);
    overflow: hidden;
}

.cube-selection-notice__content {
    padding: 24px 22px 20px;
    text-align: center;
}

.cube-selection-notice__close {
    position: absolute;
    top: 10px;
    left: 12px;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #4D4C50 !important;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.cube-selection-notice__title {
    margin: 0 0 8px;
    color: #4D4C50;
    font-family: "Cairo", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
}

.cube-selection-notice__text {
    margin: 0 0 18px;
    color: #5C5D60;
    font-family: "Cairo", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.9;
}

.cube-selection-notice__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 130px;
    min-height: 42px;
    padding: 0 18px;
    background: #4D4C50 !important;
    border: 1px solid #4D4C50 !important;
    border-radius: 8px;
    color: #FFFDFB !important;
    font-family: "Cairo", sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

@media (hover: hover) and (pointer: fine) {
    .cube-selection-notice__button:hover {
        background: #FFFDFB !important;
        color: #4D4C50 !important;
    }
}

@media (max-width: 800px) {
    .cube-selection-notice__dialog {
        width: calc(100% - 24px);
        border-radius: 14px;
    }

    .cube-selection-notice__content {
        padding: 22px 16px 18px;
    }

    .cube-selection-notice__title {
        font-size: 19px;
    }

    .cube-selection-notice__text {
        font-size: 13px;
    }
}
/* =========================================================
   Kitero Composite — Cube Aroma style
   ONLY composite products
   ========================================================= */

.cube-product-purchase form.kitero-cp-form {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    font-family: "Cairo", sans-serif !important;
}


/* COMPONENTS WRAPPER */
.cube-product-purchase .kitero-cp-components {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}


/* EACH COMPONENT */
.cube-product-purchase .kitero-cp-components > div {
    width: 100% !important;

    background: #F8F1E8 !important;
    border: 1px solid rgba(77, 76, 80, 0.12) !important;
    border-radius: 14px !important;

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

    box-shadow: none !important;
}


/* ALL TEXT */
.cube-product-purchase .kitero-cp-form,
.cube-product-purchase .kitero-cp-form * {
    font-family: "Cairo", sans-serif;
}


/* COMPONENT TITLES */
.cube-product-purchase .kitero-cp-components h2,
.cube-product-purchase .kitero-cp-components h3,
.cube-product-purchase .kitero-cp-components h4,
.cube-product-purchase .kitero-cp-components strong {
    color: #4D4C50 !important;
}


/* REQUIRED BADGE */
.cube-product-purchase .kitero-cp-components [class*="required"] {
    background: #F5E0D2 !important;
    color: #9A1220 !important;

    border-radius: 999px !important;

    padding: 4px 9px !important;

    font-size: 10px !important;
    font-weight: 700 !important;

    box-shadow: none !important;
}


/* =========================================================
   PRODUCT / COLOR OPTIONS
   ========================================================= */

.cube-product-purchase .kitero-cp-components label {
    cursor: pointer;
}


/* any option/card Kitero renders */
.cube-product-purchase .kitero-cp-components [class*="option"] {
    border-radius: 10px !important;
}


/* label option rows */
.cube-product-purchase .kitero-cp-components label:has(input[type="radio"]) {
    width: 100% !important;
    min-height: 46px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;

    padding: 10px 14px !important;
    margin: 7px 0 !important;

    background: #FFFDFB !important;

    border: 1px solid rgba(77, 76, 80, 0.18) !important;
    border-radius: 10px !important;

    color: #4D4C50 !important;

    box-shadow: none !important;

    transition:
        border-color 0.2s ease,
        background 0.2s ease !important;
}


/* hover */
.cube-product-purchase .kitero-cp-components label:has(input[type="radio"]):hover {
     border-color: rgba(77, 76, 80, 0.18) !important;
    background: #FFFDFB !important;
}


/* selected option */
.cube-product-purchase .kitero-cp-components label:has(input[type="radio"]:checked) {
    background: #F5E0D2 !important;
    border-color: #4D4C50 !important;
}


/* RADIO */
.cube-product-purchase .kitero-cp-components input[type="radio"] {
    width: 15px !important;
    height: 15px !important;

    accent-color: #4D4C50 !important;

    margin: 0 !important;
}


/* =========================================================
   FRAGRANCE SELECT
   ========================================================= */

.cube-product-purchase .kitero-cp-components select {
    width: 100% !important;
    height: 48px !important;

    margin: 8px 0 0 !important;
    padding: 0 14px !important;

    background: #FFFDFB !important;

    border: 1px solid rgba(77, 76, 80, 0.22) !important;
    border-radius: 10px !important;

    color: #4D4C50 !important;

    font-family: "Cairo", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;

    box-shadow: none !important;
    outline: none !important;
}


.cube-product-purchase .kitero-cp-components select:focus {
    border-color: #4D4C50 !important;
}


/* =========================================================
   Kitero SUMMARY
   ========================================================= */

.cube-product-purchase .kitero-cp-summary {
    width: 100% !important;

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

    background: #F8F1E8 !important;

    border: 1px solid rgba(77, 76, 80, 0.12) !important;
    border-radius: 14px !important;

    box-shadow: none !important;
}


.cube-product-purchase .kitero-cp-summary__total {
    color: #4D4C50 !important;

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


/* =========================================================
   ADD TO CART
   ========================================================= */

.cube-product-purchase .kitero-cp-submit {
    width: 100% !important;
    min-height: 52px !important;

    margin-top: 12px !important;
    padding: 0 22px !important;

    background: #4D4C50 !important;
    border: 1px solid #4D4C50 !important;
    border-radius: 12px !important;

    color: #FFFFFF !important;

    font-family: "Cairo", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;

    box-shadow: none !important;
}


.cube-product-purchase .kitero-cp-submit:hover {
    background: #5C5D60 !important;
    border-color: #5C5D60 !important;
}


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

@media (max-width: 767px) {

    .cube-product-purchase .kitero-cp-components > div {
        padding: 12px !important;
        border-radius: 12px !important;
    }

    .cube-product-purchase .kitero-cp-components label:has(input[type="radio"]) {
        min-height: 44px !important;
        padding: 9px 12px !important;
        font-size: 13px !important;
    }

    .cube-product-purchase .kitero-cp-components select {
        height: 46px !important;
        font-size: 13px !important;
    }
}
/* selected Kitero option — remove beige fill */
.cube-product-purchase .kitero-cp-components label:has(input[type="radio"]:checked) {
    background: #FFFDFB !important;
    border-color: #4D4C50 !important;
}