/* cart icon product count start */
#cart-icon {
    position: relative !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

#cart-icon-bubble {
    position: absolute !important;
    top: 8px !important;
    right: 60px !important;
    z-index: 99 !important;
}

#cart-icon-bubble .header__cart-count {
    position: static !important;

    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    padding: 0 !important;
    margin: 0 !important;

    background: #000 !important;
    color: #fff !important;

    border-radius: 50% !important;

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

    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
}

#cart-icon-bubble .header__cart-count span {
    color: #fff !important;
    font-size: 10px !important;
    line-height: 1 !important;
}

/* cart icon product count End */
:root {
    --bg-color: 255 255 255 / 1.0;
    --bg-color-og: 255 255 255 / 1.0;
    --heading-color: 45 71 62;
    --text-color: 26 26 26;
    --text-color-og: 26 26 26;
    --scrollbar-color: 26 26 26;
    --link-color: 45 71 62;
    --link-color-og: 45 71 62;
    --star-color: 211 47 47;
    --swatch-border-color-default: 209 209 209;
    --swatch-border-color-active: 141 141 141;
    --swatch-card-size: 24px;
    --swatch-variant-picker-size: 60px;
    --color-scheme-1-bg: 242 238 231 / 1.0;
    --color-scheme-1-grad: ;
    --color-scheme-1-heading: 45 71 62;
    --color-scheme-1-text: 26 26 26;
    --color-scheme-1-btn-bg: 45 71 62;
    --color-scheme-1-btn-text: 255 255 255;
    --color-scheme-1-btn-bg-hover: 84 108 99;
    --color-scheme-2-bg: 45 71 62 / 1.0;
    --color-scheme-2-grad: ;
    --color-scheme-2-heading: 255 255 255;
    --color-scheme-2-text: 255 255 255;
    --color-scheme-2-btn-bg: 177 207 129;
    --color-scheme-2-btn-text: 45 71 62;
    --color-scheme-2-btn-bg-hover: 164 192 129;
    --color-scheme-3-bg: 45 71 62 / 1.0;
    --color-scheme-3-grad: ;
    --color-scheme-3-heading: 255 255 255;
    --color-scheme-3-text: 255 255 255;
    --color-scheme-3-btn-bg: 177 207 129;
    --color-scheme-3-btn-text: 45 71 62;
    --color-scheme-3-btn-bg-hover: 164 192 129;

    --drawer-bg-color: 255 255 255 / 1.0;
    --drawer-text-color: 90 90 90;

    --panel-bg-color: 255 255 255 / 1.0;
    --panel-heading-color: 45 71 62;
    --panel-text-color: 90 90 90;

    --in-stock-text-color: 44 126 63;
    --low-stock-text-color: 210 134 26;
    --very-low-stock-text-color: 180 12 28;
    --no-stock-text-color: 119 119 119;
    --no-stock-backordered-text-color: 119 119 119;

    --error-bg-color: 252 233 230;
    --error-text-color: 211 47 47;
    --success-bg-color: 232 246 234;
    --success-text-color: 56 142 60;
    --info-bg-color: 230 241 251;
    --info-text-color: 25 118 210;

    --heading-font-family: "Playfair Display", serif;
    --heading-font-style: normal;
    --heading-font-weight: 400;
    --heading-scale-start: 6;

    --navigation-font-family: Inter, sans-serif;
    --navigation-font-style: normal;
    --navigation-font-weight: 400;
    --heading-text-transform: none;
    --subheading-text-transform: none;
    --body-font-family: "Mona Sans", sans-serif;
    --body-font-style: normal;
    --body-font-weight: 400;
    --body-font-size: 16;

    --section-gap: 32;
    --heading-gap: calc(8 * var(--space-unit));
    --heading-gap: calc(6 * var(--space-unit));
    --grid-column-gap: 20px;
    --btn-bg-color: 45 71 62;
    --btn-bg-hover-color: 84 108 99;
    --btn-text-color: 255 255 255;
    --btn-bg-color-og: 45 71 62;
    --btn-text-color-og: 255 255 255;
    --btn-alt-bg-color: 255 255 255;
    --btn-alt-bg-alpha: 1.0;
    --btn-alt-text-color: 45 71 62;
    --btn-border-width: 2px;
    --btn-padding-y: 12px;


    --btn-border-radius: 28px;


    --btn-lg-border-radius: 50%;
    --btn-icon-border-radius: 50%;
    --input-with-btn-inner-radius: var(--btn-border-radius);
    --btn-text-transform: uppercase;

    --input-bg-color: 255 255 255 / 1.0;
    --input-text-color: 26 26 26;
    --input-border-width: 2px;
    --input-border-radius: 26px;
    --textarea-border-radius: 12px;
    --input-border-radius: 28px;
    --input-lg-border-radius: 34px;
    --input-bg-color-diff-3: #f7f7f7;
    --input-bg-color-diff-6: #f0f0f0;

    --modal-border-radius: 26px;
    --modal-overlay-color: 0 0 0;
    --modal-overlay-opacity: 0.4;
    --drawer-border-radius: 26px;
    --overlay-border-radius: 26px;

    --custom-label-bg-color: 177 207 129 / 1.0;
    --custom-label-text-color: 255 255 255 / 1.0;
    --sale-label-bg-color: 170 17 85 / 1.0;
    --sale-label-text-color: 255 255 255 / 1.0;
    --sold-out-label-bg-color: 42 43 42 / 1.0;
    --sold-out-label-text-color: 255 255 255 / 1.0;
    --new-label-bg-color: 127 184 0 / 1.0;
    --new-label-text-color: 255 255 255 / 1.0;
    --preorder-label-bg-color: 177 207 129 / 1.0;
    --preorder-label-text-color: 255 255 255 / 1.0;

    --collection-label-color: 45 71 62 / 1.0;

    --page-width: 1920px;
    --gutter-sm: 20px;
    --gutter-md: 32px;
    --gutter-lg: 64px;

    --payment-terms-bg-color: #ffffff;

    --coll-card-bg-color: #f2eee7;
    --coll-card-border-color: #f4f4f4;

    --card-highlight-bg-color: #ffffff;
    --card-highlight-text-color: 85 85 85;
    --card-highlight-border-color: #E1E1E1;
    --card-bg-color: #ffffff;
    --card-text-color: 38 38 43;
    --card-border-color: #f2f2f2;
    --blend-bg-color: #ffffff;

    --aos-animate-duration: 0.6s;



    --aos-min-width: 0;



    --reading-width: 48em;
}

@media (max-width: 769px) {
    :root {
        --reading-width: 36em;
    }
}

.gm-cart-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 99998;
    display: none;
}

.gm-cart-drawer {
    position: fixed;
    top: 0;
    right: -420px;
    width: 400px;
    max-width: 90%;
    height: 100%;
    background: #fff;
    z-index: 99999;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    transition: right 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
}

.gm-cart-drawer.active {
    right: 0;
}

.gm-cart-overlay.active {
    display: block;
}

.gm-drawer-header {
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #eee;
}

.gm-drawer-header h3 {
    margin: 0;
    font-size: 18px;
    color: #294b40;
}

.gm-drawer-close {
    background: none;
    border: none;
    font-size: 13px;
    cursor: pointer;
    color: #666;
}

.gm-drawer-shipping {
    background: #f2f8f5;
    color: #294b40;
    text-align: center;
    padding: 10px;
    font-size: 12px;
    border-bottom: 1px solid #e4e8e6;
}

.gm-drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 15px 20px;
}

.gm-cart-item {
    display: flex;
    gap: 12px;
    margin-bottom: 15px;
    border-bottom: 1px solid #f5f5f5;
    padding-bottom: 12px;
}

.gm-cart-item img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
}

.gm-cart-item-title {
    font-weight: bold;
    font-size: 13px;
    color: #333;
}

.gm-cart-item-price {
    font-size: 12px;
    color: #294b40;
    margin: 4px 0;
}

.gm-cart-item-qty {
    display: flex;
    align-items: center;
    gap: 5px;
}

.gm-cart-item-qty button {
    width: 22px;
    height: 22px;
    border: 1px solid #ccc;
    background: #fff;
    cursor: pointer;
}

.gm-cart-item-qty input {
    width: 30px;
    text-align: center;
    border: 1px solid #ccc;
    height: 22px;
    font-size: 11px;
}

.gm-cart-remove {
    border: none !important;
    background: transparent !important;
    cursor: pointer;
    color: #d9534f;
    margin-left: auto;
}

.gm-drawer-footer {
    padding: 15px 20px;
    border-top: 1px solid #eee;
    background: #fff;
}

.gm-checkout-btn {
    display: block;
    width: 100%;
    background: #294b40;
    color: #fff;
    text-align: center;
    padding: 12px;
    border-radius: 20px;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
}

/* -------------------- */
 /* =========================================================
               PRODUCT PAGE - PLANTSWORLD STYLE
               Scoped under .gm-product-page so footer/header won't break
            ========================================================= */

 .gm-product-page {
     --green: #294b40;
     --green-dark: #234238;
     --light-green: #f2f8f5;
     --border: #e4e8e6;
     --text: #202522;
     --muted: #737a76;
     --pink: #a91555;
     --cream: #fafaf8;

     color: var(--text);
     background: #fff;
     font-family: Arial, Helvetica, sans-serif;
     font-size: 13px;
 }

 .gm-product-page *,
 .gm-product-page *::before,
 .gm-product-page *::after {
     box-sizing: border-box;
 }

 .gm-product-page a {
     color: inherit;
 }

 /* Main wrapper */
 .gm-product-container {
     width: 100%;
     max-width: 1440px;
     margin: 0 auto;
     padding: 0 24px 70px;
 }

 /* Breadcrumb */
 .gm-breadcrumb {
     height: 42px;
     display: flex;
     align-items: center;
     gap: 5px;
     color: #777;
     font-size: 10px;
     white-space: nowrap;
     overflow: hidden;
 }

 .gm-breadcrumb a {
     text-decoration: none;
     color: #777;
 }

 .gm-breadcrumb span:last-child {
     color: #333;
     overflow: hidden;
     text-overflow: ellipsis;
 }

 /* =========================================================
               MAIN TWO COLUMN AREA
            ========================================================= */

 .gm-product-layout {
     display: grid;
     grid-template-columns: minmax(0, 1.04fr) minmax(480px, .96fr);
     border-top: 1px solid var(--border);
     border-bottom: 1px solid var(--border);
     align-items: stretch;
 }

 .gm-left-column {
     min-width: 0;
     padding: 0 26px 50px 0;
 }

 .gm-right-column {
     min-width: 0;
     padding: 18px 0 55px 34px;
     border-left: 1px solid var(--border);
 }

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

 .gm-main-image-box {
     position: relative;
     width: 100%;
     height: min(720px, 54vw);
     min-height: 500px;
     background: #fff;
     border: 1px solid #ecefed;
     overflow: hidden;
 }

 .gm-main-image-box img {
     width: 100%;
     height: 100%;
     display: block;
     object-fit: contain;
     padding: 18px;
     transition: opacity .18s ease, transform .35s ease;
 }

 .gm-image-counter {
     position: absolute;
     right: 16px;
     bottom: 14px;
     min-width: 38px;
     height: 30px;
     padding: 0 10px;
     border: 1px solid #e3e6e4;
     border-radius: 18px;
     background: rgba(255, 255, 255, .95);
     display: flex;
     align-items: center;
     justify-content: center;
     color: #555;
     font-size: 18px;
     z-index: 2;
 }

 .gm-thumbnails {
     display: flex;
     gap: 7px;
     margin-top: 8px;
     overflow-x: auto;
     scrollbar-width: thin;
     padding-bottom: 5px;
 }

 .gm-thumb {
     flex: 0 0 62px;
     width: 62px;
     height: 62px;
     border: 1px solid #e5e8e6;
     background: #fff;
     padding: 3px;
     cursor: pointer;
     transition: border-color .2s ease;
 }

 .gm-thumb:hover,
 .gm-thumb.active {
     border: 1.5px solid var(--green);
 }

 .gm-thumb img {
     width: 100%;
     height: 100%;
     object-fit: contain;
     display: block;
 }

 .gm-reference-note {
     margin-top: 12px;
     color: #888;
     font-size: 9px;
     line-height: 1.5;
     font-style: italic;
 }

 /* =========================================================
               PAYMENT
            ========================================================= */

 .gm-payment {
     margin-top: 38px;
     padding-top: 10px;
 }

 .gm-payment-title {
     font-size: 11px;
     color: #777;
     margin-bottom: 9px;
 }

 .gm-payment img {
     max-width: 260px;
     height: auto;
     display: block;
 }

 /* =========================================================
               PRODUCT INFO
            ========================================================= */

 .gm-product-title {
     font-family: Georgia, "Times New Roman", serif;
     font-weight: 400;
     color: #3d5149;
     font-size: 24px;
     line-height: 1.3;
     margin: 0 0 7px;
 }

 .gm-sku {
     font-size: 12px;
     color: #777;
     margin-bottom: 24px;
 }

 .gm-price-row {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 2px;
     margin-bottom: 5px;
 }

 .gm-price {
     font-size: 24px;
     font-weight: 700;
     color: #171a18;
 }

 .gm-old-price {
     display: block;
     font-size: 15px;
     color: #777;
     text-decoration: line-through;
 }

 .gm-tax {
     font-size: 10px;
     color: #777;
     margin-bottom: 20px;
 }

 .gm-tax a {
     text-decoration: underline;
 }

 /* =========================================================
               OPTIONS
            ========================================================= */

 .gm-option {
     margin-bottom: 19px;
 }

 .gm-option-label {
     display: block;
     font-size: 14px;
     font-weight: 700;
     color: #292d2b;
     margin-bottom: 7px;
 }

 .gm-size-buttons {
     display: flex;
     gap: 8px;
     flex-wrap: wrap;
 }

 .gm-size-btn {
     min-width: 78px;
     height: 29px;
     padding: 0 13px;
     border: 1px solid #bfc6c2;
     background: #fff;
     border-radius: 18px;
     color: #333;
     font-size: 9px;
     cursor: pointer;
 }

 .gm-size-btn.active {
     border-color: var(--green);
     box-shadow: inset 0 0 0 1px var(--green);
 }

 .gm-variant-list {
     display: flex;
     flex-wrap: wrap;
     gap: 10px;
 }

 .gm-variant {
     text-align: center;
     cursor: pointer;
 }

 .gm-variant input {
     display: none;
 }

 .gm-variant-circle {
     width: 45px;
     height: 45px;
     border-radius: 50%;
     border: 1px solid #d0d4d2;
     padding: 3px;
     display: flex;
     align-items: center;
     justify-content: center;
     background: #fff;
 }

 .gm-variant input:checked+.gm-variant-circle {
     border: 1.5px solid var(--green);
     box-shadow: 0 0 0 1px rgba(41, 75, 64, .1);
 }

 .gm-variant-color {
     width: 100%;
     height: 100%;
     border-radius: 50%;
     background: #ddd;
 }

 .gm-variant-name {
     display: block;
     margin-top: 5px;
     font-size: 8px;
     color: #666;
 }

 /* =========================================================
               ADDONS
            ========================================================= */

 .gm-addon-section {
     margin-top: 17px;
     background: #f6f9f7;
     border-radius: 7px;
     padding: 11px;
 }

 .gm-addon-heading {
     color: var(--green);
     font-size: 12px;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: .6px;
     margin-bottom: 8px;
 }

 .gm-addon-item {
     min-height: 48px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 8px;
     padding: 5px 8px;
     margin-bottom: 5px;
     background: #fff;
     border: 1px solid #e3e8e5;
     border-radius: 6px;
     transition: background 0.2s, border-color 0.2s;
 }

 .gm-addon-item.selected {
     border-color: var(--green);
     background: #eef5f1;
 }

 .gm-addon-left {
     min-width: 0;
     display: flex;
     align-items: center;
     gap: 8px;
     cursor: pointer;
     flex: 1;
 }

 .gm-addon-left input {
     accent-color: var(--green);
     flex: 0 0 auto;
     cursor: pointer;
 }

 .gm-addon-image {
     width: 36px;
     height: 36px;
     border-radius: 5px;
     object-fit: cover;
     flex: 0 0 36px;
 }

 .gm-addon-info {
     min-width: 0;
 }

 .gm-addon-name {
     font-size: 15px;
     font-weight: 700;
     color: #31564b;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
 }

 .gm-addon-price {
     font-size: 12px;
     color: var(--green);
     font-weight: 700;
     margin-top: 2px;
 }

 .gm-addon-old {
     color: #999;
     text-decoration: line-through;
     margin-left: 4px;
     font-weight: 400;
 }

 .gm-addon-discount {
     color: #a26c2d;
     font-size: 10px;
     margin-left: 4px;
 }

 .gm-addon-plus {
     flex: 0 0 24px;
     width: 24px;
     height: 24px;
     border: 1px solid #8ba69d;
     border-radius: 50%;
     background: #fff;
     color: var(--green);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 15px;
     cursor: pointer;
     transition: all 0.2s;
 }

 .gm-addon-item.selected .gm-addon-plus {
     background: var(--green);
     color: #fff;
     border-color: var(--green);
 }

 .gm-addon-bottom {
     border-top: 1px solid #dfe7e2;
     margin-top: 7px;
     padding-top: 8px;
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: 10px;
 }

 .gm-addon-total-label {
     display: block;
     color: #777;
     font-size: 10px;
 }

 .gm-addon-total {
     font-size: 15px;
     font-weight: 700;
     color: var(--green);
 }

 .gm-addon-cart {
     border: 0;
     border-radius: 5px;
     padding: 8px 12px;
     background: var(--green);
     color: #fff;
     font-size: 15px;
     font-weight: 700;
     cursor: pointer;
 }

 /* =========================================================
               CART
            ========================================================= */

 .gm-cart-row {
     display: flex;
     gap: 10px;
     margin-top: 15px;
 }

 .gm-quantity {
     width: 110px;
     height: 35px;
     border: 1px solid #bdc6c2;
     border-radius: 20px;
     display: flex;
     align-items: center;
     overflow: hidden;
     flex: 0 0 110px;
 }

 .gm-quantity button {
     width: 32px;
     height: 100%;
     border: 0;
     background: transparent;
     color: #333;
     font-size: 18px;
     cursor: pointer;
 }

 .gm-quantity input {
     min-width: 0;
     flex: 1;
     border: 0;
     text-align: center;
     outline: none;
     background: transparent;
     font-size: 14px;
 }

 .gm-add-cart {
     flex: 1;
     height: 35px;
     border: 0;
     border-radius: 20px;
     background: var(--green);
     color: #fff;
     font-size: 16px;
     font-weight: 600;
     text-transform: uppercase;
     cursor: pointer;
 }

 .gm-add-cart:hover {
     background: var(--green-dark);
 }

 /* =========================================================
               SMALL PRODUCT META
            ========================================================= */

 .gm-small-meta {
     margin-top: 18px;
 }

 .gm-botanical-name {
     font-family: Georgia, serif;
     color: #496157;
     font-size: 16px;
     margin-bottom: 7px;
 }

 .gm-goes-title {
     font-size: 12px;
     color: #777;
     margin-bottom: 5px;
 }

 .gm-goes {
     display: flex;
     flex-wrap: wrap;
     gap: 5px;
 }

 .gm-goes span {
     border: 1px solid #9bb4aa;
     border-radius: 13px;
     padding: 4px 8px;
     font-size: 12px;
     color: var(--green);
     background: #fff;
 }

 /* =========================================================
               CARE
            ========================================================= */

 .gm-care {
     margin-top: 14px;
 }

 .gm-care-title {
     color: #66706c;
     font-size: 14px;
     text-transform: uppercase;
     letter-spacing: .7px;
     font-weight: 800;
     margin-bottom: 7px;
 }

 .gm-care-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 5px;
 }

 .gm-care-item {
     min-height: 38px;
     border: 1px solid #dfe9e4;
     background: #f5faf7;
     border-radius: 5px;
     padding: 7px 8px;
     display: flex;
     align-items: center;
     gap: 7px;
 }

 .gm-care-icon {
     font-size: 14px;
     flex: 0 0 auto;
 }

 .gm-care-label {
     font-size: 12px;
     color: #75807b;
     text-transform: uppercase;
     font-weight: 700;
 }

 .gm-care-value {
     font-size: 10px;
     color: var(--green);
     font-weight: 700;
     margin-top: 2px;
 }

 .gm-care-note {
     margin-top: 7px;
     border: 1px solid #e5dfcf;
     background: #faf8f1;
     color: #777;
     padding: 8px;
     border-radius: 5px;
     font-size: 10px;
     line-height: 1.45;
 }

 /* =========================================================
               SERVICE BOXES
            ========================================================= */

 .gm-services {
     margin-top: 12px;
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 5px;
 }

 .gm-service {
     min-height: 48px;
     border: 1px solid #e0e8e4;
     border-radius: 5px;
     padding: 8px;
     display: flex;
     align-items: center;
     gap: 8px;
     background: #fff;
 }

 .gm-service-icon {
     font-size: 32px;
     flex: 0 0 auto;
 }

 .gm-service-title {
     font-size: 16px;
     font-weight: 700;
     color: var(--green);
 }

 .gm-service-text {
     font-size: 12px;
     color: #777;
     margin-top: 3px;
 }

 /* =========================================================
               RESPONSIVE
            ========================================================= */

 @media (max-width: 1100px) {
     .gm-product-container {
         padding-left: 18px;
         padding-right: 18px;
     }

     .gm-product-layout {
         grid-template-columns: minmax(0, 1fr) minmax(400px, .9fr);
     }

     .gm-right-column {
         padding-left: 22px;
     }

     .gm-left-column {
         padding-right: 18px;
     }
 }

 @media (max-width: 800px) {

     .gm-product-container {
         padding: 0 12px 45px;
     }

     .gm-breadcrumb {
         height: 36px;
         font-size: 9px;
     }

     .gm-product-layout {
         display: block;
         border-top: 1px solid var(--border);
     }

     .gm-left-column {
         padding: 0 0 30px;
     }

     .gm-right-column {
         border-left: 0;
         border-top: 1px solid var(--border);
         padding: 25px 0 35px;
     }

     .gm-main-image-box {
         height: 110vw;
         min-height: 390px;
         max-height: 600px;
     }

     .gm-main-image-box img {
         padding: 10px;
     }

     .gm-thumbnails {
         gap: 6px;
     }

     .gm-thumb {
         flex-basis: 57px;
         width: 57px;
         height: 57px;
     }

     .gm-payment {
         margin-top: 25px;
     }

     .gm-payment img {
         max-width: 230px;
     }

     .gm-product-title {
         font-size: 19px;
     }

     .gm-price {
         font-size: 21px;
     }

     .gm-addon-section {
         padding: 9px;
     }

     .gm-addon-name {
         font-size: 14px;
     }

     .gm-description {
         padding-top: 20px;
     }
 }

 @media (max-width: 480px) {

     .gm-product-container {
         padding-left: 10px;
         padding-right: 10px;
     }

     .gm-main-image-box {
         height: 112vw;
         min-height: 350px;
     }

     .gm-image-counter {
         right: 10px;
         bottom: 10px;
     }

     .gm-product-title {
         font-size: 18px;
     }

     .gm-sku {
         margin-bottom: 18px;
     }

     .gm-option {
         margin-bottom: 16px;
     }

     .gm-care-grid,
     .gm-services {
         grid-template-columns: 1fr 1fr;
     }

     .gm-cart-row {
         gap: 7px;
     }

     .gm-quantity {
         width: 98px;
         flex-basis: 98px;
     }

     .gm-quantity button {
         width: 27px;
     }

     .gm-add-cart {
         font-size: 12px;
     }
 }
 /* -------------------------- */

  .product-info-tabs {
      margin-top: 35px;
      border-top: 1px solid #ddd;
  }

  .product-tabs-nav {
      display: flex;
      align-items: center;
      gap: 28px;
      border-bottom: 1px solid #ddd;
  }

  .product-tab-btn {
      position: relative;
      appearance: none;
      border: 0;
      background: transparent;
      padding: 16px 0 14px;
      margin: 0;
      cursor: pointer;
      font-family: inherit;
      font-size: 14px;
      font-weight: 500;
      color: #666;
  }

  .product-tab-btn.active {
      color: #222;
      font-weight: 600;
  }

  .product-tab-btn.active::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -1px;
      height: 2px;
      background: #2d473e;
  }

  .product-tab-content {
      display: none;
      padding: 24px 0 10px;
      font-family: inherit;
      font-size: 14px;
      line-height: 1.7;
      color: #555;
  }

  .product-tab-content.active {
      display: block;
  }

  .product-tab-content p {
      margin: 0 0 20px;
  }

  .product-tab-content h2 {
      margin: 22px 0 8px;
      font-family: Georgia, "Times New Roman", serif;
      font-size: 20px;
      line-height: 1.3;
      color: #2d473e;
      font-weight: 600;
  }

  .product-tab-content h2:first-child {
      margin-top: 0;
  }

  .product-tab-content ul {
      margin: 0 0 20px;
      padding-left: 20px;
  }

  .product-tab-content li {
      margin-bottom: 5px;
  }

  .product-tab-content strong {
      color: #333;
  }

  @media (max-width: 768px) {
      .product-tabs-nav {
          gap: 18px;
          overflow-x: auto;
          scrollbar-width: none;
          white-space: nowrap;
      }

      .product-tabs-nav::-webkit-scrollbar {
          display: none;
      }

      .product-tab-btn {
          flex: 0 0 auto;
          font-size: 13px;
          padding: 14px 0 12px;
      }

      .product-tab-content {
          padding-top: 20px;
          font-size: 13px;
          line-height: 1.65;
      }

      .product-tab-content h2 {
          font-size: 18px;
      }
  }

  /* ------------------------------------- */

   * {
       margin: 0;
       padding: 0;
       box-sizing: border-box;
   }

   body {
       font-family: Arial, Helvetica, sans-serif;
       color: #111;
   }

   /* =========================
       HEADER
    ========================= */

   .header {
       width: 100%;
       background: #fff;
       border-bottom: 1px solid #eee;
       position: relative;
       z-index: 1000;
   }

   .header-top {
       height: 64px;
       display: flex;
       align-items: center;
       gap: 40px;
       padding: 0 64px;
   }

   /* Logo */

   .logo {
       width: 250px;
       flex-shrink: 0;
       font-size: 22px;
       font-weight: 600;
       letter-spacing: 1px;
       text-decoration: none;
       color: #111;
   }

   /* Search */

   .search-box {
       flex: 1;
       height: 46px;
       background: #f1f1f1;
       border-radius: 30px;
       display: flex;
       align-items: center;
       overflow: hidden;
   }

   .search-category {
       height: 100%;
       min-width: 210px;
       padding: 0 24px;
       display: flex;
       align-items: center;
       justify-content: space-between;
       border-right: 1px solid #ddd;
       cursor: pointer;
       color: #333;
   }

   .search-input {
       flex: 1;
       height: 100%;
       border: 0;
       outline: 0;
       background: transparent;
       padding: 0 22px;
       font-size: 15px;
   }

   .search-icon {
       padding-right: 22px;
       font-size: 20px;
   }

   /* Right icons */

   .header-actions {
       display: flex;
       align-items: center;
       gap: 28px;
       font-size: 24px;
   }

   .header-actions a {
       color: #111;
       text-decoration: none;
   }

   /* =========================
       NAVIGATION
    ========================= */

   .nav {
       height: 52px;
       display: flex;
       align-items: center;
       justify-content: space-between;
       padding: 0 64px;
   }

   .nav-left,
   .nav-right {
       display: flex;
       align-items: center;
   }

   .nav-left {
       gap: 30px;
   }

   .nav-right {
       gap: 25px;
   }

   .nav-item {
       position: relative;
       height: 52px;
       display: flex;
       align-items: center;
   }

   .nav-link {
       display: flex;
       align-items: center;
       gap: 8px;
       height: 100%;
       color: #111;
       text-decoration: none;
       font-size: 16px;
       white-space: nowrap;
       cursor: pointer;
   }

   .arrow {
       width: 8px;
       height: 8px;
       border-right: 1px solid #111;
       border-bottom: 1px solid #111;
       transform: rotate(45deg);
       margin-top: -4px;
       transition: transform 0.2s ease;
   }

   /* =================================
   DESKTOP SMART STICKY HEADER
================================= */

   .header {
       position: sticky;
       top: 0;
       z-index: 9999;

       background: #fff;

       transform: translateY(0);
       transition: transform 0.3s ease;
   }

   /* নিচে scroll করলে hidden */

   .header.header-hidden {
       transform: translateY(-100%);
   }


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

   @media (max-width: 768px) {

       .header {
           position: sticky;
           top: 0;

           transform: none !important;
       }

       .header.header-hidden {
           transform: none !important;
       }

       .header-actions {
           gap: 15px;
           font-size: 22px;
       }

       .visually-hidden {
           position: absolute;
           width: 1px;
           height: 1px;
           padding: 0;
           margin: -1px;
           overflow: hidden;
           clip: rect(0, 0, 0, 0);
           white-space: nowrap;
           border: 0;

       }

   }

   /* =========================
       DESKTOP SUBMENU
    ========================= */

   .submenu {
       position: absolute;
       top: 52px;
       left: 0;

       min-width: 220px;
       padding: 12px 0;

       background: #fff;
       border: 1px solid #eee;
       box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);

       opacity: 0;
       visibility: hidden;
       transform: translateY(8px);

       transition:
           opacity 0.2s ease,
           visibility 0.2s ease,
           transform 0.2s ease;
   }

   .submenu a {
       display: block;
       padding: 11px 20px;
       color: #222;
       text-decoration: none;
       font-size: 14px;
       white-space: nowrap;
   }

   .submenu a:hover {
       background: #f6f6f6;
   }

   /* Desktop hover */

   @media (min-width: 769px) {
       .nav-item:hover>.submenu {
           opacity: 1;
           visibility: visible;
           transform: translateY(0);
       }

       .nav-item:hover .arrow {
           transform: rotate(225deg);
       }
   }

   /* =========================
       EXPERT HELP
    ========================= */

   .expert-help {
       display: flex;
       align-items: center;
       gap: 8px;

       background: #294d43;
       color: #fff !important;

       padding: 7px 16px;
       border-radius: 20px;

       text-decoration: none;
       font-size: 14px;
   }

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

   .mobile-toggle {
       display: none;
       border: 0;
       background: transparent;
       font-size: 28px;
       cursor: pointer;
   }

   @media (max-width: 768px) {

       .header-top {
           height: 65px;
           padding: 0 18px;
           gap: 15px;
       }

       .logo {
           width: auto;
           flex: 1;
           font-size: 20px;
       }

       .search-box {
           display: none;
       }

       .header-actions {
           gap: 15px;
           font-size: 22px;
       }

       .mobile-toggle {
           display: block;
           order: -1;
       }

       /* Mobile navigation */

       .nav {
           position: absolute;
           top: 65px;
           left: 0;

           width: 100%;
           height: auto;

           display: none;
           flex-direction: column;
           align-items: stretch;

           padding: 10px 18px 20px;

           background: #fff;
           border-top: 1px solid #eee;
           box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
       }

       .nav.mobile-open {
           display: flex;
       }

       .nav-left,
       .nav-right {
           width: 100%;
           flex-direction: column;
           align-items: stretch;
           gap: 0;
       }

       .nav-right {
           margin-top: 10px;
       }

       .nav-item {
           width: 100%;
           height: auto;
           display: block;
           border-bottom: 1px solid #eee;
       }

       .nav-link {
           width: 100%;
           height: 50px;
           justify-content: space-between;
       }

       /* Mobile submenu */

       .submenu {
           position: static;

           width: 100%;
           min-width: 0;

           padding: 0;

           border: 0;
           box-shadow: none;

           opacity: 1;
           visibility: visible;
           transform: none;

           display: none;
       }

       .nav-item.submenu-open>.submenu {
           display: block;
       }

       .submenu a {
           padding: 12px 15px;
           background: #f8f8f8;
       }

       .nav-item.submenu-open .arrow {
           transform: rotate(225deg);
       }

       .expert-help {
           justify-content: center;
           margin-top: 15px;
       }
   }
/* check out page */
.gm-checkout-wrapper {
    background: #fff;
    padding: 30px 0;
    font-family: Arial, sans-serif;
}

.gm-checkout-container {
    display: flex;
    max-width: 1000px;
    margin: 0 auto;
    gap: 30px;
}

.gm-checkout-left {
    flex: 1.2;
    padding: 20px;
    border: 1px solid #eee;
    border-radius: 8px;
}

.gm-checkout-right {
    flex: 0.8;
    padding: 20px;
    background: #fafafa;
    border-radius: 8px;
    height: fit-content;
}

.gm-input-group {
    margin-bottom: 15px;
}

.gm-input-group label,
.gm-section-label {
    display: block;
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 6px;
}

.gm-input-group input,
.gm-input-group textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
}

.gm-radio-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.gm-radio-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 5px;
    cursor: pointer;
    background: #fff;
}

.gm-complete-order-btn {
    width: 100%;
    background: #294b40;
    color: #fff;
    border: none;
    padding: 14px;
    border-radius: 5px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}

.gm-summary-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.gm-item-img-wrapper {
    position: relative;
    width: 50px;
    height: 50px;
}

.gm-item-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
}

.gm-item-qty-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    background: #294b40;
    color: #fff;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 50%;
}

.gm-price-breakdown {
    border-top: 1px solid #ddd;
    padding-top: 15px;
    margin-top: 15px;
}

.gm-price-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 14px;
}

.gm-total-row {
    font-weight: bold;
    font-size: 18px;
    border-top: 1px solid #ddd;
    padding-top: 10px;
    color: #294b40;
}
/* checkout page */


/* Product show page  */

/* =========================================================
               PRODUCT PAGE - PLANTSWORLD STYLE
               Scoped under .gm-product-page so footer/header won't break
            ========================================================= */

.gm-product-page {
    --green: #294b40;
    --green-dark: #234238;
    --light-green: #f2f8f5;
    --border: #e4e8e6;
    --text: #202522;
    --muted: #737a76;
    --pink: #a91555;
    --cream: #fafaf8;

    color: var(--text);
    background: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
}

.gm-product-page *,
.gm-product-page *::before,
.gm-product-page *::after {
    box-sizing: border-box;
}

.gm-product-page a {
    color: inherit;
}

/* Main wrapper */
.gm-product-container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px 70px;
}

/* Breadcrumb */
.gm-breadcrumb {
    height: 42px;
    display: flex;
    align-items: center;
    gap: 5px;
    color: #777;
    font-size: 10px;
    white-space: nowrap;
    overflow: hidden;
}

.gm-breadcrumb a {
    text-decoration: none;
    color: #777;
}

.gm-breadcrumb span:last-child {
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* =========================================================
               MAIN TWO COLUMN AREA
            ========================================================= */

.gm-product-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(480px, .96fr);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    align-items: stretch;
}

.gm-left-column {
    min-width: 0;
    padding: 0 26px 50px 0;
}

.gm-right-column {
    min-width: 0;
    padding: 18px 0 55px 34px;
    border-left: 1px solid var(--border);
}

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

.gm-main-image-box {
    position: relative;
    width: 100%;
    height: min(720px, 54vw);
    min-height: 500px;
    background: #fff;
    border: 1px solid #ecefed;
    overflow: hidden;
}

.gm-main-image-box img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    padding: 18px;
    transition: opacity .18s ease, transform .35s ease;
}

.gm-image-counter {
    position: absolute;
    right: 16px;
    bottom: 14px;
    min-width: 38px;
    height: 30px;
    padding: 0 10px;
    border: 1px solid #e3e6e4;
    border-radius: 18px;
    background: rgba(255, 255, 255, .95);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
    font-size: 18px;
    z-index: 2;
}

.gm-thumbnails {
    display: flex;
    gap: 7px;
    margin-top: 8px;
    overflow-x: auto;
    scrollbar-width: thin;
    padding-bottom: 5px;
}

.gm-thumb {
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    border: 1px solid #e5e8e6;
    background: #fff;
    padding: 3px;
    cursor: pointer;
    transition: border-color .2s ease;
}

.gm-thumb:hover,
.gm-thumb.active {
    border: 1.5px solid var(--green);
}

.gm-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.gm-reference-note {
    margin-top: 12px;
    color: #888;
    font-size: 9px;
    line-height: 1.5;
    font-style: italic;
}

/* =========================================================
               PAYMENT
            ========================================================= */

.gm-payment {
    margin-top: 38px;
    padding-top: 10px;
}

.gm-payment-title {
    font-size: 11px;
    color: #777;
    margin-bottom: 9px;
}

.gm-payment img {
    max-width: 260px;
    height: auto;
    display: block;
}

/* =========================================================
               PRODUCT INFO
            ========================================================= */

.gm-product-title {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    color: #3d5149;
    font-size: 24px;
    line-height: 1.3;
    margin: 0 0 7px;
}

.gm-sku {
    font-size: 12px;
    color: #777;
    margin-bottom: 24px;
}

.gm-price-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 5px;
}

.gm-price {
    font-size: 24px;
    font-weight: 700;
    color: #171a18;
}

.gm-old-price {
    font-size: 15px;
    color: #777;
    text-decoration: line-through;
}

.gm-tax {
    font-size: 10px;
    color: #777;
    margin-bottom: 20px;
}

.gm-tax a {
    text-decoration: underline;
}

/* =========================================================
               OPTIONS
            ========================================================= */

.gm-option {
    margin-bottom: 19px;
}

.gm-option-label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #292d2b;
    margin-bottom: 7px;
}

.gm-size-buttons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.gm-size-btn {
    min-width: 78px;
    height: 29px;
    padding: 0 13px;
    border: 1px solid #bfc6c2;
    background: #fff;
    border-radius: 18px;
    color: #333;
    font-size: 9px;
    cursor: pointer;
}

.gm-size-btn.active {
    border-color: var(--green);
    box-shadow: inset 0 0 0 1px var(--green);
}

.gm-variant-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gm-variant {
    text-align: center;
    cursor: pointer;
}

.gm-variant input {
    display: none;
}

.gm-variant-circle {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: 1px solid #d0d4d2;
    padding: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.gm-variant input:checked+.gm-variant-circle {
    border: 1.5px solid var(--green);
    box-shadow: 0 0 0 1px rgba(41, 75, 64, .1);
}

.gm-variant-color {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #ddd;
}

.gm-variant-name {
    display: block;
    margin-top: 5px;
    font-size: 8px;
    color: #666;
}

/* =========================================================
               ADDONS
            ========================================================= */

.gm-addon-section {
    margin-top: 17px;
    background: #f6f9f7;
    border-radius: 7px;
    padding: 11px;
}

.gm-addon-heading {
    color: var(--green);
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .6px;
    margin-bottom: 8px;
}

.gm-addon-item {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 5px 8px;
    margin-bottom: 5px;
    background: #fff;
    border: 1px solid #e3e8e5;
    border-radius: 6px;
    transition: background 0.2s, border-color 0.2s;
}

.gm-addon-item.selected {
    border-color: var(--green);
    background: #eef5f1;
}

.gm-addon-left {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    flex: 1;
}

.gm-addon-left input {
    accent-color: var(--green);
    flex: 0 0 auto;
    cursor: pointer;
}

.gm-addon-image {
    width: 36px;
    height: 36px;
    border-radius: 5px;
    object-fit: cover;
    flex: 0 0 36px;
}

.gm-addon-info {
    min-width: 0;
}

.gm-addon-name {
    font-size: 15px;
    font-weight: 700;
    color: #31564b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gm-addon-price {
    font-size: 12px;
    color: var(--green);
    font-weight: 700;
    margin-top: 2px;
}

.gm-addon-old {
    color: #999;
    text-decoration: line-through;
    margin-left: 4px;
    font-weight: 400;
}

.gm-addon-discount {
    color: #a26c2d;
    font-size: 10px;
    margin-left: 4px;
}

.gm-addon-plus {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border: 1px solid #8ba69d;
    border-radius: 50%;
    background: #fff;
    color: var(--green);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.2s;
}

.gm-addon-item.selected .gm-addon-plus {
    background: var(--green);
    color: #fff;
    border-color: var(--green);
}

.gm-addon-bottom {
    border-top: 1px solid #dfe7e2;
    margin-top: 7px;
    padding-top: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.gm-addon-total-label {
    display: block;
    color: #777;
    font-size: 10px;
}

.gm-addon-total {
    font-size: 15px;
    font-weight: 700;
    color: var(--green);
}

.gm-addon-cart {
    border: 0;
    border-radius: 5px;
    padding: 8px 12px;
    background: var(--green);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

/* =========================================================
               CART
            ========================================================= */

.gm-cart-row {
    display: flex;
    gap: 10px;
    margin-top: 15px;
}

.gm-quantity {
    width: 110px;
    height: 35px;
    border: 1px solid #bdc6c2;
    border-radius: 20px;
    display: flex;
    align-items: center;
    overflow: hidden;
    flex: 0 0 110px;
}

.gm-quantity button {
    width: 32px;
    height: 100%;
    border: 0;
    background: transparent;
    color: #333;
    font-size: 18px;
    cursor: pointer;
}

.gm-quantity input {
    min-width: 0;
    flex: 1;
    border: 0;
    text-align: center;
    outline: none;
    background: transparent;
    font-size: 14px;
}

.gm-add-cart {
    width: 100%;
    display: block;
    flex: 1;
    height: 35px;
    border: 0;
    border-radius: 20px;
    background: var(--green);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
}

.gm-add-cart:hover {
    background: var(--green-dark);
}

/* =========================================================
               SMALL PRODUCT META
            ========================================================= */

.gm-small-meta {
    margin-top: 18px;
}

.gm-botanical-name {
    font-family: Georgia, serif;
    color: #496157;
    font-size: 16px;
    margin-bottom: 7px;
}

.gm-goes-title {
    font-size: 12px;
    color: #777;
    margin-bottom: 5px;
}

.gm-goes {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.gm-goes span {
    border: 1px solid #9bb4aa;
    border-radius: 13px;
    padding: 4px 8px;
    font-size: 12px;
    color: var(--green);
    background: #fff;
}

/* =========================================================
               CARE
            ========================================================= */

.gm-care {
    margin-top: 14px;
}

.gm-care-title {
    color: #66706c;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .7px;
    font-weight: 800;
    margin-bottom: 7px;
}

.gm-care-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
}

.gm-care-item {
    min-height: 38px;
    border: 1px solid #dfe9e4;
    background: #f5faf7;
    border-radius: 5px;
    padding: 7px 8px;
    display: flex;
    align-items: center;
    gap: 7px;
}

.gm-care-icon {
    font-size: 14px;
    flex: 0 0 auto;
}

.gm-care-label {
    font-size: 12px;
    color: #75807b;
    text-transform: uppercase;
    font-weight: 700;
}

.gm-care-value {
    font-size: 10px;
    color: var(--green);
    font-weight: 700;
    margin-top: 2px;
}

.gm-care-note {
    margin-top: 7px;
    border: 1px solid #e5dfcf;
    background: #faf8f1;
    color: #777;
    padding: 8px;
    border-radius: 5px;
    font-size: 10px;
    line-height: 1.45;
}

/* =========================================================
               SERVICE BOXES
            ========================================================= */

.gm-services {
    margin-top: 12px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
}

.gm-service {
    min-height: 48px;
    border: 1px solid #e0e8e4;
    border-radius: 5px;
    padding: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
}

.gm-service-icon {
    font-size: 32px;
    flex: 0 0 auto;
}

.gm-service-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--green);
}

.gm-service-text {
    font-size: 12px;
    color: #777;
    margin-top: 3px;
}

/* =========================================================
               RESPONSIVE
            ========================================================= */

@media (max-width: 1100px) {
    .gm-product-container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .gm-product-layout {
        grid-template-columns: minmax(0, 1fr) minmax(400px, .9fr);
    }

    .gm-right-column {
        padding-left: 22px;
    }

    .gm-left-column {
        padding-right: 18px;
    }
}

@media (max-width: 800px) {

    .gm-product-container {
        padding: 0 12px 45px;
    }

    .gm-breadcrumb {
        height: 36px;
        font-size: 9px;
    }

    .gm-product-layout {
        display: block;
        border-top: 1px solid var(--border);
    }

    .gm-left-column {
        padding: 0 0 30px;
    }

    .gm-right-column {
        border-left: 0;
        border-top: 1px solid var(--border);
        padding: 25px 0 35px;
    }

    .gm-main-image-box {
        height: 110vw;
        min-height: 390px;
        max-height: 600px;
    }

    .gm-main-image-box img {
        padding: 10px;
    }

    .gm-thumbnails {
        gap: 6px;
    }

    .gm-thumb {
        flex-basis: 57px;
        width: 57px;
        height: 57px;
    }

    .gm-payment {
        margin-top: 25px;
    }

    .gm-payment img {
        max-width: 230px;
    }

    .gm-product-title {
        font-size: 19px;
    }

    .gm-price {
        font-size: 21px;
    }

    .gm-addon-section {
        padding: 9px;
    }

    .gm-addon-name {
        font-size: 14px;
    }

    .gm-description {
        padding-top: 20px;
    }
}

@media (max-width: 480px) {

    .gm-product-container {
        padding-left: 10px;
        padding-right: 10px;
    }

    .gm-main-image-box {
        height: 112vw;
        min-height: 350px;
    }

    .gm-image-counter {
        right: 10px;
        bottom: 10px;
    }

    .gm-product-title {
        font-size: 18px;
    }

    .gm-sku {
        margin-bottom: 18px;
    }

    .gm-option {
        margin-bottom: 16px;
    }

    .gm-care-grid,
    .gm-services {
        grid-template-columns: 1fr 1fr;
    }

    .gm-cart-row {
        gap: 7px;
    }

    .gm-quantity {
        width: 98px;
        flex-basis: 98px;
    }

    .gm-quantity button {
        width: 27px;
    }

    .gm-add-cart {
        font-size: 12px;
    }
}

 .product-info-tabs {
     margin-top: 35px;
     border-top: 1px solid #ddd;
 }

 .product-tabs-nav {
     display: flex;
     align-items: center;
     gap: 28px;
     border-bottom: 1px solid #ddd;
 }

 .product-tab-btn {
     position: relative;
     appearance: none;
     border: 0;
     background: transparent;
     padding: 16px 0 14px;
     margin: 0;
     cursor: pointer;
     font-family: inherit;
     font-size: 14px;
     font-weight: 500;
     color: #666;
 }

 .product-tab-btn.active {
     color: #222;
     font-weight: 600;
 }

 .product-tab-btn.active::after {
     content: "";
     position: absolute;
     left: 0;
     right: 0;
     bottom: -1px;
     height: 2px;
     background: #2d473e;
 }

 .product-tab-content {
     display: none;
     padding: 24px 0 10px;
     font-family: inherit;
     font-size: 14px;
     line-height: 1.7;
     color: #555;
 }

 .product-tab-content.active {
     display: block;
 }

 .product-tab-content p {
     margin: 0 0 20px;
 }

 .product-tab-content h2 {
     margin: 22px 0 8px;
     font-family: Georgia, "Times New Roman", serif;
     font-size: 20px;
     line-height: 1.3;
     color: #2d473e;
     font-weight: 600;
 }

 .product-tab-content h2:first-child {
     margin-top: 0;
 }

 .product-tab-content ul {
     margin: 0 0 20px;
     padding-left: 20px;
 }

 .product-tab-content li {
     margin-bottom: 5px;
 }

 .product-tab-content strong {
     color: #333;
 }

 @media (max-width: 768px) {
     .product-tabs-nav {
         gap: 18px;
         overflow-x: auto;
         scrollbar-width: none;
         white-space: nowrap;
     }

     .product-tabs-nav::-webkit-scrollbar {
         display: none;
     }

     .product-tab-btn {
         flex: 0 0 auto;
         font-size: 13px;
         padding: 14px 0 12px;
     }

     .product-tab-content {
         padding-top: 20px;
         font-size: 13px;
         line-height: 1.65;
     }

     .product-tab-content h2 {
         font-size: 18px;
     }
 }

/* Product show page end */

/* Home Page */

 /* =========================================================
                                   PLANTSWORLD PRODUCT SECTION
                                ========================================================= */

 .pw-trending-section {
     width: 100%;
     background: #fff;
     padding: 42px 0 55px;
     font-family: inherit;
     color: #111;
     overflow: hidden;
 }

 .pw-trending-container {
     width: 100%;
     max-width: 100%;
     margin: 0 auto;
     padding: 0 60px;
     box-sizing: border-box;
 }


 /* =========================================================
                                   HEADER
                                ========================================================= */

 .pw-section-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-bottom: 24px;
 }

 .pw-section-header h2 {
     margin: 0;
     padding: 0;
     font-size: 24px;
     line-height: 1.25;
     font-weight: 700;
     color: #111;
     letter-spacing: 0;
 }

 .pw-section-header a {
     color: #111;
     font-size: 14px;
     line-height: 1.4;
     text-decoration: underline;
     text-underline-offset: 3px;
 }


 /* =========================================================
                                   SLIDER
                                ========================================================= */

 .pw-slider-wrapper {
     position: relative;
     width: 100%;
 }

 .pw-product-slider {

     display: flex;

     gap: 32px;

     width: 100%;

     overflow-x: auto;
     overflow-y: hidden;

     scroll-behavior: smooth;

     scroll-snap-type: x mandatory;

     -webkit-overflow-scrolling: touch;

     scrollbar-width: thin;

     scrollbar-color: #111 #eee;

     padding: 0 0 8px;

     box-sizing: border-box;
 }


 /* Chrome / Edge scrollbar */

 .pw-product-slider::-webkit-scrollbar {
     height: 7px;
 }

 .pw-product-slider::-webkit-scrollbar-track {
     background: #eeeeee;
 }

 .pw-product-slider::-webkit-scrollbar-thumb {
     background: #111;
     border-radius: 10px;
 }

 .pw-product-slider::-webkit-scrollbar-thumb:hover {
     background: #333;
 }


 /* =========================================================
                                   PRODUCT CARD
                                   Desktop = exactly 4 cards
                                ========================================================= */

 .pw-product-card {

     flex: 0 0 calc((100% - 96px) / 4);

     min-width: 0;

     box-sizing: border-box;

     border: 1px solid #e7e7e7;

     background: #fff;

     scroll-snap-align: start;

     display: flex;

     flex-direction: column;

     overflow: hidden;

     position: relative;
 }


 /* =========================================================
                                   IMAGE
                                ========================================================= */

 .pw-product-media {

     width: 100%;

     aspect-ratio: 1 / 1.16;

     position: relative;

     overflow: hidden;

     background: #fff;
 }

 .pw-image-link {

     position: absolute;

     inset: 0;

     display: block;

     width: 100%;

     height: 100%;

     text-decoration: none;
 }

 .pw-product-image {

     position: absolute;

     inset: 0;

     width: 100%;

     height: 100%;

     object-fit: contain;

     object-position: center;

     display: block;

     padding: 12px;

     box-sizing: border-box;

     transition:
         opacity .35s ease,
         transform .45s ease;
 }


 /* Main Image */

 .pw-main-image {
     opacity: 1;
     z-index: 1;
 }


 /* Hover Image */

 .pw-hover-image {
     opacity: 0;
     z-index: 2;
 }


 /* Mouse hover image change */

 .pw-product-card:hover .pw-hover-image {
     opacity: 1;
 }

 .pw-product-card:hover .pw-main-image {
     opacity: 0;
 }


 /* Slight zoom like reference */

 .pw-product-card:hover .pw-hover-image {
     transform: scale(1.015);
 }


 /* =========================================================
                                   DISCOUNT BADGE
                                ========================================================= */

 .pw-discount-badge {

     position: absolute;

     z-index: 10;

     top: 20px;

     left: 20px;

     display: inline-flex;

     align-items: center;

     gap: 6px;

     padding: 6px 10px;

     background: #b3135b;

     color: #fff;

     font-size: 12px;

     line-height: 1;

     font-weight: 700;

     white-space: nowrap;
 }

 .pw-discount-badge svg {

     width: 13px;

     height: 13px;

     fill: currentColor;

     flex: 0 0 auto;
 }


 /* =========================================================
                                   PRODUCT INFO
                                ========================================================= */

 .pw-product-info {

     display: flex;

     flex-direction: column;

     flex: 1;

     padding: 20px 20px 20px;

     box-sizing: border-box;
 }


 /* Product title */

 .pw-product-title {

     margin: 0 0 8px;

     min-height: 38px;

     font-size: 15px;

     line-height: 1.35;

     font-weight: 700;

     color: #111;
 }

 .pw-product-title a {

     color: inherit;

     text-decoration: none;
 }


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

 .pw-rating-row {

     min-height: 22px;

     display: flex;

     align-items: center;

     gap: 7px;

     margin-bottom: 12px;
 }

 .pw-stars {

     color: #e33434;

     font-size: 16px;

     letter-spacing: -1px;

     line-height: 1;
 }

 .pw-rating-count {

     color: #222;

     font-size: 12px;

     line-height: 1;
 }


 /* =========================================================
                                   VARIANTS
                                ========================================================= */

 .pw-variants {

     display: flex;

     align-items: center;

     gap: 8px;

     min-height: 29px;

     margin-bottom: 20px;
 }

 .pw-variant {

     width: 24px;

     height: 24px;

     display: block;

     border-radius: 50%;

     border: 1px solid #d3d3d3;

     background:

         linear-gradient(135deg,
             #ffffff 0%,
             #eeeeee 45%,
             #d9d9d9 100%);

     box-sizing: border-box;
 }

 .pw-variant:first-child {

     border: 2px solid #777;

     box-shadow:
         inset 0 0 0 2px #fff;
 }


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

 .pw-price {

     display: flex;

     align-items: baseline;

     flex-wrap: wrap;

     gap: 8px;

     min-height: 30px;

     margin-top: auto;

     margin-bottom: 18px;

     color: #111;
 }

 .pw-from {

     font-size: 15px;

     font-weight: 400;
 }

 .pw-sale-price {

     font-size: 16px;

     font-weight: 700;

     color: #111;
 }

 .pw-old-price {

     font-size: 14px;

     color: #555;

     text-decoration: line-through;

     text-decoration-thickness: 1px;
 }


 /* =========================================================
                                   VIEW OPTIONS
                                ========================================================= */

 .pw-view-options {

     width: 100%;

     min-height: 45px;

     display: flex;

     align-items: center;

     justify-content: center;

     box-sizing: border-box;

     padding: 0 15px;

     border-radius: 25px;

     background: #2d4b40;

     color: #fff;

     font-size: 12px;

     line-height: 1;

     font-weight: 700;

     letter-spacing: .2px;

     text-decoration: none;

     text-align: center;

     transition:
         background .2s ease,
         transform .2s ease;
 }

 .pw-view-options:hover {

     background: #243d34;

     color: #fff;

     transform: translateY(-1px);
 }


 /* =========================================================
                                   SLIDER ARROWS
                                ========================================================= */

 .pw-slider-arrow {

     position: absolute;

     top: 50%;

     transform: translateY(-50%);

     width: 40px;

     height: 40px;

     border: none;

     border-radius: 50%;

     display: flex;

     align-items: center;

     justify-content: center;

     background: #2d4b40;

     color: #fff;

     cursor: pointer;

     z-index: 30;

     font-size: 17px;

     line-height: 1;

     box-shadow: 0 2px 8px rgba(0, 0, 0, .15);

     transition: .2s ease;
 }

 .pw-slider-arrow:hover {

     background: #1f382f;

     transform: translateY(-50%) scale(1.05);
 }

 .pw-arrow-prev {

     left: -20px;
 }

 .pw-arrow-next {

     right: -20px;
 }


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

 @media (max-width: 1024px) {

     .pw-trending-container {
         padding: 0 30px;
     }

     .pw-product-slider {
         gap: 20px;
     }

     .pw-product-card {

         flex-basis: calc((100% - 60px) / 3);
     }

     .pw-arrow-prev {
         left: -15px;
     }

     .pw-arrow-next {
         right: -15px;
     }
 }


 /* =========================================================
                                   MOBILE
                                   EXACTLY 2 PRODUCTS VISIBLE
                                ========================================================= */

 @media (max-width: 767px) {

     .pw-trending-section {

         padding: 30px 0 40px;

     }

     .pw-trending-container {

         padding: 0 15px;

     }


     /* Header */

     .pw-section-header {

         margin-bottom: 18px;

     }

     .pw-section-header h2 {

         font-size: 20px;

     }

     .pw-section-header a {

         font-size: 13px;

     }


     /* Slider */

     .pw-product-slider {

         gap: 10px;

         padding-bottom: 8px;

         scroll-snap-type: x mandatory;

         scrollbar-width: none;
     }

     .pw-product-slider::-webkit-scrollbar {

         display: none;

     }


     /*
                                     * 2 products visible on mobile
                                     *
                                     * container width = 100%
                                     * gap = 10px
                                     *
                                     * each card = (100% - 10px) / 2
                                     */

     .pw-product-card {

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

         width: calc((100% - 10px) / 2);

         scroll-snap-align: start;

         border-color: #e5e5e5;

     }


     /* Image */

     .pw-product-media {

         aspect-ratio: 1 / 1.12;

     }

     .pw-product-image {

         padding: 6px;

     }


     /* Badge */

     .pw-discount-badge {

         top: 10px;

         left: 10px;

         padding: 5px 7px;

         font-size: 9px;

         gap: 4px;

     }

     .pw-discount-badge svg {

         width: 10px;

         height: 10px;

     }


     /* Info */

     .pw-product-info {

         padding: 13px 11px 12px;

     }


     .pw-product-title {

         font-size: 12px;

         line-height: 1.35;

         min-height: 33px;

         margin-bottom: 6px;

         display: -webkit-box;

         -webkit-line-clamp: 2;

         -webkit-box-orient: vertical;

         overflow: hidden;

     }


     /* Rating */

     .pw-rating-row {

         min-height: 18px;

         margin-bottom: 9px;

         gap: 4px;

     }

     .pw-stars {

         font-size: 12px;

     }

     .pw-rating-count {

         font-size: 10px;

     }


     /* Variants */

     .pw-variants {

         min-height: 22px;

         gap: 5px;

         margin-bottom: 12px;

     }

     .pw-variant {

         width: 20px;

         height: 20px;

     }


     /* Price */

     .pw-price {

         gap: 5px;

         margin-bottom: 12px;

         min-height: 25px;

     }

     .pw-from {

         font-size: 11px;

     }

     .pw-sale-price {

         font-size: 12px;

     }

     .pw-old-price {

         font-size: 11px;

     }


     /* Button */

     .pw-view-options {

         min-height: 38px;

         padding: 0 7px;

         border-radius: 20px;

         font-size: 9px;

     }


     /*
                                     * Hide arrows on mobile.
                                     * User can swipe naturally.
                                     */

     .pw-slider-arrow {

         display: none;

     }

 }


 /* =========================================================
                                   VERY SMALL MOBILE
                                ========================================================= */

 @media (max-width: 380px) {

     .pw-trending-container {

         padding: 0 10px;

     }

     .pw-product-slider {

         gap: 8px;

     }

     .pw-product-card {

         flex-basis: calc((100% - 8px) / 2);

         width: calc((100% - 8px) / 2);

     }

     .pw-product-info {

         padding-left: 9px;

         padding-right: 9px;

     }

     .pw-product-title {

         font-size: 11px;

     }

 }


 /* =========================================================
                                   TOUCH DEVICES
                                ========================================================= */

 @media (hover: none) {

     /*
                                     * Mobile has no mouse hover.
                                     * Keep main image visible.
                                     */

     .pw-product-card:hover .pw-main-image {

         opacity: 1;

     }

     .pw-product-card:hover .pw-hover-image {

         opacity: 0;

     }

 }

 /* Home Page End */
