/* JPower staging storefront — shared Organic visual layer only. */
:root {
    --jp-green: #8ac9a6;
    --jp-green-deep: #4a7c63;
    --jp-green-dark: #c4d7cb;
    --jp-sidebar-ink: #435a4e;
    --jp-sand: #ffffff;
    --jp-oat: #f5faf7;
    --jp-ink: #4f5c54;
    --jp-muted: #718076;
    --jp-surface: #fff;
    --jp-surface-soft: #f7faf7;
    --jp-line: #dbe7de;
    --jp-green-soft: #e8f5ed;
    --jp-shadow-sm: 0 8px 24px rgba(74, 124, 99, .08);
    --jp-shadow-md: 0 18px 44px rgba(74, 124, 99, .13);
    --jp-radius-sm: 10px;
    --jp-radius-md: 18px;
    --jp-radius-lg: 28px;
    --jp-content: 1200px;
}

html { color-scheme: light; scroll-behavior: smooth; }

body.jpower-organic-front {
    color: var(--jp-ink);
    background: var(--jp-surface-soft);
    font-family: "Noto Sans TC", "Microsoft JhengHei", "PingFang TC", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.jpower-organic-front .page-wrapper { background: var(--jp-surface-soft); }
.jpower-organic-front h1,
.jpower-organic-front h2,
.jpower-organic-front h3,
.jpower-organic-front h4,
.jpower-organic-front h5,
.jpower-organic-front h6,
.jpower-organic-front .title { color: var(--jp-green-deep); letter-spacing: -.015em; }
.jpower-organic-front a {
    transition: color .18s ease, background-color .18s ease, border-color .18s ease,
        box-shadow .18s ease, transform .18s ease;
}
.jpower-organic-front a:not(.btn):hover { color: var(--jp-green-deep); }
.jpower-organic-front :focus-visible {
    outline: 3px solid rgba(89, 184, 132, .38) !important;
    outline-offset: 3px;
}

/* Shared navigation */
.jpower-organic-front .navigation-wrapper {
    color: var(--jp-ink) !important;
    background: rgba(255, 255, 255, .96) !important;
}
.jpower-organic-front .navigation-wrapper .navigation-container {
    min-height: 82px;
    max-width: var(--jp-content) !important;
    padding: 13px 28px !important;
    background: rgba(255, 255, 255, .96) !important;
    border-bottom: 1px solid var(--jp-line) !important;
    box-shadow: 0 8px 30px rgba(74, 124, 99, .06);
}
.jpower-organic-front .navigation-image {
    width: auto !important;
    height: 54px !important;
    object-fit: contain;
}
.jpower-organic-front .navigation-link { color: var(--jp-ink) !important; font-weight: 650 !important; }
.jpower-organic-front .navigation-link:hover,
.jpower-organic-front .navigation-link:focus,
.jpower-organic-front .navigation-menu-item:focus-within .navigation-link { color: var(--jp-green-deep) !important; }
.jpower-organic-front .navigation-link::after { background: var(--jp-green) !important; }
.jpower-organic-front .navigation-submenu {
    padding: 8px !important;
    border: 1px solid var(--jp-line) !important;
    border-radius: 14px !important;
    background: var(--jp-surface) !important;
    box-shadow: var(--jp-shadow-md) !important;
}
.jpower-organic-front .navigation-submenu a { border-radius: 9px; color: var(--jp-ink) !important; }
.jpower-organic-front .navigation-submenu a:hover,
.jpower-organic-front .navigation-submenu a:focus {
    color: var(--jp-green-deep) !important;
    background: var(--jp-green-soft) !important;
}
.jpower-organic-front .icon-link,
.jpower-organic-front .navigation-toggle { color: var(--jp-green-deep) !important; border-radius: 50%; }
.jpower-organic-front .icon-link:hover,
.jpower-organic-front .navigation-toggle:hover { background: var(--jp-green-soft) !important; }
.jpower-organic-front .navigation-mobile-cart-count { background: var(--jp-green-deep) !important; }
.jpower-organic-front .navigation-mobile-overlay {
    color: var(--jp-ink) !important;
    background: rgba(247, 250, 247, .98) !important;
}
.jpower-organic-front .navigation-mobile-link,
.jpower-organic-front .navigation-mobile-cta { border-color: var(--jp-line) !important; }
.jpower-organic-front .navigation-mobile-link:hover,
.jpower-organic-front .navigation-mobile-cta:hover {
    color: var(--jp-green-deep) !important;
    background: var(--jp-green-soft) !important;
}

/* Shared page shell */
.jpower-organic-front .breadcrumb-nav {
    background: linear-gradient(90deg, var(--jp-green-soft), #f8fbf8);
    border-top: 1px solid rgba(219, 231, 222, .7);
    border-bottom: 1px solid var(--jp-line);
}
.jpower-organic-front .breadcrumb-nav .container,
.jpower-organic-front .breadcrumb-nav .container-fluid { max-width: var(--jp-content); }
.jpower-organic-front .breadcrumb { color: var(--jp-muted); }
.jpower-organic-front .breadcrumb li:last-child,
.jpower-organic-front .breadcrumb a:hover { color: var(--jp-green-deep); }
.jpower-organic-front main.main:not(.home) { min-height: 56vh; }
.jpower-organic-front main.main:not(.home) > .container,
.jpower-organic-front main.main:not(.home) .page-content > .container,
.jpower-organic-front main.main:not(.home) .page-content > .container-fluid { max-width: var(--jp-content); }

/* Forms, buttons and data */
.jpower-organic-front .form-control,
.jpower-organic-front select.form-control,
.jpower-organic-front textarea.form-control,
.jpower-organic-front .input-text,
.jpower-organic-front input[type="text"],
.jpower-organic-front input[type="password"],
.jpower-organic-front input[type="email"],
.jpower-organic-front input[type="number"] {
    color: var(--jp-ink);
    border-color: #cfdcd2;
    border-radius: var(--jp-radius-sm);
    background: var(--jp-surface);
}
.jpower-organic-front .form-control:focus,
.jpower-organic-front select.form-control:focus,
.jpower-organic-front textarea.form-control:focus,
.jpower-organic-front .input-text:focus,
.jpower-organic-front input:focus {
    border-color: var(--jp-green) !important;
    box-shadow: 0 0 0 4px rgba(89, 184, 132, .14) !important;
}
.jpower-organic-front .btn,
.jpower-organic-front button:not(.mfp-close):not(.owl-prev):not(.owl-next) { border-radius: var(--jp-radius-sm); }
.jpower-organic-front .btn-primary,
.jpower-organic-front .btn-success,
.jpower-organic-front .btn-product,
.jpower-organic-front .page-item.active .page-link {
    color: #fff !important;
    border-color: var(--jp-green-deep) !important;
    background: var(--jp-green-deep) !important;
    box-shadow: 0 8px 18px rgba(74, 124, 99, .16);
}
.jpower-organic-front .btn-primary:hover,
.jpower-organic-front .btn-success:hover,
.jpower-organic-front .btn-product:hover {
    color: #fff !important;
    border-color: #5f8f74 !important;
    background: #5f8f74 !important;
    transform: translateY(-1px);
}
.jpower-organic-front .btn-outline,
.jpower-organic-front .btn-outline-primary {
    color: var(--jp-green-deep) !important;
    border-color: var(--jp-green) !important;
    background: transparent !important;
}
.jpower-organic-front .btn-outline:hover,
.jpower-organic-front .btn-outline-primary:hover { color: #fff !important; background: var(--jp-green-deep) !important; }
.jpower-organic-front .table {
    color: var(--jp-ink);
    border-radius: var(--jp-radius-sm);
    background: var(--jp-surface);
}
.jpower-organic-front .table thead,
.jpower-organic-front .table-success,
.jpower-organic-front .table-success > th,
.jpower-organic-front .table-success > td {
    color: var(--jp-green-deep) !important;
    background: var(--jp-green-soft) !important;
}
.jpower-organic-front .table-hover tbody tr:hover { background: #f1f8f3; }
.jpower-organic-front .card,
.jpower-organic-front .modal-content,
.jpower-organic-front .dropdown-menu {
    border-color: var(--jp-line);
    border-radius: var(--jp-radius-md);
    box-shadow: var(--jp-shadow-sm);
}

/* Cart, checkout, member reorder and account workspace */
.jpower-organic-front[data-page="cart"] .cart-table,
.jpower-organic-front[data-page="cart"] .summary,
.jpower-organic-front[data-page="checkout"] .summary,
.jpower-organic-front[data-page="checkout"] .grey-section,
.jpower-organic-front[data-page="purchase"] .grey-section,
.jpower-organic-front[data-page="purchase"] .ec-vendor-block,
.jpower-organic-front[data-page="main"] .ec-vendor-block {
    border: 1px solid var(--jp-line) !important;
    border-radius: var(--jp-radius-md) !important;
    background: var(--jp-surface) !important;
    box-shadow: var(--jp-shadow-sm);
}
body.jpower-organic-front.jpower-member-workspace[data-page="purchase"] .grey-section,
body.jpower-organic-front.jpower-member-workspace[data-page="purchase"] .ec-vendor-block {
    background: #ffffff !important;
    border-color: rgba(74, 124, 99, .18) !important;
}
.jpower-organic-front[data-page="cart"] .summary,
.jpower-organic-front[data-page="checkout"] .summary {
    padding: 24px;
}
.jpower-organic-front[data-page="cart"] .cart-table thead,
.jpower-organic-front[data-page="checkout"] .checkout-progress-bar,
.jpower-organic-front[data-page="purchase"] .form-wizard {
    color: var(--jp-green-deep) !important;
    border-color: var(--jp-line) !important;
    background: var(--jp-green-soft) !important;
}
.jpower-organic-front[data-page="purchase"] .form-wizard {
    overflow: hidden;
    border: 1px solid var(--jp-line);
    border-radius: var(--jp-radius-md);
}
.jpower-organic-front[data-page="purchase"] .form-wizard .active,
.jpower-organic-front[data-page="purchase"] .form-wizard .completed {
    color: #fff !important;
    background: var(--jp-green-deep) !important;
}
.jpower-organic-front[data-page="checkout"] .StripeElement {
    min-height: 44px;
    padding: 12px 14px;
    border: 1px solid #cfdcd2;
    border-radius: var(--jp-radius-sm);
    background: var(--jp-surface);
}
.jpower-organic-front[data-page="checkout"] .StripeElement--focus {
    border-color: var(--jp-green);
    box-shadow: 0 0 0 4px rgba(89, 184, 132, .14);
}
.jpower-organic-front[data-page="main"] .col-lg-9 > .row > [class*="col-"] > div,
.jpower-organic-front[data-page="main"] .col-lg-9 > .row > [class*="col-"] > a > div {
    border: 1px solid rgba(255, 255, 255, .2);
    box-shadow: var(--jp-shadow-sm);
}
.jpower-organic-front[data-page="main"] .col-lg-9 > .row:first-child > [class*="col-"]:nth-child(1) > div {
    background: linear-gradient(135deg, #b8d8c5, #9fc8b0) !important;
}
.jpower-organic-front[data-page="main"] .col-lg-9 > .row:first-child > [class*="col-"]:nth-child(2) > a > div {
    background: linear-gradient(135deg, #ffffff, #f5faf7) !important;
}
.jpower-organic-front[data-page="main"] .col-lg-9 > .row:first-child > [class*="col-"]:nth-child(3) > a > div {
    background: linear-gradient(135deg, #bad2c7, #a3c4b4) !important;
}
.jpower-organic-front[data-page="main"] .col-lg-9 > .row:first-child > [class*="col-"]:nth-child(4) > a > div {
    background: linear-gradient(135deg, #e3b5b4, #dba4a3) !important;
}
.jpower-organic-front[data-page="main"] .col-lg-9 > .row:nth-child(2) > [class*="col-"]:nth-child(1) > div {
    background: linear-gradient(135deg, #b8d8c5, #9fc8b0) !important;
}
.jpower-organic-front[data-page="main"] .col-lg-9 > .row:nth-child(2) > [class*="col-"]:nth-child(2) > div {
    background: linear-gradient(135deg, #c9bed8, #b8aaca) !important;
}
.jpower-organic-front[data-page="main"] .col-lg-9 > .row:first-child > [class*="col-"] .text-white,
.jpower-organic-front[data-page="main"] .col-lg-9 > .row:nth-child(2) > [class*="col-"] .text-white {
    color: var(--jp-sidebar-ink) !important;
}
.jpower-organic-front[data-page="main"] .btn.bg-info.text-warning {
    color: #fff !important;
    background: var(--jp-green-deep) !important;
}
.jpower-organic-front[data-page="main"] .btn.bg-info.text-warning:hover,
.jpower-organic-front[data-page="main"] .btn.bg-info.text-warning:focus {
    background: var(--jp-green-dark) !important;
}

/* Logged-in member workspace: mirror the Organic office shell. */
body.jpower-member-workspace {
    min-height: 100vh;
    color: var(--jp-ink);
    background:
        linear-gradient(125deg, rgba(40, 111, 104, .035), transparent 42%),
        var(--jp-sand);
}
body.jpower-member-workspace::before {
    position: fixed;
    inset: 0;
    z-index: 2000;
    pointer-events: none;
    content: "";
    opacity: .022;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}
.jpower-member-workspace .page-wrapper {
    background: transparent;
}
.jpower-member-workspace .navigation-wrapper {
    background: transparent !important;
}
.jpower-member-workspace .navigation-wrapper .navigation-container {
    margin-top: 14px;
    color: var(--jp-ink) !important;
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(74, 124, 99, .14) !important;
    border-radius: 0 0 22px 22px;
    box-shadow: var(--jp-shadow-sm);
    backdrop-filter: blur(16px);
}
.jpower-member-workspace .breadcrumb-nav {
    margin-top: 14px;
    background: rgba(40, 111, 104, .05) !important;
    border-color: rgba(74, 124, 99, .16) !important;
}
.jpower-member-workspace main.main:not(.home) {
    min-height: 64vh;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 34px 0 54px;
    background: transparent;
}
.jpower-member-workspace main.main:not(.home) > div > .container-fluid,
.jpower-member-workspace main.main:not(.home) .page-content > .container-fluid {
    max-width: 1320px;
}
.jpower-member-workspace h1,
.jpower-member-workspace h2,
.jpower-member-workspace h3,
.jpower-member-workspace .title {
    color: var(--jp-green-deep);
    font-family: Georgia, "Songti TC", "Noto Serif TC", serif;
    letter-spacing: .08em;
}
.jpower-member-workspace .jp-member-sidebar {
    padding-right: 20px !important;
}
body.jpower-organic-front.jpower-member-workspace[data-page] .jp-member-panel {
    position: relative;
    overflow: hidden;
    padding: 18px !important;
    color: var(--jp-sidebar-ink);
    background: linear-gradient(165deg, var(--jp-green-dark), #dde9e1 82%) !important;
    border: 0 !important;
    border-radius: 0 var(--jp-radius-lg) var(--jp-radius-lg) 0 !important;
    box-shadow: var(--jp-shadow-md) !important;
}
body.jpower-organic-front.jpower-member-workspace[data-page] .jp-member-panel::after {
    position: absolute;
    right: -150px;
    bottom: 72px;
    width: 240px;
    height: 240px;
    border: 54px solid rgba(188, 201, 182, .14);
    border-radius: 50%;
    pointer-events: none;
    content: "";
}
.jpower-member-workspace .jp-member-panel > * {
    position: relative;
    z-index: 1;
}
.jpower-member-workspace .jp-member-profile {
    padding: 18px 14px;
    color: var(--jp-sidebar-ink);
    background: var(--jp-sand);
    border: 1px solid rgba(188, 201, 182, .3);
    border-radius: var(--jp-radius-md);
}
.jpower-member-workspace .jp-member-profile img {
    width: 118px;
    height: 118px;
    border: 4px solid rgba(89, 184, 132, .28);
    border-radius: 24px;
    object-fit: cover;
}
.jpower-member-workspace .jp-member-profile h5 {
    color: var(--jp-green-deep);
}
.jpower-member-workspace .jp-member-meta > .d-flex {
    gap: 12px;
    color: var(--jp-sidebar-ink);
    border-color: rgba(63, 118, 89, .2) !important;
}
.jpower-member-workspace .jp-member-meta > .d-flex > :last-child {
    text-align: right;
}
.jpower-member-workspace .jp-member-nav-card {
    border: 0 !important;
    background: transparent;
}
.jpower-member-workspace .jp-member-nav {
    padding: 0 !important;
}
.jpower-member-workspace .jp-member-nav-list {
    margin-left: 0 !important;
    background: transparent;
}
.jpower-member-workspace .jp-member-nav-list > li {
    padding: 0 !important;
}
.jpower-member-workspace .jp-member-nav-list > li > a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    color: var(--jp-sidebar-ink) !important;
    border-radius: var(--jp-radius-sm);
    transition: color 350ms ease, background-color 350ms ease, transform 350ms ease;
}
.jpower-member-workspace .jp-member-nav-list > li > a:hover,
.jpower-member-workspace .jp-member-nav-list > li > a:focus {
    color: var(--jp-green-deep) !important;
    background: rgba(255, 255, 255, .62);
    transform: translateX(3px);
}
.jpower-member-workspace .jp-member-nav-list > li.text-info > a {
    color: var(--jp-green-deep) !important;
    background: var(--jp-oat);
    box-shadow: var(--jp-shadow-soft);
}
.jpower-member-workspace .jp-member-qr {
    margin-top: 12px;
    color: var(--jp-sidebar-ink);
    border: 1px solid rgba(63, 118, 89, .2);
    border-radius: var(--jp-radius-sm);
    background: rgba(255, 255, 255, .18);
}
.jpower-member-workspace .jp-member-qr > summary {
    padding: 12px 14px;
    color: var(--jp-sidebar-ink);
    font-weight: 700;
    cursor: pointer;
}
.jpower-member-workspace .jp-member-qr-content {
    padding: 6px 12px 16px;
}
.jpower-member-workspace .jp-member-qr-content > img {
    max-width: 100%;
    height: auto;
    padding: 8px;
    background: var(--jp-sand);
    border-radius: var(--jp-radius-sm);
}
.jpower-member-workspace .col-lg-9 {
    min-width: 0;
}
.jpower-member-workspace .col-lg-9 .ec-vendor-block,
.jpower-member-workspace .col-lg-9 .grey-section,
.jpower-member-workspace .col-lg-9 .card,
.jpower-member-workspace .col-lg-9 .summary {
    color: var(--jp-ink);
    background: #ffffff !important;
    border-color: rgba(74, 124, 99, .18) !important;
    border-radius: var(--jp-radius-md) !important;
    box-shadow: var(--jp-shadow-sm);
}
.jpower-member-workspace .form-control,
.jpower-member-workspace select.form-control,
.jpower-member-workspace textarea.form-control,
.jpower-member-workspace .input-text,
.jpower-member-workspace input[type="text"],
.jpower-member-workspace input[type="password"],
.jpower-member-workspace input[type="email"],
.jpower-member-workspace input[type="number"] {
    background: #ffffff;
    border-color: rgba(74, 124, 99, .28);
}
.jpower-member-workspace .table-responsive {
    overflow-x: auto;
    background: #ffffff;
    border: 1px solid rgba(74, 124, 99, .18);
    border-radius: var(--jp-radius-md);
    box-shadow: var(--jp-shadow-sm);
}
.jpower-member-workspace .table,
.jpower-member-workspace .table tbody,
.jpower-member-workspace .table td {
    background: transparent;
}
.jpower-member-workspace .table thead,
.jpower-member-workspace .table-success,
.jpower-member-workspace .table-success > th,
.jpower-member-workspace .table-success > td {
    background: rgba(40, 111, 104, .10) !important;
}
.jpower-member-workspace .table-striped tbody tr:nth-of-type(odd),
.jpower-member-workspace .table tbody tr:nth-child(even) {
    background: rgba(40, 111, 104, .06);
}
.jpower-member-workspace .text-white {
    color: var(--jp-sand) !important;
}

@media (max-width: 991px) {
    .jpower-member-workspace main.main:not(.home) {
        padding-top: 22px;
    }
    .jpower-member-workspace .jp-member-sidebar {
        order: -1;
        padding: 0 15px !important;
    }
    body.jpower-organic-front.jpower-member-workspace[data-page] .jp-member-panel {
        padding: 12px !important;
        border-radius: var(--jp-radius-md) !important;
    }
    .jpower-member-workspace .jp-member-profile {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-bottom: 12px !important;
        padding: 10px 12px;
        text-align: left !important;
    }
    .jpower-member-workspace .jp-member-profile a {
        display: flex;
        align-items: center;
        gap: 14px;
    }
    .jpower-member-workspace .jp-member-profile img {
        width: 58px;
        height: 58px;
        border-width: 2px;
        border-radius: 16px;
    }
    .jpower-member-workspace .jp-member-profile h5 {
        margin: 0 !important;
    }
    .jpower-member-workspace .jp-member-meta {
        display: none;
    }
    .jpower-member-workspace .jp-member-nav-card {
        margin-bottom: 0 !important;
    }
    .jpower-member-workspace .jp-member-nav-list {
        display: flex;
        flex-flow: row nowrap;
        gap: 8px;
        overflow-x: auto;
        padding: 2px 0 6px;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }
    .jpower-member-workspace .jp-member-nav-list > li {
        flex: 0 0 auto;
        scroll-snap-align: start;
    }
    .jpower-member-workspace .jp-member-nav-list > li > a {
        padding: 10px 13px;
        background: rgba(255, 255, 255, .3);
    }
    .jpower-member-workspace .jp-member-nav-list > li > a:hover,
    .jpower-member-workspace .jp-member-nav-list > li > a:focus {
        transform: none;
    }
    .jpower-member-workspace .col-lg-9 {
        padding-right: 15px;
        padding-left: 15px;
    }
}
.jpower-organic-front[data-page="shop"] .product-lists .product,
.jpower-organic-front[data-page="money_shop"] .product-lists .product {
    margin-bottom: 18px;
    border: 1px solid var(--jp-line);
    border-radius: var(--jp-radius-md);
    background: var(--jp-surface);
    box-shadow: var(--jp-shadow-sm);
}

/* Home: sand product stage and light green service sections */
.jpower-organic-front[data-page="home"] .main.home.newui {
    color: var(--jp-ink) !important;
    background: var(--jp-surface-soft) !important;
}
.jpower-organic-front[data-page="home"] .hero-showcase__overlay {
    background: linear-gradient(90deg, rgba(74, 124, 99, .52) 0%, rgba(105, 146, 125, .28) 46%, rgba(105, 146, 125, .06) 76%) !important;
}
.jpower-organic-front[data-page="home"] .hero-title { color: #fff !important; }
.jpower-organic-front[data-page="home"] .hero-subtitle { color: rgba(255, 255, 255, .86) !important; }
.jpower-organic-front[data-page="home"] .product-showcase-section { background: var(--jp-sand) !important; }
.jpower-organic-front[data-page="home"] .product-showcase-card {
    overflow: hidden;
    border: 1px solid rgba(74, 124, 99, .18) !important;
    border-radius: var(--jp-radius-md) !important;
    background: rgba(255, 255, 255, .93) !important;
    box-shadow: 0 12px 32px rgba(70, 81, 66, .08) !important;
}
.jpower-organic-front[data-page="home"] .product-showcase-card:hover {
    border-color: var(--jp-oat) !important;
    box-shadow: var(--jp-shadow-md) !important;
    transform: translateY(-4px);
}
.jpower-organic-front[data-page="home"] .product-showcase-image-wrapper {
    background: linear-gradient(145deg, #fff, #f4f8f4) !important;
}
.jpower-organic-front[data-page="home"] .product-showcase-image { object-fit: contain !important; }
.jpower-organic-front[data-page="home"] .product-showcase-price,
.jpower-organic-front[data-page="home"] .client-quotes__stars { color: var(--jp-green-deep) !important; }
.jpower-organic-front[data-page="home"] .features-snapshot,
.jpower-organic-front[data-page="home"] .client-quotes { background: var(--jp-surface-soft) !important; }
.jpower-organic-front[data-page="home"] .features-snapshot__card,
.jpower-organic-front[data-page="home"] .client-quotes__card {
    border: 1px solid var(--jp-line) !important;
    border-radius: var(--jp-radius-md) !important;
    background: var(--jp-surface) !important;
    box-shadow: var(--jp-shadow-sm) !important;
}
.jpower-organic-front[data-page="home"] .features-snapshot__icon,
.jpower-organic-front[data-page="home"] .case-study-preview__badge {
    color: var(--jp-green-deep) !important;
    background: var(--jp-green-soft) !important;
}
.jpower-organic-front[data-page="home"] .case-study-preview,
.jpower-organic-front[data-page="home"] .get-static-design {
    background: linear-gradient(135deg, #f4f9f5, var(--jp-sand)) !important;
}
.jpower-organic-front[data-page="home"] .case-study-preview__image-wrapper,
.jpower-organic-front[data-page="home"] .get-static-design__card {
    border-radius: var(--jp-radius-lg) !important;
    box-shadow: var(--jp-shadow-md) !important;
}

/* Shop and product pages */
.jpower-organic-front[data-page="shop"] .toolbox,
.jpower-organic-front[data-page="money_shop"] .toolbox {
    margin-bottom: 28px;
    padding: 14px 18px;
    border: 1px solid var(--jp-line);
    border-radius: var(--jp-radius-md);
    background: var(--jp-surface);
    box-shadow: var(--jp-shadow-sm);
}
.jpower-organic-front[data-page="shop"] .product,
.jpower-organic-front[data-page="money_shop"] .product,
.jpower-organic-front[data-page="product"] .shadow-media {
    overflow: hidden;
    padding: 12px;
    border: 1px solid var(--jp-line);
    border-radius: var(--jp-radius-md);
    background: var(--jp-surface);
    box-shadow: var(--jp-shadow-sm);
}
.jpower-organic-front[data-page="shop"] .product:hover,
.jpower-organic-front[data-page="money_shop"] .product:hover {
    border-color: var(--jp-oat);
    box-shadow: var(--jp-shadow-md);
    transform: translateY(-3px);
}
.jpower-organic-front .product-media {
    overflow: hidden;
    border-radius: 14px;
    background: linear-gradient(145deg, #fff, #f3f7f4);
}
.jpower-organic-front .product-media img,
.jpower-organic-front .product-image img,
.jpower-organic-front .product-thumb img {
    width: 100%;
    object-fit: contain;
    background: #fff;
}
.jpower-organic-front .product-name,
.jpower-organic-front .product-name a { color: var(--jp-ink) !important; }
.jpower-organic-front .product-price,
.jpower-organic-front .price,
.jpower-organic-front .text-success { color: var(--jp-green-deep) !important; }
.jpower-organic-front .product-label.label-new,
.jpower-organic-front .product-label.label-top { background: var(--jp-green-deep) !important; }
.jpower-organic-front[data-page="product"] .product-single {
    padding: 28px;
    border: 1px solid var(--jp-line);
    border-radius: var(--jp-radius-lg);
    background: var(--jp-surface);
    box-shadow: var(--jp-shadow-sm);
}
.jpower-organic-front[data-page="product"] .product-gallery {
    padding: 12px;
    border-radius: var(--jp-radius-md);
    background: var(--jp-surface-soft);
}
.jpower-organic-front[data-page="product"] .product-thumb.active { border-color: var(--jp-green) !important; }

/* ElevateZoom appends one duplicate layer directly to body for every slide.
   Keeping those off-canvas clones visible expands the document width. */
body.jpower-organic-front[data-page="product"] > .zoomContainer { display: none !important; }
.jpower-organic-front[data-page="product"] .product-single-carousel .owl-stage-outer {
    max-width: 100%;
    overflow: hidden !important;
}

/* Login fragment and member pages */
.login-popup,
.jpower-organic-front[data-page="login_popup"] .login-popup {
    border: 1px solid var(--jp-line) !important;
    border-radius: var(--jp-radius-lg) !important;
    background: var(--jp-surface) !important;
    box-shadow: 0 24px 70px rgba(31, 76, 53, .24) !important;
}
.login-popup__title,
.jpower-organic-front[data-page="login_popup"] .login-popup__title { color: var(--jp-green-deep) !important; }
.login-popup__input { border-color: #cfdcd2 !important; border-radius: var(--jp-radius-sm) !important; }
.login-popup__input:focus {
    border-color: var(--jp-green) !important;
    box-shadow: 0 0 0 4px rgba(89, 184, 132, .14) !important;
}
.login-popup__submit {
    border-radius: var(--jp-radius-sm) !important;
    background: var(--jp-green-deep) !important;
    box-shadow: 0 10px 22px rgba(74, 124, 99, .14);
}
.login-popup__submit:hover,
.login-popup__submit:focus { background: #5f8f74 !important; }
.jpower-organic-front .sidebar-content,
.jpower-organic-front .widget,
.jpower-organic-front .account-sidebar,
.jpower-organic-front .user-nav {
    border-color: var(--jp-line) !important;
    border-radius: var(--jp-radius-md) !important;
    background: var(--jp-surface) !important;
    box-shadow: var(--jp-shadow-sm);
}
.jpower-organic-front .nav-tabs .nav-link.active,
.jpower-organic-front .nav-tabs .nav-item.show .nav-link {
    color: var(--jp-green-deep) !important;
    border-color: var(--jp-green) !important;
}
.jpower-organic-front .alert-success {
    color: var(--jp-green-deep);
    border-color: #b9dcc7;
    background: var(--jp-green-soft);
}

/* Footer */
.jpower-organic-front .footer-wrapper .footer-root {
    color: var(--jp-sidebar-ink) !important;
    background: linear-gradient(180deg, #d6e4dc, #c7dbcf) !important;
}
.jpower-organic-front .footer-wrapper .footer-overlay {
    background: linear-gradient(120deg, rgba(74, 124, 99, .18), rgba(108, 150, 127, .58)) !important;
}
.jpower-organic-front .footer-wrapper .footer-title { color: var(--jp-green-deep) !important; }
.jpower-organic-front .footer-wrapper .footer-nav-link,
.jpower-organic-front .footer-wrapper .footer-legal-link,
.jpower-organic-front .footer-wrapper .footer-social-link { color: rgba(71, 97, 84, .92) !important; }
.jpower-organic-front .footer-wrapper .footer-nav-link:hover,
.jpower-organic-front .footer-wrapper .footer-legal-link:hover,
.jpower-organic-front .footer-wrapper .footer-social-link:hover { color: var(--jp-green-deep) !important; }
.jpower-organic-front .footer-wrapper .footer-social-link:hover { background: rgba(255, 255, 255, .24) !important; }
.jpower-organic-front .footer-wrapper .footer-bottom { border-color: rgba(74, 124, 99, .16) !important; }
.jpower-organic-front .scroll-top {
    color: #fff;
    border-color: var(--jp-green-deep);
    background: var(--jp-green-deep);
}

@media (max-width: 991px) {
    .jpower-organic-front .navigation-wrapper .navigation-container { min-height: 72px; padding: 10px 20px !important; }
    .jpower-organic-front .navigation-image { height: 46px !important; }
    .jpower-organic-front[data-page="product"] .product-single { padding: 20px; }
}

@media (max-width: 767px) {
    .jpower-organic-front .navigation-wrapper .navigation-container { min-height: 64px; padding: 8px 14px !important; }
    .jpower-organic-front .navigation-image { height: 40px !important; }
    .jpower-organic-front[data-page="home"] .hero-showcase__overlay {
        background: linear-gradient(180deg, rgba(74, 124, 99, .22), rgba(74, 124, 99, .56)) !important;
    }
    .jpower-organic-front[data-page="home"] .product-showcase-card,
    .jpower-organic-front[data-page="home"] .features-snapshot__card,
    .jpower-organic-front[data-page="home"] .client-quotes__card { border-radius: 15px !important; }
    .jpower-organic-front[data-page="shop"] .toolbox,
    .jpower-organic-front[data-page="money_shop"] .toolbox { align-items: stretch; padding: 12px; }
    .jpower-organic-front[data-page="shop"] .product,
    .jpower-organic-front[data-page="money_shop"] .product { padding: 8px; border-radius: 14px; }
    .jpower-organic-front[data-page="product"] .product-single {
        margin-right: 0;
        margin-left: 0;
        padding: 14px;
        border-radius: 18px;
    }
    .jpower-organic-front .table-responsive {
        border: 1px solid var(--jp-line);
        border-radius: var(--jp-radius-sm);
        -webkit-overflow-scrolling: touch;
    }
    .login-popup { border-radius: 18px !important; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .jpower-organic-front *,
    .jpower-organic-front *::before,
    .jpower-organic-front *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

@media print {
    .jpower-organic-front .navigation-wrapper,
    .jpower-organic-front .footer-wrapper,
    .jpower-organic-front .scroll-top { display: none !important; }
    body.jpower-organic-front,
    .jpower-organic-front .page-wrapper { color: #000; background: #fff; }
}
