@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Lora:wght@500;600;700&display=swap');
/* Slick track before & after remove */
.carousel-8-columns .slick-track::before,
.carousel-8-columns .slick-track::after,
.popular-categories .slick-track::before,
.popular-categories .slick-track::after {
    display: none !important;
    content: none !important;
}

/* pseudo elements remove*/
.carousel-8-columns .slick-list::before,
.carousel-8-columns .slick-list::after,
.popular-categories .slick-list::before,
.popular-categories .slick-list::after {
    display: none !important;
    content: none !important;
}

/* slider pseudo elements */
.carousel-8-columns.slick-slider::before,
.carousel-8-columns.slick-slider::after,
.popular-categories.slick-slider::before,
.popular-categories.slick-slider::after {
    display: none !important;
    content: none !important;
}

.slick-track::before {
    display: none !important;
    content: '' !important;
    width: 0 !important;
    height: 0 !important;
}

/* Center align Qty number */
.quantity-box .form-control.qty-input {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    height: 34px;
    font-size: 16px;
    font-weight: 500;
}

/* Quantity buttons - soft colors */
.qty-btn.plus {
    background-color: #28a745;
    color: #fff;
    border: 1px solid #28a745;
}

.qty-btn.minus {
    background-color: #dc3545;
    color: #fff;
    border: 1px solid #dc3545;
}

/* Hover effects */
.qty-btn.plus:hover {
    background-color: #8fd98f;
    border-color: #8fd98f;
}

.qty-btn.minus:hover {
    background-color: #e68c8c;
    border-color: #e68c8c;
}

/* Category slider grid conversion */
.carousel-8-columns .slick-list,
.popular-categories .slick-list {
    overflow: visible !important;
    height: auto !important;
}

.carousel-8-columns .slick-track,
.popular-categories .slick-track {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 15px !important;
    width: 100% !important;
    transform: none !important;
    height: auto !important;
}

.carousel-8-columns .slick-slide,
.popular-categories .slick-slide {
    width: 100% !important;
    float: none !important;
    height: auto !important;
    position: relative !important;
}

/* Hide slider arrows */
.carousel-8-columns .slick-arrow,
.popular-categories .slick-arrow {
    display: none !important;
}

/* Hide slider dots */
.carousel-8-columns .slick-dots,
.popular-categories .slick-dots {
    display: none !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .carousel-8-columns .slick-track,
    .popular-categories .slick-track {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

----------------------------------------
slider
/* Single Button Styling */
.shop-now-btn {
    display: inline-block !important;
    background: #008B46 !important;
    color: white !important;
    padding: 12px 30px !important;
    border-radius: 50px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    font-size: 16px !important;
}

.shop-now-btn:hover {
    background: #F9A21B !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2) !important;
}

/* Dual Text Button */
.dual-button {
    display: inline-block !important;
    background: #28a745 !important;
    color: white !important;
    padding: 15px 35px !important;
    border-radius: 5px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
}

.dual-button:hover {
    background: #218838 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2) !important;
}

/* ULTRA SMOOTH SLIDER CSS */
.hero-slider-1 .slick-list,
.hero-slider-1 .slick-track {
    transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.single-hero-slider {
    transition: opacity 0.8s ease, transform 0.8s ease !important;
    transform: translate3d(0, 0, 0);
}

.single-hero-slider.slick-active {
    animation: gentleSlide 0.8s ease-out !important;
}

@keyframes gentleSlide {
    0% {
        opacity: 0;
        transform: translateX(20px) scale(0.98);
    }
    100% {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}

/* Smooth content animation */
.slider-content h1,
.slider-content p,
.shop-now-btn {
    animation: fadeInUp 0.8s ease-out 0.3s both !important;
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
/* ==========================================================================
   PS Mart brand header (green #008B46 / orange #F9A21B)
   ========================================================================== */
:root {
    --ps-green: #008B46;
    --ps-green-dark: #006B36;
    --ps-orange: #F9A21B;
}

/* Announcement / top bar */
.header-area .header-top {
    background: var(--ps-green);
    border-bottom: 0;
    padding: 8px 0;
}
.header-area .header-top,
.header-area .header-top a,
.header-area .header-top li,
.header-area .header-top .text-brand {
    color: #fff !important;
    font-size: 13px;
}
.header-area .header-top a:hover {
    color: var(--ps-orange) !important;
}
.header-area .header-top .header-info ul li + li::before {
    background: rgba(255, 255, 255, .45);
}

/* Middle row: logo + search + icons */
.header-area .header-middle {
    padding: 14px 0;
}
.header-area .search-style-2 form {
    border: 1.5px solid var(--ps-green);
    border-radius: 50px;
    overflow: hidden;
}
.header-area .search-style-2 form input {
    font-family: var(--font-text);
}
.header-area .search-style-2 form button i {
    color: var(--ps-green);
}

/* Navigation row */
.header-area .header-bottom {
    border-top: 1px solid #eef0ee;
    border-bottom: 1px solid #eef0ee;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
}
.header-area .main-categories-wrap > a.categories-button-active {
    background: var(--ps-green);
    border-radius: 50px;
    color: #fff;
    font-weight: 600;
}
.header-area .main-categories-wrap > a.categories-button-active:hover {
    background: var(--ps-green-dark);
}
.header-area .main-menu > nav > ul > li > a {
    font-family: var(--font-text);
    font-weight: 500;
    color: #2E2A39;
}
.header-area .main-menu > nav > ul > li > a:hover,
.header-area .main-menu > nav > ul > li.active > a {
    color: var(--ps-green);
}

/* Header icons: cart / wishlist counters */
.header-area .pro-count {
    background: var(--ps-orange);
    color: #fff;
}

/* Rounded primary buttons site-wide (matches reference) */
.btn.btn-sm,
.button.button-add-to-cart {
    border-radius: 50px;
}

/* Header counters (compare / wishlist / cart) use the orange accent */
.header-area .pro-count,
.header-action-2 .header-action-icon-2 > a span.pro-count.blue {
    background: var(--ps-orange);
    color: #fff;
}

/* Hero slider: brand button, dots kept clear of the CTA on small screens */
.home-slider .single-hero-slider .btn,
.home-slider .single-hero-slider .btn-default {
    background: var(--ps-green);
    border-color: var(--ps-green);
    border-radius: 50px;
    color: #fff;
}
.home-slider .single-hero-slider .btn:hover {
    background: var(--ps-orange);
    border-color: var(--ps-orange);
}
@media (max-width: 767px) {
    .home-slider .dot-style-1.dot-style-1-position-1 ul {
        left: auto;
        right: 16px;
        bottom: 14px;
        transform: none;
    }
}

/* Navigation row: keep the category button and all menu items on one line */
.header-area .main-categories-wrap > a.categories-button-active {
    white-space: nowrap;
    padding-left: 18px;
    padding-right: 18px;
}
.header-area .header-nav .main-menu > nav > ul {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
.header-area .header-nav .main-menu > nav > ul > li {
    white-space: nowrap;
    margin-right: 0;
}
.header-area .header-nav .main-menu > nav > ul > li > a {
    padding: 0 6px;
    font-size: 14px;
}
@media (min-width: 1200px) {
    .header-area .header-nav .main-menu > nav > ul > li > a {
        padding: 0 12px;
        font-size: 15px;
    }
}

/* Dropdown panels */
.header-area .main-menu > nav > ul > li > ul.sub-menu {
    border: 1px solid #eef0ee;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
    min-width: 230px;
    padding: 10px 0;
}
.header-area .main-menu > nav > ul > li > ul.sub-menu li a {
    color: #2E2A39;
    font-family: var(--font-text);
    font-size: 14px;
    font-weight: 500;
    padding: 8px 20px;
}
.header-area .main-menu > nav > ul > li > ul.sub-menu li a:hover {
    background: rgba(0, 139, 70, .08);
    color: var(--ps-green);
}

/* Under 1200px the menu already lists the categories, so drop the duplicate button to make room */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .header-area .header-nav .main-categories-wrap {
        display: none !important;
    }
}

/* ==========================================================================
   Product cards: Add to cart + Buy Now
   ========================================================================== */
.product-cart-wrap {
    background: #fff;
    border: 1px solid #eef0ee;
    border-radius: 16px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .05);
    overflow: hidden;
    transition: box-shadow .25s ease, transform .25s ease;
}
.product-cart-wrap:hover {
    box-shadow: 0 10px 26px rgba(0, 0, 0, .10);
    transform: translateY(-3px);
}
.product-cart-wrap .product-content-wrap h2 a {
    color: #2E2A39;
    font-family: var(--font-text);
    font-weight: 600;
}
.product-cart-wrap .product-card-bottom {
    margin-top: 6px;
}
.product-cart-wrap .product-card-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}
.ps-btn {
    align-items: center;
    border: 0;
    border-radius: 50px;
    cursor: pointer;
    display: inline-flex;
    font-family: var(--font-text);
    font-size: 13px;
    font-weight: 600;
    gap: 6px;
    justify-content: center;
    line-height: 1;
    padding: 11px 14px;
    text-align: center;
    transition: background .2s ease, transform .1s ease;
    width: 100%;
}
.ps-btn:active {
    transform: scale(.98);
}
.ps-btn-cart {
    background: var(--ps-green, #008B46);
    color: #fff;
}
.ps-btn-cart:hover {
    background: var(--ps-green-dark, #006B36);
    color: #fff;
}
.ps-btn-buy {
    background: var(--ps-orange, #F9A21B);
    color: #fff;
}
.ps-btn-buy:hover {
    background: #e08e0f;
    color: #fff;
}
.ps-btn.disabled,
.ps-btn.button-loading {
    opacity: .55;
    pointer-events: none;
}

/* ==========================================================================
   Touch devices / phones: a tap on a product image opens the product page.
   Hide the quick view / wishlist / compare overlay and the hover image swap
   so the first tap is never swallowed by a sticky :hover state.
   ========================================================================== */
@media (hover: none), (max-width: 991.98px) {
    .product-cart-wrap .product-action-1,
    .product-cart-wrap .product-action-wrap {
        display: none !important;
    }
    .product-cart-wrap .product-img-action-wrap .hover-img {
        display: none !important;
    }
    .product-cart-wrap .product-img-zoom:hover img,
    .product-cart-wrap:hover .product-img-zoom img {
        transform: none !important;
    }
    .product-cart-wrap:hover {
        transform: none;
    }
}

/* ==========================================================================
   Product page
   ========================================================================== */
.product-detail .title-detail {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 8px;
}
.product-detail .product-price .current-price {
    color: var(--ps-green);
    font-size: 30px;
    font-weight: 700;
}
.product-detail .detail-gallery figure {
    border: 1px solid #eef0ee;
    border-radius: 16px;
    overflow: hidden;
}
.product-detail .slider-nav-thumbnails img {
    border: 1px solid #eef0ee;
    border-radius: 10px;
}

/* Variant tiles (weights, sizes) */
.product-detail .product-attributes .attr-detail .list-filter,
.product-detail .product-attributes .attribute-swatches-wrapper .list-inline,
.product-detail .product-attributes ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.product-detail .product-attributes .attribute-swatch-item label span.attribute-swatch-item-text,
.product-detail .product-attributes .list-filter li a,
.product-detail .product-attributes .attribute-swatch-item span {
    border: 1.5px solid #dfe3df;
    border-radius: 10px;
    color: #2E2A39;
    display: inline-block;
    font-weight: 600;
    min-width: 64px;
    padding: 8px 14px;
    text-align: center;
    transition: border-color .15s ease, background .15s ease;
}
.product-detail .product-attributes .attribute-swatch-item.active span,
.product-detail .product-attributes .list-filter li.active a,
.product-detail .product-attributes input:checked + span {
    background: rgba(0, 139, 70, .08);
    border-color: var(--ps-green);
    color: var(--ps-green);
}

/* Buy box */
.product-detail .detail-extralink {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.product-detail .detail-extralink .detail-qty {
    border-radius: 50px;
    margin: 0;
}
.product-detail .product-extra-link2 {
    align-items: center;
    display: flex;
    flex: 1 1 260px;
    flex-wrap: wrap;
    gap: 10px;
}
.product-detail .product-extra-link2 .button-add-to-cart,
.product-detail .product-extra-link2 .button-buy-now {
    border: 0;
    border-radius: 50px;
    color: #fff;
    flex: 1 1 140px;
    font-weight: 600;
    margin: 0 !important;
    padding: 14px 20px;
}
.product-detail .product-extra-link2 .button-add-to-cart { background: var(--ps-green); }
.product-detail .product-extra-link2 .button-add-to-cart:hover { background: var(--ps-green-dark); }
.product-detail .product-extra-link2 .button-buy-now { background: var(--ps-orange); }
.product-detail .product-extra-link2 .button-buy-now:hover { background: #e08e0f; }

.ps-pay-note {
    align-items: center;
    background: #f4faf6;
    border: 1px solid #d8eee0;
    border-radius: 12px;
    color: #2E2A39;
    display: flex;
    font-size: 14px;
    gap: 10px;
    margin-bottom: 18px;
    padding: 10px 14px;
}
.ps-pay-note i { color: var(--ps-green); font-size: 18px; }
.ps-product-meta ul { list-style: none; margin: 0; padding: 0; }

/* Share section */
.ps-share {
    border-top: 1px solid #eef0ee;
    margin-top: 40px;
    padding-top: 24px;
}
.ps-share-title {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 20px;
    margin-bottom: 14px;
}
.ps-share-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.ps-share-btn {
    background: #f4f5f9;
    border: 0;
    border-radius: 50px;
    color: #2E2A39;
    cursor: pointer;
    font-family: var(--font-text);
    font-size: 14px;
    font-weight: 600;
    padding: 10px 20px;
    transition: transform .1s ease, opacity .2s ease;
}
.ps-share-btn:hover { opacity: .88; }
.ps-share-btn:active { transform: scale(.97); }
.ps-share-whatsapp { background: #25D366; color: #fff; }
.ps-share-facebook { background: #1877F2; color: #fff; }
.ps-share-x { background: #111; color: #fff; }
.ps-share-telegram { background: #229ED9; color: #fff; }
.ps-share-native { background: var(--ps-green); color: #fff; }

/* Mobile sticky buy bar */
.ps-sticky-buy { display: none; }
@media (max-width: 991.98px) {
    .ps-sticky-buy {
        align-items: center;
        background: #fff;
        border-top: 1px solid #eef0ee;
        bottom: 0;
        box-shadow: 0 -4px 16px rgba(0, 0, 0, .08);
        display: flex;
        gap: 10px;
        left: 0;
        padding: 10px 14px;
        position: fixed;
        right: 0;
        transform: translateY(120%);
        transition: transform .25s ease;
        z-index: 998;
    }
    .ps-sticky-buy.is-visible { transform: translateY(0); }
    .ps-sticky-buy .ps-sticky-price {
        color: var(--ps-green);
        flex: 0 0 auto;
        font-size: 16px;
        font-weight: 700;
    }
    .ps-sticky-buy .ps-btn { flex: 1 1 0; padding: 12px 8px; }
}

/* Buy box first, long description after it (order only, no content changes) */
.product-detail .detail-info {
    display: flex;
    flex-direction: column;
}
.product-detail .detail-info > .title-detail { order: 1; }
.product-detail .detail-info > .product-detail-rating { order: 2; }
.product-detail .detail-info > .product-price-cover { order: 3; }
.product-detail .detail-info > .add-to-cart-form { order: 4; }
.product-detail .detail-info > .ps-pay-note { order: 5; }
.product-detail .detail-info > .short-desc { order: 6; margin-top: 8px; }
.product-detail .detail-info > .ps-product-meta { order: 7; }

.product-detail .product-extra-link2 .button-add-to-cart,
.product-detail .product-extra-link2 .button-buy-now {
    align-items: center;
    display: inline-flex;
    font-family: var(--font-text);
    font-size: 15px;
    height: 48px;
    justify-content: center;
    line-height: 1;
    padding-bottom: 0;
    padding-top: 0;
}

/* ==========================================================================
   Remaining screens: buttons, forms, cart, checkout, account, About, footer
   ========================================================================== */

/* Buttons: body font, pill shape (theme default is the heading serif) */
main .btn,
main .button,
main button.btn,
.btn.btn-default,
.btn.btn-xs,
.btn.btn-sm {
    border-radius: 50px;
    font-family: var(--font-text);
    font-weight: 600;
    letter-spacing: 0;
}

/* Form fields */
main .form-control,
main .form-select,
main input[type="text"],
main input[type="email"],
main input[type="password"],
main input[type="tel"],
main input[type="number"],
main textarea,
main select {
    border-color: #dfe3df;
    border-radius: 12px;
    font-family: var(--font-text);
}
main .form-control:focus,
main .form-select:focus,
main input:focus,
main textarea:focus,
main select:focus {
    border-color: var(--ps-green);
    box-shadow: 0 0 0 3px rgba(0, 139, 70, .12);
    outline: 0;
}

/* Cart */
.cart-form .table thead tr,
.cart-form table thead tr {
    background: #f4f8f5;
}
.cart-form table thead th {
    color: #2E2A39;
    font-family: var(--font-text);
    font-weight: 600;
}
.cart-form .table td .product-name a,
.cart-form table td h6 a {
    color: #2E2A39;
    font-family: var(--font-text);
    font-weight: 600;
}

/* Checkout page (own layout, own variables) */
body.checkout-page {
    --primary-color: #008B46;
    --primary-color-rgb: 0, 139, 70;
    --bs-primary: #008B46;
    --bs-primary-rgb: 0, 139, 70;
    --bs-link-color: #008B46;
    --bs-link-hover-color: #006B36;
}
body.checkout-page .payment-checkout-btn,
body.checkout-page .btn-primary {
    background-color: #008B46;
    border-color: #008B46;
    border-radius: 50px;
    font-weight: 600;
}
body.checkout-page .payment-checkout-btn:hover,
body.checkout-page .btn-primary:hover {
    background-color: #006B36;
    border-color: #006B36;
}
body.checkout-page .form-control,
body.checkout-page .form-select,
body.checkout-page textarea {
    border-radius: 10px;
}
body.checkout-page .form-control:focus,
body.checkout-page .form-select:focus,
body.checkout-page textarea:focus {
    border-color: #008B46;
    box-shadow: 0 0 0 3px rgba(0, 139, 70, .15);
}
body.checkout-page .form-check-input:checked {
    background-color: #008B46;
    border-color: #008B46;
}

/* About / policy pages: company details block */
.ps-company-details {
    background: #f4faf6;
    border: 1px solid #d8eee0;
    border-radius: 14px;
    margin-top: 28px;
    padding: 18px 22px;
}
.ps-company-details h3 {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 20px;
    margin: 0 0 10px;
}
.ps-company-details ul { list-style: none; margin: 0; padding: 0; }
.ps-company-details li,
.ps-company-details p { margin: 0 0 6px; }
.ps-company-details a { color: var(--ps-green); }

/* Footer */
.main-footer .widget-title,
footer .widget-title,
footer h4,
footer h5 {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-weight: 700;
}
footer a:hover { color: var(--ps-green); }
footer .footer-list li a { font-family: var(--font-text); }

body.checkout-page a:not(.btn):not(.payment-checkout-btn) {
    color: #008B46;
}
body.checkout-page a:not(.btn):not(.payment-checkout-btn):hover {
    color: #006B36;
}

/* Login / register: form first on phones and tablets, illustration only where there is room */
@media (max-width: 991.98px) {
    .auth-card__left {
        display: none !important;
    }
    .auth-card.auth-card__horizontal {
        margin-left: auto;
        margin-right: auto;
        max-width: 520px;
    }
}
.auth-card .btn,
.auth-card button[type="submit"] {
    background: var(--ps-green);
    border-color: var(--ps-green);
    color: #fff;
}
.auth-card .btn:hover,
.auth-card button[type="submit"]:hover {
    background: var(--ps-green-dark);
    border-color: var(--ps-green-dark);
}
.auth-card a { color: var(--ps-green); }

/* Contact page: keep the map from taking over the first screen on phones */
.ck-content iframe[src*="google.com/maps"],
.ck-content iframe[src*="maps.google"] {
    border-radius: 16px;
}
@media (max-width: 767.98px) {
    .ck-content iframe[src*="google.com/maps"],
    .ck-content iframe[src*="maps.google"] {
        height: 280px !important;
    }
}

/* ==========================================================================
   Round 3: top bar, slider text, button weight, Why Choose band, footer
   ========================================================================== */

/* Top bar: larger, like the reference */
.header-area .header-top {
    padding: 12px 0;
}
.header-area .header-top,
.header-area .header-top a,
.header-area .header-top li,
.header-area .header-top span,
.header-area .header-top strong {
    font-size: 15px;
    font-weight: 600;
}
.header-area .header-top .header-info-right strong,
.header-area .header-top .text-brand {
    font-size: 17px;
    font-weight: 700;
}
.header-area .header-top #news-flash i,
.header-area .header-top #news-flash [class*="fi-"] {
    margin-right: 6px;
}

/* Slider text: smaller title and description */
.slider-content h1.display-2,
.slider-content h2.display-2 {
    font-family: var(--font-heading);
    font-size: 42px;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 18px !important;
}
.slider-content p {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    margin-bottom: 28px !important;
}
@media (max-width: 991.98px) {
    .slider-content h1.display-2,
    .slider-content h2.display-2 { font-size: 32px; }
    .slider-content p { font-size: 16px; }
}
@media (max-width: 575.98px) {
    .slider-content h1.display-2,
    .slider-content h2.display-2 { font-size: 24px; margin-bottom: 10px !important; }
    .slider-content p { font-size: 14px; margin-bottom: 16px !important; }
    .shop-now-btn { padding: 10px 22px !important; font-size: 14px !important; }
}

/* Add to cart / Buy Now: a little larger, lighter weight */
.ps-btn {
    font-size: 15px;
    font-weight: 500;
    padding: 12px 14px;
}
.product-detail .product-extra-link2 .button-add-to-cart,
.product-detail .product-extra-link2 .button-buy-now {
    font-size: 16px;
    font-weight: 500;
}
main .btn,
main .button {
    font-weight: 500;
}

/* Why choose section */
.ps-why-choose {
    background: linear-gradient(135deg, #007a3e 0%, #008B46 55%, #00a352 100%);
    color: #fff;
    margin: 30px 0;
    padding: 48px 0 44px;
    text-align: center;
}
.ps-why-choose .ps-why-title {
    color: #fff;
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 700;
    margin: 0 0 10px;
}
.ps-why-choose .ps-why-subtitle {
    color: rgba(255, 255, 255, .92);
    font-size: 16px;
    margin: 0 auto 34px;
    max-width: 720px;
}
.ps-why-grid {
    display: grid;
    gap: 26px 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 768px) {
    .ps-why-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.ps-why-item {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.ps-why-badge {
    align-items: center;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(255, 255, 255, .28);
    color: #008B46;
    display: inline-flex;
    height: 92px;
    justify-content: center;
    width: 92px;
}
.ps-why-label {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
}
@media (max-width: 575.98px) {
    .ps-why-choose .ps-why-title { font-size: 26px; }
    .ps-why-badge { height: 76px; width: 76px; }
}

/* Footer: green, white text, like the reference */
footer.main {
    background: #008B46;
    color: #fff;
    margin-top: 40px;
}
footer.main .footer-mid {
    padding-bottom: 10px;
    padding-top: 50px;
}
footer.main .widget-title,
footer.main h4,
footer.main h5 {
    color: #fff;
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 22px;
}
footer.main p,
footer.main li,
footer.main span,
footer.main strong,
footer.main .font-lg,
footer.main .text-heading {
    color: #fff;
}
footer.main a,
footer.main .footer-list li a {
    color: #fff;
    font-size: 15px;
    font-weight: 400;
    transition: color .2s ease;
}
footer.main a:hover,
footer.main .footer-list li a:hover {
    color: var(--ps-orange);
}
footer.main .widget-about .logo a {
    background: #fff;
    border-radius: 14px;
    display: inline-block;
    padding: 8px 14px;
}
footer.main .widget-about .font-lg {
    font-size: 16px;
    line-height: 1.7;
}
footer.main .contact-infor svg path { fill: #fff; }
footer.main .contact-infor li { align-items: flex-start; }
footer.main .footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .28);
}
footer.main .mobile-social-icon a {
    background: rgba(255, 255, 255, .18);
    border-radius: 50%;
    height: 40px;
    width: 40px;
}
footer.main .mobile-social-icon a:hover { background: var(--ps-orange); }
footer.main .mobile-social-icon .h6 { color: #fff; }
footer.main .hotline p,
footer.main .hotline span { color: #fff; }

/* Higher-specificity overrides (theme sets the slider paragraph size deeper) */
.home-slider .single-hero-slider .slider-content p,
.hero-slider-1 .single-hero-slider .slider-content p {
    font-size: 18px !important;
    line-height: 1.5;
}
.home-slider .single-hero-slider .slider-content h1.display-2,
.home-slider .single-hero-slider .slider-content h2.display-2 {
    font-size: 42px !important;
}
@media (max-width: 991.98px) {
    .home-slider .single-hero-slider .slider-content p { font-size: 16px !important; }
    .home-slider .single-hero-slider .slider-content h1.display-2,
    .home-slider .single-hero-slider .slider-content h2.display-2 { font-size: 32px !important; }
}
@media (max-width: 575.98px) {
    .home-slider .single-hero-slider .slider-content p { font-size: 14px !important; }
    .home-slider .single-hero-slider .slider-content h1.display-2,
    .home-slider .single-hero-slider .slider-content h2.display-2 { font-size: 24px !important; }
}
/* phone already shown in the top bar */
.header-area .header-middle .hotline { display: none !important; }

/* ==========================================================================
   Lighter typography (closer to the reference): real 500/600 weights are now
   loaded, headings drop from bold to medium, body text softer.
   ========================================================================== */
body {
    color: rgba(46, 42, 57, .82);
    font-weight: 400;
}
main h1, main h2, main h3, main h4, main h5, main h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.section-title h3,
.title-detail,
.page-header h1 {
    font-weight: 500;
}
.product-detail .title-detail { font-weight: 500; }
.product-detail .product-price .current-price { font-weight: 600; }
.product-cart-wrap .product-content-wrap h2 a { font-weight: 500; }
.product-cart-wrap .product-price span,
.product-price .current-price { font-weight: 600; }
.ps-share-title { font-weight: 500; }
.ps-why-choose .ps-why-title { font-weight: 500; }
.ps-why-label { font-weight: 500; }
#product-categories .ps-category-name { font-weight: 500; }
.ps-share-btn { font-weight: 500; }
.ps-pay-note strong { font-weight: 600; }

/* Top bar and menu */
.header-area .header-top,
.header-area .header-top a,
.header-area .header-top li,
.header-area .header-top span,
.header-area .header-top strong { font-weight: 500; }
.header-area .header-top .header-info-right strong,
.header-area .header-top .text-brand { font-weight: 600; }
.header-area .main-menu > nav > ul > li > a { font-weight: 500; }
.header-area .header-bottom .hotline { display: none !important; }

/* Footer titles stay clear but not heavy */
footer.main .widget-title,
footer.main h4,
footer.main h5 { font-weight: 600; }
footer.main strong { font-weight: 600; }

/* Cart, checkout, forms */
.cart-form table thead th { font-weight: 500; }
.cart-form .table td .product-name a,
.cart-form table td h6 a { font-weight: 500; }
body.checkout-page .payment-checkout-btn { font-weight: 500; }
.ps-btn { font-weight: 500; }
.ps-sticky-buy .ps-sticky-price { font-weight: 600; }

/* ==========================================================================
   Match the reference layout: full-width hero, orange hero button, dash dots,
   social icons in the top bar, centred product cards
   ========================================================================== */

/* Top bar social icons */
.ps-topbar-social {
    align-items: center;
    display: inline-flex;
    gap: 10px;
    margin-right: 18px;
}
.ps-topbar-social a {
    align-items: center;
    background: rgba(255, 255, 255, .22);
    border-radius: 50%;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    overflow: hidden;
    padding: 6px;
    width: 30px;
}
.ps-topbar-social img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}
.header-area .header-top .ps-topbar-social a:hover { background: var(--ps-orange); }

/* Full-width hero (no card / rounded corners) */
.home-slider {
    margin-top: 0 !important;
}
.home-slider > .container,
.home-slider .home-slide-cover {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.home-slider .home-slide-cover { margin-top: 0 !important; }
.home-slider .hero-slider-1,
.home-slider .single-hero-slider {
    border-radius: 0 !important;
}
.home-slider .single-hero-slider .slider-content {
    padding-left: max(24px, calc((100vw - 1320px) / 2 + 12px));
    padding-right: 24px;
}
.home-slider .single-hero-slider .slider-content p {
    max-width: 520px;
}

/* Orange hero button */
.shop-now-btn {
    background: var(--ps-orange) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    padding: 14px 34px !important;
}
.shop-now-btn:hover {
    background: var(--ps-green) !important;
}

/* Slider dots as short dashes */
.hero-slider-1.dot-style-1 .slick-dots li,
.hero-slider-1 .slick-dots li {
    margin: 0 6px;
}
.hero-slider-1 .slick-dots li button {
    background: #111 !important;
    border: 0 !important;
    border-radius: 2px !important;
    height: 4px !important;
    padding: 0 !important;
    width: 28px !important;
}
.hero-slider-1 .slick-dots li.slick-active button {
    background: var(--ps-orange) !important;
}

/* Product cards: centred like the reference */
.product-cart-wrap .product-content-wrap {
    text-align: center;
}
.product-cart-wrap .product-content-wrap h2 { text-align: center; }
.product-cart-wrap .product-card-bottom,
.product-cart-wrap .product-price {
    justify-content: center;
    text-align: center;
}
.product-cart-wrap .product-card-bottom .product-price {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}
.product-cart-wrap .product-rate-cover { text-align: center; }

/* Why choose: scalloped badge, larger, like the reference layout */
.ps-why-badge {
    background: transparent;
    box-shadow: none;
    display: inline-block;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .16));
    height: 132px;
    width: 132px;
}
.ps-why-label {
    font-size: 18px;
}
@media (max-width: 575.98px) {
    .ps-why-badge { height: 104px; width: 104px; }
    .ps-why-label { font-size: 15px; }
}

/* Why choose: photo background under a green overlay */
.ps-why-choose {
    background-color: #007a3e;
    background-image:
        linear-gradient(rgba(0, 96, 48, .88), rgba(0, 139, 70, .84)),
        var(--ps-why-bg, none);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Footer: photo background under a dark green overlay (keeps white text readable) */
footer.main {
    background-color: #006B36;
    background-image:
        linear-gradient(rgba(0, 78, 40, .92), rgba(0, 107, 54, .90)),
        url('/storage/close-up-hand-farmer-pouring-grain-at-sunset-generative-ai-free-photo-1.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* ==========================================================================
   Footer, matched to the reference footer's typography and behaviour
   ========================================================================== */
footer.main {
    background-image:
        linear-gradient(rgba(0, 78, 40, .80), rgba(0, 107, 54, .78)),
        url('/storage/close-up-hand-farmer-pouring-grain-at-sunset-generative-ai-free-photo-1.jpeg');
}

/* Wider first column (about text), like the 2fr / 1fr / 1fr grid */
footer.main .footer-mid .row > .col:first-child {
    flex: 2 1 0;
}

/* Headings */
footer.main .widget-title,
footer.main h4,
footer.main h5 {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 20px;
}

/* Description */
footer.main .widget-about .font-lg,
footer.main .widget-about p {
    color: #fff;
    font-size: 15px;
    line-height: 1.7;
    opacity: .9;
}

/* Links: white at 85%, full on hover (no colour change) */
footer.main a,
footer.main .footer-list li a {
    color: #fff;
    font-size: 15px;
    opacity: .85;
    transition: opacity .3s ease;
}
footer.main a:hover,
footer.main .footer-list li a:hover {
    color: #fff;
    opacity: 1;
}
footer.main .footer-list li { margin-bottom: 12px; }

/* Contact list */
footer.main .contact-infor li,
footer.main .contact-infor li span,
footer.main .contact-infor li strong {
    color: #fff;
    font-size: 15px;
}
footer.main .contact-infor li span { opacity: .9; }

/* Bottom bar */
footer.main .footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .2);
}
footer.main .container > .row p.font-sm {
    color: #fff;
    font-size: 14px;
    opacity: .92;
}

/* Social icons: 40px translucent circles, orange lift on hover */
footer.main .mobile-social-icon a {
    align-items: center;
    background: rgba(255, 255, 255, .1);
    border-radius: 50%;
    display: inline-flex;
    height: 40px;
    justify-content: center;
    opacity: 1;
    transition: background .3s ease, transform .3s ease;
    width: 40px;
}
footer.main .mobile-social-icon a:hover {
    background: var(--ps-orange);
    transform: translateY(-2px);
}
footer.main .hotline p { font-size: 24px; }
footer.main .hotline span { font-size: 13px; opacity: .92; }

/* keep the back-to-top button from covering the footer social icons */
@media (min-width: 768px) {
    footer.main .mobile-social-icon { margin-right: 64px; }
}

/* Footer: brighter brand green (like the reference), photo kept as a faint texture */
footer.main {
    background-color: #008240;
    background-image:
        linear-gradient(rgba(0, 130, 64, .94), rgba(0, 134, 66, .93)),
        url('/storage/close-up-hand-farmer-pouring-grain-at-sunset-generative-ai-free-photo-1.jpeg');
}

/* Full-white small text on the brighter footer green (keeps contrast >= 4.5:1) */
footer.main .widget-about .font-lg,
footer.main .widget-about p,
footer.main .contact-infor li span,
footer.main .container > .row p.font-sm,
footer.main .hotline span {
    opacity: 1;
}

/* Footer: compact vertical spacing */
footer.main { margin-top: 24px; }
footer.main .footer-mid,
footer.main .section-padding.footer-mid {
    padding-bottom: 0;
    padding-top: 26px;
}
footer.main .footer-mid .container {
    padding-bottom: 6px !important;
    padding-top: 0 !important;
}
footer.main .widget-title,
footer.main h4,
footer.main h5 {
    margin-bottom: 12px;
}
footer.main .widget-about .logo { margin-bottom: 12px !important; }
footer.main .widget-about .logo a { padding: 6px 12px; }
footer.main .widget-about .font-lg { margin-bottom: 12px; }
footer.main .footer-list li { margin-bottom: 8px; }
footer.main .contact-infor li { margin-bottom: 6px; }
footer.main > .container.pb-30 { padding-bottom: 14px !important; }
footer.main .footer-bottom { margin-bottom: 0; }
footer.main > .container .col-12.mb-30 { margin-bottom: 14px !important; }

/* "More" toggle */
footer.main .ps-footer-more {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 50px;
    color: #fff;
    cursor: pointer;
    font-family: var(--font-text);
    font-size: 13px;
    font-weight: 500;
    margin-top: 4px;
    padding: 5px 16px;
    transition: background .2s ease, color .2s ease;
}
footer.main .ps-footer-more:hover {
    background: #fff;
    color: #008240;
}

/* About Us: company logo centred at the top */
.ps-about-logo {
    margin: 0 0 24px;
    text-align: center;
}
.ps-about-logo img {
    display: inline-block;
    height: auto;
    max-height: 110px;
    max-width: 100%;
}

.ps-about-logo .ps-about-name {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 500;
    line-height: 1.2;
    margin: 10px 0 0;
    text-align: center;
}

/* Product cards: tall image area so portrait product posters show in full */
.product-cart-wrap .product-img-action-wrap .product-img {
    aspect-ratio: 5 / 7;
    background: #fff;
    overflow: hidden;
    padding: 0;
    position: relative;
}
.product-cart-wrap .product-img-action-wrap .product-img > a {
    display: block;
    height: 100%;
    width: 100%;
}
.product-cart-wrap .product-img-action-wrap .product-img img {
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
}
.product-cart-wrap .product-img-action-wrap .product-img img.hover-img {
    inset: 0;
    position: absolute;
}

/* Product grid: tighter spacing (image -> name, and between cards) */
.row[class*="product-grid"],
.product-tabs .row,
.products-listing .row {
    --bs-gutter-x: .75rem;
    --bs-gutter-y: 0;
}
.row[class*="product-grid"] > [class*="col-"],
.product-tabs .row > [class*="col-"] {
    margin-bottom: 0 !important;
}
.product-cart-wrap {
    margin-bottom: 12px !important;
}
.product-cart-wrap .product-content-wrap {
    padding: 8px 12px 12px !important;
}
.product-cart-wrap .product-content-wrap h2 {
    margin: 0 0 2px !important;
}
.product-cart-wrap .product-content-wrap .product-rate-cover {
    margin: 0 0 2px;
}
.product-cart-wrap .product-card-bottom {
    margin-top: 2px;
}
.product-cart-wrap .product-card-actions {
    gap: 6px;
    margin-top: 8px;
}
.product-cart-wrap .product-img-action-wrap {
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Equal-height cards in a row: no dead space under shorter cards, buttons aligned at the bottom */
.row[class*="product-grid"] > [class*="col-"],
.product-tabs .row > [class*="col-"] {
    display: flex;
}
.row[class*="product-grid"] > [class*="col-"] > .product-cart-wrap,
.product-tabs .row > [class*="col-"] > .product-cart-wrap {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.product-cart-wrap .product-content-wrap {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}
.product-cart-wrap .product-content-wrap .product-card-actions {
    margin-top: auto;
    padding-top: 8px;
}

/* Give the Buy Now button clear room above the card's bottom edge */
.product-cart-wrap .product-content-wrap {
    padding-bottom: 18px !important;
}
.product-cart-wrap {
    margin-bottom: 14px !important;
    overflow: visible;
}
.product-cart-wrap .product-img-action-wrap {
    border-radius: 16px 16px 0 0;
    overflow: hidden;
}

/* ==========================================================================
   Quantity stepper:  [ - | 1 | + ]   (cart + product page, type or tap)
   ========================================================================== */
.detail-qty,
.detail-qty.border {
    align-items: stretch !important;
    background: #fff;
    border: 1.5px solid #b5b5b5 !important;
    border-radius: 14px !important;
    display: inline-flex !important;
    height: 50px;
    max-width: 100%;
    overflow: hidden;
    padding: 0 !important;
    position: relative;
    width: 142px;
}
.detail-qty:focus-within {
    border-color: var(--ps-green) !important;
    box-shadow: 0 0 0 3px rgba(0, 139, 70, .14);
}
.detail-qty .qty-up,
.detail-qty .qty-down {
    align-items: center;
    background: transparent;
    color: var(--ps-green);
    cursor: pointer;
    display: flex !important;
    flex: 0 0 44px;
    font-size: 0 !important;
    height: auto !important;
    justify-content: center;
    line-height: 1 !important;
    position: static !important;
    right: auto !important;
    top: auto !important;
    transition: background .15s ease;
    user-select: none;
    width: 44px !important;
}
.detail-qty .qty-up:hover,
.detail-qty .qty-down:hover { background: rgba(0, 139, 70, .08); }
.detail-qty .qty-up i,
.detail-qty .qty-down i { display: none !important; }
.detail-qty .qty-down::before,
.detail-qty .qty-up::before {
    color: var(--ps-green);
    font-family: var(--font-text);
    font-size: 26px;
    font-weight: 400;
    line-height: 1;
}
.detail-qty .qty-down::before { content: "\2212"; }   /* minus */
.detail-qty .qty-up::before   { content: "+"; }
.detail-qty .qty-val,
.detail-qty input.qty-input {
    -moz-appearance: textfield;
    appearance: textfield;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #111 !important;
    flex: 1 1 auto;
    font-family: var(--font-text);
    font-size: 18px !important;
    font-weight: 500 !important;
    height: 100% !important;
    margin: 0 !important;
    min-width: 0;
    padding: 0 !important;
    text-align: center !important;
    width: 100% !important;
}
.detail-qty .qty-val::-webkit-outer-spin-button,
.detail-qty .qty-val::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Cart quantity change: subtle fade on prices instead of a full loading overlay */
.section--shopping-cart td.price,
.section--shopping-cart .cart-totals {
    transition: opacity .15s ease;
}
.section--shopping-cart.ps-cart-updating td.price,
.section--shopping-cart.ps-cart-updating .cart-totals {
    opacity: .55;
}

/* ==========================================================================
   Cart: one font family and a consistent size scale
   heading 15 / product name 16 / details 13 / unit price 16 / subtotal 17
   ========================================================================== */
.section--shopping-cart .table--cart,
.section--shopping-cart .table--cart td,
.section--shopping-cart .table--cart th,
.section--shopping-cart .table--cart p,
.section--shopping-cart .table--cart a,
.section--shopping-cart .table--cart span,
.section--shopping-cart .table--cart h4,
.section--shopping-cart .table--cart small,
.section--shopping-cart .cart-totals,
.section--shopping-cart .cart-totals p,
.section--shopping-cart .cart-totals td,
.section--shopping-cart .cart-totals span,
.section--shopping-cart .cart-totals strong,
.section--shopping-cart .cart-totals small {
    font-family: var(--font-text) !important;
}

/* Column headings */
.section--shopping-cart .table--cart thead th {
    color: #2E2A39;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: none;
}

/* Product name + details */
.section--shopping-cart .table--cart td.product-name p.h6,
.section--shopping-cart .table--cart td.product-name a,
.section--shopping-cart .table--cart td.product-name .product-name {
    color: #2E2A39;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.4;
}
.section--shopping-cart .table--cart td.product-name small,
.section--shopping-cart .table--cart td.product-name p small {
    color: #6b6b76;
    font-size: 13px !important;
    font-weight: 400;
}

/* Unit price */
.section--shopping-cart .table--cart td.price:not(:last-of-type) *,
.section--shopping-cart .table--cart td[data-title] .product-price,
.section--shopping-cart .table--cart td[data-title] .product-price span {
    font-size: 16px;
    font-weight: 500;
}
.section--shopping-cart .table--cart td.price .old-price,
.section--shopping-cart .table--cart td.price del {
    color: #8a8a94;
    font-size: 13px !important;
    font-weight: 400;
}

/* Subtotal */
.section--shopping-cart .table--cart td.price h4,
.section--shopping-cart .table--cart td.price h4.text-brand {
    color: var(--ps-green);
    font-size: 17px !important;
    font-weight: 600 !important;
    margin: 0;
}

/* Totals panel */
.section--shopping-cart .cart-totals .cart_total_label p,
.section--shopping-cart .cart-totals .cart_total_label .h6 {
    color: #2E2A39;
    font-size: 15px !important;
    font-weight: 500 !important;
    margin: 0;
}
.section--shopping-cart .cart-totals .cart_total_label small {
    color: #6b6b76;
    font-size: 13px !important;
}
.section--shopping-cart .cart-totals .cart_total_amount,
.section--shopping-cart .cart-totals .cart_total_amount span,
.section--shopping-cart .cart-totals .cart_total_amount strong,
.section--shopping-cart .cart-totals .cart_total_amount p {
    font-size: 17px !important;
    font-weight: 600 !important;
}
.section--shopping-cart .cart-totals tr:last-child .cart_total_amount,
.section--shopping-cart .cart-totals tr:last-child .cart_total_amount * {
    font-size: 22px !important;
}

/* Intro line */
.section--shopping-cart p.h6,
.section--shopping-cart .text-body.font-heading.h6 {
    font-family: var(--font-text) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}

/* Unit price cell: force the body font on every nested element (theme price markup uses the heading font) */
.section--shopping-cart .table--cart td.price,
.section--shopping-cart .table--cart td.price * {
    font-family: var(--font-text) !important;
}

/* Top bar left links (About Us | Order Tracking): lighter and smaller */
.header-area .header-top .header-info:not(.header-info-right) ul a,
.header-area .header-top .header-info:not(.header-info-right) ul li {
    font-size: 13px;
    font-weight: 400;
}

/* Header actions (Wishlist / Cart / Account): icon and label centred on the same axis */
.header-action-2 .header-action-icon-2 {
    align-items: center;
    display: flex;
    gap: 6px;
}
.header-action-2 .header-action-icon-2 > a {
    align-items: center;
    display: inline-flex;
    line-height: 1;
}
.header-action-2 .header-action-icon-2 > a img {
    display: block;
    margin: 0;
}
.header-action-2 .header-action-icon-2 .lable,
.header-action-2 .header-action-icon-2 .lable.me-1 {
    display: inline-block;
    line-height: 1;
    margin: 0 !important;
    position: static;
    top: auto;
    transform: none;
}

/* a little room so the count badge (top-right of the icon) does not touch the label */
.header-action-2 .header-action-icon-2 {
    gap: 12px;
}

/* ==========================================================================
   Customer dashboard (overview): readable white cards with brand accents
   ========================================================================== */

/* Welcome panel */
.bb-customer-profile-wrapper .bb-customer-profile {
    background: #fff;
    border: 1px solid #e3ebe6;
    border-radius: 18px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .06);
    padding: 26px 30px;
}
.bb-customer-profile-info h2,
.bb-customer-profile-info .h4 {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 26px;
    font-weight: 500;
}
.bb-customer-profile-info h2 strong { font-weight: 600; }
.bb-customer-profile-info .text-muted {
    color: #5b6170 !important;
    font-size: 15px;
}

/* Quick action + first-order cards */
.card.border-0[class*="bg-opacity-10"] {
    background: #fff !important;
    border: 1px solid #e3ebe6 !important;
    border-radius: 18px !important;
    border-top: 4px solid var(--ps-green) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .07);
    transition: box-shadow .25s ease, transform .25s ease;
}
.card.border-0[class*="bg-opacity-10"]:hover {
    box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
    transform: translateY(-3px);
}
.card.border-0.bg-warning[class*="bg-opacity-10"] { border-top-color: var(--ps-orange) !important; }
.card.border-0.bg-success[class*="bg-opacity-10"] { border-top-color: #006B36 !important; }

/* Icon badge */
.card [class*="bg-opacity-20"].rounded-circle {
    align-items: center;
    background: var(--ps-green) !important;
    color: #fff;
    height: 60px;
    justify-content: center;
    padding: 0 !important;
    width: 60px;
}
.card .bg-success[class*="bg-opacity-20"].rounded-circle { background: #006B36 !important; }
.card .bg-warning[class*="bg-opacity-20"].rounded-circle { background: var(--ps-orange) !important; }
.card [class*="bg-opacity-20"].rounded-circle svg,
.card [class*="bg-opacity-20"].rounded-circle .icon { color: #fff; stroke: #fff; }

/* Text */
.card.border-0[class*="bg-opacity-10"] .card-title {
    color: #2E2A39 !important;
    font-family: var(--font-text) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
}
.card.border-0[class*="bg-opacity-10"] .card-text,
.card.border-0[class*="bg-opacity-10"] .card-text.text-muted {
    color: #5b6170 !important;
    font-size: 14px !important;
    line-height: 1.55;
}

/* Buttons: brand green pills, white text */
.card.border-0[class*="bg-opacity-10"] .btn {
    align-items: center;
    background: var(--ps-green) !important;
    border: 0 !important;
    border-radius: 50px !important;
    color: #fff !important;
    display: inline-flex;
    font-family: var(--font-text);
    font-size: 14px;
    font-weight: 500;
    gap: 6px;
    padding: 10px 22px;
}
.card.border-0[class*="bg-opacity-10"] .btn:hover {
    background: #006B36 !important;
}

/* Top bar: slightly smaller text and a shorter bar */
.header-area .header-top {
    padding: 7px 0;
}
.header-area .header-top,
.header-area .header-top a,
.header-area .header-top li,
.header-area .header-top span,
.header-area .header-top strong {
    font-size: 13px;
    line-height: 1.3;
}
.header-area .header-top .header-info-right,
.header-area .header-top .header-info-right li {
    font-size: 13px;
}
.header-area .header-top .header-info-right strong,
.header-area .header-top .header-info-right .text-brand,
.header-area .header-top .text-brand {
    font-size: 14px;
    font-weight: 600;
}
.ps-topbar-social a {
    height: 26px;
    padding: 5px;
    width: 26px;
}
.ps-topbar-social { gap: 8px; margin-right: 14px; }

/* Dashboard card buttons: a touch darker green so white text passes 4.5:1 */
.card.border-0[class*="bg-opacity-10"] .btn {
    background: #007A3D !important;
}
.card.border-0[class*="bg-opacity-10"] .btn:hover {
    background: #005f30 !important;
}

/* ==========================================================================
   Customer dashboard: consistent menu font + mobile layout
   ========================================================================== */
.dashboard-menu .nav-link {
    font-family: var(--font-text) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
}

@media (max-width: 991.98px) {
    /* content: no desktop indent */
    .tab-content.dashboard-content,
    .tab-content.account.dashboard-content {
        margin-top: 16px;
        padding-left: 0 !important;
    }

    /* menu: one swipeable row of pills instead of a tall list */
    .dashboard-menu { margin-bottom: 0; }
    .dashboard-menu .nav.flex-column {
        -ms-overflow-style: none;
        flex-direction: row !important;
        flex-wrap: nowrap;
        gap: 8px;
        overflow-x: auto;
        padding: 2px 2px 8px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .dashboard-menu .nav.flex-column::-webkit-scrollbar { display: none; }
    .dashboard-menu .nav-item {
        flex: 0 0 auto;
        margin: 0 !important;
        max-width: none;
        overflow: visible;
        text-overflow: clip;
    }
    .dashboard-menu .nav-link {
        align-items: center;
        border-radius: 50px !important;
        display: inline-flex !important;
        font-size: 14px !important;
        gap: 8px;
        padding: 9px 16px !important;
        white-space: nowrap;
    }
    .dashboard-menu .nav-link svg,
    .dashboard-menu .nav-link .icon,
    .dashboard-menu .nav-link i {
        flex: 0 0 auto;
        height: 18px;
        margin: 0 !important;
        position: static !important;
        width: 18px;
    }

    /* welcome panel: stack neatly */
    .bb-customer-profile-wrapper .bb-customer-profile { padding: 20px 18px; }
    .bb-customer-profile .row { justify-content: center; text-align: center; }
    .bb-customer-profile .col-auto,
    .bb-customer-profile .col {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .bb-customer-profile-avatar { margin: 0 auto 8px; }
    .bb-customer-profile-info h2,
    .bb-customer-profile-info .h4 { font-size: 22px; }
}

/* Dashboard menu hover / touch colour: brand green (was orange, low contrast) */
.dashboard-menu .nav-link:hover,
.dashboard-menu .nav-link:focus {
    color: var(--ps-green) !important;
}
.dashboard-menu .nav-link:hover svg,
.dashboard-menu .nav-link:hover i { color: var(--ps-green) !important; stroke: currentColor; }
.dashboard-menu .nav-link.active,
.dashboard-menu .nav-link.active:hover { color: #fff !important; }

@media (max-width: 767.98px) {
    /* action cards: compact */
    .dashboard-content .row.g-4 { --bs-gutter-y: .75rem; --bs-gutter-x: .75rem; }
    .dashboard-content .card.border-0[class*="bg-opacity-10"] .card-body {
        align-items: center;
        display: grid;
        gap: 2px 14px;
        grid-template-columns: 52px 1fr;
        padding: 16px !important;
        text-align: left !important;
    }
    .dashboard-content .card [class*="bg-opacity-20"].rounded-circle {
        grid-row: 1 / span 2;
        height: 52px;
        margin: 0 !important;
        width: 52px;
    }
    .dashboard-content .card.border-0[class*="bg-opacity-10"] .card-title {
        font-size: 16px !important;
        margin: 0 !important;
    }
    .dashboard-content .card.border-0[class*="bg-opacity-10"] .card-text {
        font-size: 13px !important;
        margin: 0 !important;
    }
    .dashboard-content .card.border-0[class*="bg-opacity-10"] .btn {
        grid-column: 1 / -1;
        justify-content: center;
        margin-top: 12px;
        width: 100%;
    }
}

/* Mobile header: Wishlist + Cart icons spaced apart, bigger, badges clear of neighbours */
@media (max-width: 991.98px) {
    .header-action-2 {
        align-items: center;
        display: flex;
        gap: 30px;
    }
    .header-action-2 .header-action-icon-2 {
        gap: 0;
        position: relative;
    }
    .header-action-2 .header-action-icon-2 > a img {
        height: 26px;
        width: 26px;
    }
    .header-action-2 .header-action-icon-2 .pro-count,
    .header-action-2 .header-action-icon-2 > a span.pro-count.blue,
    .header-action-2 .header-action-icon-2 > a span.pro-count.white {
        background: var(--ps-orange);
        border-radius: 50%;
        color: #fff;
        font-size: 11px;
        font-weight: 600;
        height: 18px;
        left: auto !important;
        line-height: 18px;
        min-width: 18px;
        padding: 0 4px;
        right: -12px !important;
        text-align: center;
        top: -8px !important;
        width: auto;
    }
}

/* ==========================================================================
   Wishlist: product cards with a heart button to remove
   ========================================================================== */
.ps-wishlist-remove {
    align-items: center;
    background: #fff;
    border: 0;
    border-radius: 50%;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .18);
    color: #E5484D;
    cursor: pointer;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 10px;
    top: 10px;
    transition: transform .15s ease, background .15s ease;
    width: 36px;
    z-index: 5;
}
.ps-wishlist-remove:hover { background: #fff5f5; transform: scale(1.08); }
.ps-wishlist-remove:active { transform: scale(.95); }
.ps-wishlist-remove.is-busy { opacity: .5; pointer-events: none; }

.ps-wishlist .heading-2 {
    font-size: 34px;
    font-weight: 500;
}
.ps-wishlist .ps-wishlist-count {
    color: #5b6170;
    font-family: var(--font-text) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}
@media (max-width: 575.98px) {
    .ps-wishlist .heading-2 { font-size: 28px; }
    /* the two cards per row need a little less chrome on phones */
    .ps-wishlist-grid .product-cart-wrap .ps-btn { font-size: 13px; padding: 10px 8px; }
    .ps-wishlist-remove { height: 34px; right: 8px; top: 8px; width: 34px; }
}

/* ==========================================================================
   Policy pages (Terms, Privacy, Shipping): readable document layout
   ========================================================================== */
.ps-policy {
    background: #fff;
    border: 1px solid #e3ebe6;
    border-radius: 20px;
    box-shadow: 0 8px 26px rgba(0, 0, 0, .06);
    color: #4b4b57;
    margin: 8px auto 40px;
    max-width: 920px;
    padding: 40px 48px;
}

/* inline styles pasted into the page editor must not fight the layout */
.ps-policy p,
.ps-policy li,
.ps-policy span,
.ps-policy div,
.ps-policy td,
.ps-policy a {
    font-family: var(--font-text) !important;
    margin-left: 0 !important;
    word-spacing: normal !important;
}
.ps-policy p,
.ps-policy li,
.ps-policy p span,
.ps-policy li span {
    color: #4b4b57 !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
}
.ps-policy p { margin: 0 0 14px !important; }

/* headings */
.ps-policy h1,
.ps-policy h2,
.ps-policy h3,
.ps-policy h4,
.ps-policy h1 *, .ps-policy h2 *, .ps-policy h3 *, .ps-policy h4 * {
    color: #2E2A39 !important;
    font-family: var(--font-heading) !important;
    letter-spacing: 0;
}
.ps-policy h1,
.ps-policy .ps-policy-title {
    border-bottom: 3px solid var(--ps-green);
    display: inline-block;
    font-size: 34px !important;
    font-weight: 500 !important;
    line-height: 1.25;
    margin: 0 0 26px !important;
    padding-bottom: 10px;
}
.ps-policy h2 {
    border-left: 4px solid var(--ps-green);
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1.3;
    margin: 34px 0 14px !important;
    padding-left: 14px;
}
.ps-policy h3 {
    font-size: 20px !important;
    font-weight: 500 !important;
    margin: 26px 0 10px !important;
}
.ps-policy h4 {
    font-size: 17px !important;
    font-weight: 600 !important;
    margin: 20px 0 8px !important;
}
.ps-policy h2:first-child,
.ps-policy .ps-policy-title + h2 { margin-top: 8px !important; }

/* lists */
.ps-policy ul,
.ps-policy ol {
    margin: 0 0 18px;
    padding-left: 26px;
}
.ps-policy ul { list-style: none; padding-left: 4px; }
.ps-policy ul li {
    padding-left: 24px;
    position: relative;
}
.ps-policy ul li::before {
    background: var(--ps-green);
    border-radius: 50%;
    content: "";
    height: 7px;
    left: 4px;
    position: absolute;
    top: .8em;
    width: 7px;
}
.ps-policy ol li { padding-left: 4px; }
.ps-policy ol li::marker { color: var(--ps-green); font-weight: 600; }
.ps-policy li { margin-bottom: 6px; }
.ps-policy li p { margin: 0 !important; }

/* emphasis + links */
.ps-policy strong,
.ps-policy b,
.ps-policy strong span { color: #2E2A39 !important; font-weight: 600 !important; }
.ps-policy a { color: var(--ps-green) !important; text-decoration: underline; text-underline-offset: 2px; }
.ps-policy a:hover { color: #006B36 !important; }

/* company block inside policy pages */
.ps-policy .ps-company-details {
    margin-top: 36px;
}

@media (max-width: 767.98px) {
    .ps-policy {
        border-radius: 16px;
        padding: 24px 18px;
    }
    .ps-policy h1,
    .ps-policy .ps-policy-title { font-size: 26px !important; }
    .ps-policy h2 { font-size: 20px !important; margin-top: 28px !important; }
    .ps-policy h3 { font-size: 18px !important; }
    .ps-policy p,
    .ps-policy li { font-size: 15px !important; }
}

/* ==========================================================================
   Mobile sidebar (slide-out menu)
   ========================================================================== */
.mobile-header-active {
    background: #fff;
}
.mobile-header-active .mobile-header-wrapper-inner {
    background: #fff;
}
.mobile-header-active .mobile-header-top {
    border-bottom: 1px solid #eef0ee;
    padding: 14px 20px;
}
.mobile-header-active .mobile-header-content-area {
    padding: 18px 20px 28px;
}

/* search */
.mobile-header-active .mobile-search form,
.mobile-header-active .mobile-search.search-style-3 form {
    background: #fff;
    border: 1.5px solid #cfe3d7;
    border-radius: 50px;
    overflow: hidden;
}
.mobile-header-active .mobile-search input {
    background: transparent;
    font-family: var(--font-text);
    font-size: 15px;
    padding-left: 20px;
}
.mobile-header-active .mobile-search button {
    color: var(--ps-green);
}
.mobile-header-active .mobile-header-border {
    border-bottom: 0;
    padding-bottom: 0;
}

/* main menu */
.mobile-header-active .mobile-menu > li {
    border-bottom: 1px solid #eef0ee;
}
.mobile-header-active .mobile-menu > li:last-child { border-bottom: 0; }
.mobile-header-active .mobile-menu > li > a {
    color: #2E2A39;
    display: block;
    font-family: var(--font-text);
    font-size: 16px;
    font-weight: 500;
    padding: 14px 44px 14px 4px;
    text-transform: none;
}
.mobile-header-active .mobile-menu > li > a:hover,
.mobile-header-active .mobile-menu > li.active > a {
    color: var(--ps-green);
}
.mobile-header-active .mobile-menu .menu-expand {
    align-items: center;
    background: rgba(0, 139, 70, .08);
    border-radius: 50%;
    color: var(--ps-green);
    display: flex;
    height: 32px;
    justify-content: center;
    line-height: 1;
    margin-top: 0;
    top: 9px;
    transition: transform .2s ease, background .2s ease;
    width: 32px;
}
.mobile-header-active .mobile-menu li.active > .menu-expand {
    background: var(--ps-green);
    color: #fff;
    transform: rotate(180deg);
}

/* sub-menus */
.mobile-header-active .mobile-menu li ul {
    border-left: 2px solid #d3e2d9;
    margin: 0 0 10px 6px;
    padding: 2px 0 2px 14px;
}
.mobile-header-active .mobile-menu li ul li {
    border: 0;
}
.mobile-header-active .mobile-menu li ul li a {
    color: #4b4b57;
    display: block;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 400;
    padding: 9px 0;
    text-transform: none;
}
.mobile-header-active .mobile-menu li ul li a:hover { color: var(--ps-green); }

/* contact / account links card */
.mobile-header-active .mobile-header-info-wrap {
    background: #f4faf6;
    border: 1px solid #d8eee0;
    border-radius: 18px;
    margin-top: 22px;
    padding: 6px 16px;
}
.mobile-header-active .single-mobile-header-info {
    border-bottom: 1px solid rgba(0, 0, 0, .06);
    margin: 0;
    padding: 0;
}
.mobile-header-active .single-mobile-header-info:last-child { border-bottom: 0; }
.mobile-header-active .single-mobile-header-info a {
    align-items: center;
    color: #2E2A39;
    display: flex;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 500;
    gap: 12px;
    padding: 12px 0;
}
.mobile-header-active .single-mobile-header-info a i {
    align-items: center;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
    color: var(--ps-green);
    display: inline-flex;
    flex: 0 0 34px;
    height: 34px;
    justify-content: center;
    width: 34px;
}
.mobile-header-active .single-mobile-header-info a:hover { color: var(--ps-green); }

/* social + copyright */
.mobile-header-active .mobile-social-icon {
    margin-top: 22px;
    text-align: center;
}
.mobile-header-active .mobile-social-icon p {
    color: #5b6170;
    font-family: var(--font-text);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .04em;
    margin-bottom: 10px;
    text-transform: uppercase;
}
.mobile-header-active .mobile-social-icon a {
    align-items: center;
    background: var(--ps-green);
    border-radius: 50%;
    display: inline-flex;
    height: 40px;
    justify-content: center;
    margin: 0 5px;
    width: 40px;
}
.mobile-header-active .mobile-social-icon a img { height: 18px; width: 18px; object-fit: contain; }
.mobile-header-active .site-copyright {
    color: #6b6b76;
    font-size: 12px;
    margin-top: 18px;
    text-align: center;
}

/* Sidebar menu: beat the theme's bolder / taller defaults */
.mobile-header-active .mobile-menu li > a,
.mobile-header-active .mobile-menu > li > a {
    font-family: var(--font-text) !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}
.mobile-header-active .mobile-menu > li > a {
    font-size: 16px !important;
    padding: 13px 48px 13px 4px !important;
}
.mobile-header-active .mobile-menu li ul li a {
    font-size: 15px !important;
    font-weight: 400 !important;
    padding: 9px 0 !important;
}
.mobile-header-active .mobile-menu > li {
    position: relative;
}
.mobile-header-active .mobile-menu > li > .menu-expand {
    height: 32px !important;
    right: 2px !important;
    top: 8px !important;
    width: 32px !important;
}
.mobile-header-active .mobile-menu > li > .menu-expand i {
    font-size: 13px;
    line-height: 1;
}
.mobile-header-active .mobile-menu li ul {
    margin-top: 0;
}

/* Sidebar: remove the theme's extra row padding, and force the open-state chevron colours */
.mobile-header-active .mobile-menu > li {
    padding: 0 !important;
}
.mobile-header-active .mobile-menu > li > .menu-expand {
    background: rgba(0, 139, 70, .08) !important;
    color: var(--ps-green) !important;
}
.mobile-header-active .mobile-menu > li.active > .menu-expand {
    background: var(--ps-green) !important;
    color: #fff !important;
}
.mobile-header-active .mobile-menu > li.active > .menu-expand i { color: #fff !important; }

/* Open item: darker tint + green chevron (always visible), still rotated */
.mobile-header-active .mobile-menu > li.active > .menu-expand {
    background: rgba(0, 139, 70, .18) !important;
    color: var(--ps-green) !important;
}
.mobile-header-active .mobile-menu > li.active > .menu-expand i {
    color: var(--ps-green) !important;
}

/* Sidebar: tighter vertical spacing for the contact card rows and sub-menu items */
.mobile-header-active .mobile-header-info-wrap {
    margin-top: 16px;
    padding: 2px 14px;
}
.mobile-header-active .single-mobile-header-info a {
    gap: 10px;
    line-height: 1.2;
    padding: 7px 0 !important;
}
.mobile-header-active .single-mobile-header-info a i {
    flex: 0 0 30px;
    height: 30px;
    width: 30px;
}
.mobile-header-active .mobile-menu li ul {
    margin: 0 0 6px 6px;
    padding: 0 0 0 14px;
}
.mobile-header-active .mobile-menu li ul li,
.mobile-header-active .mobile-menu li ul li a {
    line-height: 1.25 !important;
}
.mobile-header-active .mobile-menu li ul li a {
    padding: 6px 0 !important;
}
.mobile-header-active .mobile-menu li ul li {
    margin: 0 !important;
    padding: 0 !important;
}

/* Sidebar contact card: compact rows (Order tracking / Log In / phone ...) */
.mobile-header-active .mobile-header-info-wrap {
    margin-top: 12px;
    padding: 0 14px;
}
.mobile-header-active .single-mobile-header-info {
    line-height: 1.2;
}
.mobile-header-active .single-mobile-header-info a {
    font-size: 14.5px;
    gap: 10px;
    padding: 4px 0 !important;
}
.mobile-header-active .single-mobile-header-info a i {
    flex: 0 0 26px;
    font-size: 13px;
    height: 26px;
    width: 26px;
}

/* ==========================================================================
   Cart on phones: compact item cards + sticky total / checkout bar
   ========================================================================== */
@media (max-width: 767.98px) {
    .section--shopping-cart { margin-bottom: 30px !important; margin-top: 24px !important; }
    .section--shopping-cart h1.heading-2 { font-size: 28px !important; margin-bottom: 4px !important; }
    .section--shopping-cart .col-lg-8.mb-40 { margin-bottom: 14px !important; }

    /* one card per item */
    .section--shopping-cart .table-responsive.shopping-summery { overflow: visible; }
    .section--shopping-cart .table--cart,
    .section--shopping-cart .table--cart tbody { display: block; width: 100%; }
    .section--shopping-cart .table--cart tbody tr {
        background: #fff;
        border: 1px solid #e3ebe6;
        border-radius: 16px;
        box-shadow: 0 4px 14px rgba(0, 0, 0, .06);
        display: grid;
        gap: 4px 12px;
        grid-template-columns: 88px minmax(0, 1fr) auto;
        margin-bottom: 12px;
        padding: 12px;
        position: relative;
    }
    .section--shopping-cart .table--cart tbody tr td {
        background: transparent !important;
        border: 0 !important;
        display: block;
        margin: 0;
        padding: 0 !important;
        text-align: left !important;
        width: auto !important;
    }
    .section--shopping-cart .table--cart tbody tr td::before { display: none !important; content: none !important; }

    /* image */
    .section--shopping-cart .table--cart td.product-thumbnail {
        grid-column: 1;
        grid-row: 1 / span 3;
    }
    .section--shopping-cart .table--cart td.product-thumbnail img {
        aspect-ratio: 1 / 1;
        border-radius: 12px;
        height: auto;
        max-width: 100%;
        object-fit: cover;
        width: 88px;
    }

    /* name + variation */
    .section--shopping-cart .table--cart td.product-name {
        grid-column: 2 / 4;
        grid-row: 1;
        padding-right: 34px !important;
    }
    .section--shopping-cart .table--cart td.product-name p { margin: 0 !important; }
    .section--shopping-cart .table--cart td.product-name p.h6,
    .section--shopping-cart .table--cart td.product-name a { font-size: 15px !important; line-height: 1.3; }

    /* unit price: small, under the name */
    .section--shopping-cart .table--cart td.price:nth-of-type(3) {
        grid-column: 2 / 4;
        grid-row: 2;
    }
    .section--shopping-cart .table--cart td.price:nth-of-type(3),
    .section--shopping-cart .table--cart td.price:nth-of-type(3) * {
        color: #6b6b76;
        font-size: 13px !important;
        font-weight: 400 !important;
    }
    .section--shopping-cart .table--cart td.price:nth-of-type(3)::after {
        content: " / each";
        color: #8a8a94;
        font-size: 12px;
    }

    /* quantity + subtotal on one line */
    .section--shopping-cart .table--cart td.detail-info {
        align-self: center;
        grid-column: 2;
        grid-row: 3;
    }
    .section--shopping-cart .table--cart td.detail-info .detail-extralink { margin: 0 !important; }
    .section--shopping-cart .table--cart td.price:nth-of-type(5) {
        align-self: center;
        grid-column: 3;
        grid-row: 3;
        text-align: right !important;
    }
    .section--shopping-cart .table--cart td.price:nth-of-type(5) h4 { font-size: 17px !important; white-space: nowrap; }

    /* compact stepper */
    .section--shopping-cart .table--cart .detail-qty {
        height: 40px;
        margin: 0 !important;
        width: 116px;
    }
    .section--shopping-cart .table--cart .detail-qty .qty-up,
    .section--shopping-cart .table--cart .detail-qty .qty-down {
        flex: 0 0 36px;
        width: 36px !important;
    }
    .section--shopping-cart .table--cart .detail-qty .qty-val { font-size: 16px !important; }

    /* remove */
    .section--shopping-cart .table--cart td.action {
        position: absolute;
        right: 10px;
        top: 10px;
    }
    .section--shopping-cart .table--cart td.action a {
        align-items: center;
        background: #f4f5f9;
        border-radius: 50%;
        display: inline-flex;
        height: 30px;
        justify-content: center;
        width: 30px;
    }

    /* actions + totals */
    .section--shopping-cart .divider-2 { display: none; }
    .section--shopping-cart .cart-action { margin-bottom: 14px; }
    .section--shopping-cart .cart-totals {
        background: #fff;
        border: 1px solid #d3e2d9 !important;
        border-radius: 16px;
        bottom: 72px;
        box-shadow: 0 -4px 18px rgba(0, 0, 0, .10);
        margin: 0 !important;
        padding: 10px 14px !important;
        position: sticky;
        z-index: 20;
    }
    .section--shopping-cart .cart-totals .table-responsive { margin: 0; overflow: visible; }
    .section--shopping-cart .cart-totals table { margin: 0; }
    .section--shopping-cart .cart-totals td { padding: 3px 0 !important; }
    .section--shopping-cart .cart-totals tr:last-child .cart_total_amount,
    .section--shopping-cart .cart-totals tr:last-child .cart_total_amount * { font-size: 20px !important; }
    .section--shopping-cart .cart-totals .btn,
    .section--shopping-cart .cart-totals a.btn {
        justify-content: center;
        margin-top: 6px;
        padding: 12px 16px;
        width: 100%;
    }
}

/* Cart (phones): fix stepper width, inline "/ each", white cards */
@media (max-width: 767.98px) {
    .section--shopping-cart .table--cart tbody tr {
        background: #fff !important;
        grid-template-columns: 88px minmax(0, 1fr) max-content;
    }
    .section--shopping-cart .table--cart td.detail-info,
    .section--shopping-cart .table--cart td.detail-info .detail-extralink {
        min-width: 0;
        width: auto;
    }
    .section--shopping-cart .table--cart td.detail-info .detail-extralink { display: block; }
    .section--shopping-cart .table--cart .detail-qty {
        flex: none;
        max-width: none;
        min-width: 108px;
        width: 108px;
    }
    .section--shopping-cart .table--cart .detail-qty .qty-up,
    .section--shopping-cart .table--cart .detail-qty .qty-down {
        flex: 0 0 34px;
        width: 34px !important;
    }
    .section--shopping-cart .table--cart .detail-qty .qty-val {
        flex: 1 1 auto;
        min-width: 30px;
        width: auto !important;
    }
    .section--shopping-cart .table--cart td.price:nth-of-type(3) {
        align-items: baseline;
        display: flex;
        flex-wrap: nowrap;
        gap: 4px;
    }
    .section--shopping-cart .table--cart td.price:nth-of-type(5) h4 { font-size: 16px !important; }
}

/* Cart (phones): compact fixed checkout bar above the bottom navigation */
@media (max-width: 767.98px) {
    .section--shopping-cart { padding-bottom: 96px; }
    .section--shopping-cart .cart-totals {
        align-items: center;
        border-radius: 16px;
        bottom: 72px;
        display: flex;
        gap: 12px;
        left: 12px;
        margin: 0 !important;
        padding: 10px 12px !important;
        position: fixed;
        right: 12px;
        z-index: 1000;
    }
    .section--shopping-cart .cart-totals .table-responsive { flex: 1 1 auto; margin: 0; min-width: 0; }
    .section--shopping-cart .cart-totals tr:not(:last-child) { display: none; }
    .section--shopping-cart .cart-totals td { padding: 0 !important; }
    .section--shopping-cart .cart-totals .cart_total_label p { line-height: 1.2; }
    .section--shopping-cart .cart-totals .cart_total_label small { display: none; }
    .section--shopping-cart .cart-totals .cart_total_amount,
    .section--shopping-cart .cart-totals .cart_total_amount * { line-height: 1.2; }
    .section--shopping-cart .cart-totals tr:last-child .cart_total_amount,
    .section--shopping-cart .cart-totals tr:last-child .cart_total_amount * { font-size: 19px !important; }
    .section--shopping-cart .cart-totals .btn,
    .section--shopping-cart .cart-totals a.btn {
        flex: 0 0 auto;
        margin: 0;
        padding: 12px 18px;
        white-space: nowrap;
        width: auto;
    }
}

@media (max-width: 767.98px) {
    .section--shopping-cart .cart-totals .btn,
    .section--shopping-cart .cart-totals a.btn,
    .section--shopping-cart .cart-totals .w-100 {
        flex: 0 0 auto !important;
        font-size: 14px !important;
        padding: 12px 16px !important;
        width: auto !important;
    }
    .section--shopping-cart .cart-totals .table-responsive { flex: 1 1 0; }
}

@media (max-width: 767.98px) {
    .section--shopping-cart .cart-totals tr:last-child {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
    }
    .section--shopping-cart .cart-totals tr:last-child td { display: block; width: auto; }
    .section--shopping-cart .cart-totals tr:last-child .cart_total_label p {
        color: #6b6b76;
        font-size: 12px !important;
        font-weight: 500 !important;
        margin: 0 !important;
    }
    .section--shopping-cart .cart-totals tr:last-child .cart_total_amount,
    .section--shopping-cart .cart-totals tr:last-child .cart_total_amount * {
        font-size: 20px !important;
        white-space: nowrap;
    }
    .section--shopping-cart .cart-totals .table-responsive { flex: 0 0 auto; }
    .section--shopping-cart .cart-totals { justify-content: space-between; }
    .section--shopping-cart .cart-totals .btn,
    .section--shopping-cart .cart-totals a.btn {
        flex: 1 1 auto !important;
        justify-content: center;
        max-width: 210px;
    }
}

/* ==========================================================================
   Contact page: info card + map on the left, form card on the right
   ========================================================================== */
.ps-contact-title {
    color: #2E2A39;
    display: inline-block;
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 500;
    margin: 0 0 6px;
}
.ck-content:has(.ps-office-card) {
    align-items: start;
    display: grid;
    gap: 24px 28px;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}
.ck-content:has(.ps-office-card) > .ps-contact-title {
    border-bottom: 3px solid var(--ps-green);
    grid-column: 1 / -1;
    justify-self: start;
    margin-bottom: 4px;
    padding-bottom: 8px;
}
.ck-content:has(.ps-office-card) > div:has(iframe) {
    grid-column: 1;
    grid-row: 3;
    margin: 0 !important;
}
.ck-content:has(.ps-office-card) > .ps-office-card { grid-column: 1; grid-row: 2; }
.ck-content:has(.ps-office-card) > section {
    grid-column: 2;
    grid-row: 2 / span 2;
    margin: 0 !important;
    padding: 0 !important;
}

/* map */
.ck-content:has(.ps-office-card) iframe {
    border: 1px solid #e3ebe6 !important;
    border-radius: 18px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .06);
    display: block;
    height: 320px !important;
    width: 100%;
}

/* office info card */
.ps-office-card {
    background: #fff;
    border: 1px solid #e3ebe6;
    border-radius: 20px;
    box-shadow: 0 8px 26px rgba(0, 0, 0, .06);
    padding: 26px 26px 24px;
}
.ps-office-title {
    color: #2E2A39 !important;
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 500;
    margin: 0 0 18px !important;
}
.ps-office-list { list-style: none; margin: 0; padding: 0; }
.ps-office-list li {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    padding: 11px 0;
}
.ps-office-list li + li { border-top: 1px solid #eef0ee; }
.ps-office-icon {
    align-items: center;
    background: rgba(0, 139, 70, .1);
    border-radius: 50%;
    color: var(--ps-green);
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    width: 42px;
}
.ps-office-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ps-office-body strong {
    color: #2E2A39;
    font-family: var(--font-text);
    font-size: 14px;
    font-weight: 600;
}
.ps-office-body > span,
.ps-office-body a {
    color: #4b4b57;
    font-size: 15px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.ps-office-body a:hover { color: var(--ps-green); }
.ps-office-body .ps-sep { color: #a0a0aa; margin: 0 6px; }
.ps-office-map {
    align-items: center;
    background: var(--ps-green);
    border-radius: 50px;
    color: #fff !important;
    display: inline-flex;
    font-size: 14px;
    font-weight: 500;
    gap: 8px;
    margin-top: 14px;
    padding: 10px 22px;
    transition: background .2s ease;
}
.ps-office-map:hover { background: #006B36; }

/* form card */
.ck-content:has(.ps-office-card) > section .container { max-width: none; padding: 0; }
.ck-content:has(.ps-office-card) > section .row { margin: 0; }
.ck-content:has(.ps-office-card) > section .col-xl-8 { flex: 0 0 100%; max-width: 100%; padding: 0; }
.contact-from-area {
    background: #fff;
    border: 1px solid #e3ebe6;
    border-radius: 20px;
    box-shadow: 0 8px 26px rgba(0, 0, 0, .06);
    padding: 30px 30px 26px !important;
}
.contact-from-area h3 {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 26px;
    font-weight: 500;
    text-align: left !important;
}
.contact-from-area h3 + p {
    color: #5b6170 !important;
    font-size: 15px !important;
    text-align: left !important;
}
.contact-form-style input[type="text"],
.contact-form-style input[type="email"],
.contact-form-style textarea {
    background: #fff;
    border: 1px solid #dfe3df;
    border-radius: 12px;
    font-family: var(--font-text);
    font-size: 15px;
    padding: 13px 16px;
    width: 100%;
}
.contact-form-style textarea { min-height: 130px; resize: vertical; }
.contact-form-style input:focus,
.contact-form-style textarea:focus {
    border-color: var(--ps-green);
    box-shadow: 0 0 0 3px rgba(0, 139, 70, .12);
    outline: 0;
}
.contact-form-style .form-check { align-items: flex-start; display: flex; gap: 10px; }
.contact-form-style .form-check-label { color: #4b4b57; font-size: 14px; }
.contact-form-style .form-check-input { flex: 0 0 auto; margin-top: 3px; }
.contact-form-style button.submit,
.contact-form-style .submit {
    background: var(--ps-green);
    border: 0;
    border-radius: 50px;
    color: #fff;
    font-family: var(--font-text);
    font-size: 16px;
    font-weight: 500;
    margin-top: 6px !important;
    padding: 13px 40px;
    transition: background .2s ease;
}
.contact-form-style .submit:hover { background: #006B36; }
.contact-form-style .contact-form-group .col-12 { text-align: left !important; padding: 0; }

/* tablets + phones: single column (info, form, map) */
@media (max-width: 991.98px) {
    .ck-content:has(.ps-office-card) { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .ck-content:has(.ps-office-card) > .ps-office-card { grid-column: 1; grid-row: 2; }
    .ck-content:has(.ps-office-card) > section { grid-column: 1; grid-row: 3; }
    .ck-content:has(.ps-office-card) > div:has(iframe) { grid-column: 1; grid-row: 4; }
    .ck-content:has(.ps-office-card) iframe { height: 260px !important; }
}
@media (max-width: 575.98px) {
    .ps-contact-title { font-size: 28px; }
    .ps-office-card { padding: 20px 18px; }
    .contact-from-area { padding: 22px 18px 20px !important; }
    .contact-from-area h3 { font-size: 22px; }
    .contact-form-style .submit { width: 100%; }
}

/* contact form: the consent checkbox must stay a small checkbox (theme makes inputs 100% wide) */
.contact-form-style input[type="checkbox"],
.contact-form-style .form-check-input {
    accent-color: var(--ps-green);
    flex: 0 0 18px;
    height: 18px !important;
    margin: 3px 0 0 !important;
    min-width: 18px;
    padding: 0 !important;
    width: 18px !important;
}
.contact-form-style label.form-check {
    align-items: flex-start;
    display: flex;
    gap: 10px;
    padding-left: 0;
}
.contact-form-style .form-check-label { flex: 1 1 auto; line-height: 1.5; }

/* Contact form: single-line fields use the same padding/height logic as the message box
   (theme forces them to 64px tall, which makes the text float in extra space) */
.contact-form-style input[type="text"],
.contact-form-style input[type="email"] {
    box-sizing: border-box;
    height: auto !important;
    line-height: 24px !important;
    min-height: 0 !important;
    padding: 13px 16px !important;
}
.contact-form-style textarea {
    box-sizing: border-box;
    line-height: 24px !important;
    padding: 13px 16px !important;
}
.contact-form-style .form-group.mb-20 { margin-bottom: 14px !important; }

/* Contact form: the field rows keep Bootstrap's -12px gutter so single-line fields line up
   exactly with the message box, checkbox and button */
.ck-content:has(.ps-office-card) > section .contact-form-row.row,
.contact-form-style .contact-form-row.row {
    margin-left: -12px !important;
    margin-right: -12px !important;
}

@media (max-width: 575.98px) {
    .products-page-container .ps-block__header h1 { font-size: 1.6rem; }
}

/* Footer on phones: more side breathing room on the solid green background (20px) */
@media (max-width: 767.98px) {
    footer.main .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    footer.main .footer-bottom { margin-left: 0; margin-right: 0; }
}

/* Share buttons: round icon buttons (no text) */
.ps-share-buttons { gap: 12px; }
.ps-share-btn {
    align-items: center;
    border: 0;
    border-radius: 50%;
    display: inline-flex;
    height: 44px;
    justify-content: center;
    padding: 0;
    transition: transform .15s ease, box-shadow .2s ease, opacity .2s ease;
    width: 44px;
}
.ps-share-btn svg { display: block; height: 22px; width: 22px; }
.ps-share-btn:hover { box-shadow: 0 6px 14px rgba(0, 0, 0, .18); opacity: 1; transform: translateY(-2px); }
.ps-share-whatsapp { background: #25D366; color: #fff; }
.ps-share-facebook { background: #1877F2; color: #fff; }
.ps-share-x { background: #111; color: #fff; }
.ps-share-telegram { background: #229ED9; color: #fff; }
.ps-share-email { background: #EA4335; color: #fff; }
.ps-share-native { background: var(--ps-green); color: #fff; }
.ps-share-copy { background: #eef1ef; color: #2E2A39; }
.ps-share-copy .ps-icon-check { display: none; }
.ps-share-copy.is-copied { background: var(--ps-green); color: #fff; }
.ps-share-copy.is-copied .ps-icon-copy { display: none; }
.ps-share-copy.is-copied .ps-icon-check { display: block; }

/* ==========================================================================
   Product page: portrait gallery (full image), sticky on desktop, tidier info column
   ========================================================================== */
.product-detail .detail-gallery {
    position: relative;
}
@media (min-width: 992px) {
    .product-detail .row > .col-md-6:first-child {
        align-self: flex-start;
        position: sticky;
        top: 110px;
    }
}
.product-detail .detail-gallery .product-image-slider figure {
    aspect-ratio: 5 / 7;
    background: #fff;
    border: 1px solid #e3ebe6;
    border-radius: 18px;
    box-shadow: 0 8px 26px rgba(0, 0, 0, .07);
    margin: 0;
    overflow: hidden;
}
.product-detail .detail-gallery .product-image-slider figure a {
    display: block;
    height: 100%;
    width: 100%;
}
.product-detail .detail-gallery .product-image-slider figure img {
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
}
.product-detail .detail-gallery .zoom-icon {
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .15);
    height: 38px;
    line-height: 38px;
    text-align: center;
    width: 38px;
    z-index: 6;
}

/* thumbnails: portrait tiles, green ring on the active one */
.product-detail .slider-nav-thumbnails { margin-top: 12px; }
.product-detail .slider-nav-thumbnails .slick-slide { padding: 0 5px; }
.product-detail .slider-nav-thumbnails .ps-thumb,
.product-detail .slider-nav-thumbnails .slick-slide > div > .ps-thumb {
    aspect-ratio: 5 / 7;
    background: #fff;
    border: 2px solid #e3ebe6;
    border-radius: 12px;
    overflow: hidden;
}
.product-detail .slider-nav-thumbnails .ps-thumb img {
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
}
.product-detail .slider-nav-thumbnails .slick-slide.slick-current .ps-thumb,
.product-detail .slider-nav-thumbnails .slick-slide.slick-active .ps-thumb { border-color: #cfe3d7; }
.product-detail .slider-nav-thumbnails .slick-slide.slick-current .ps-thumb { border-color: var(--ps-green); }

/* info column */
.product-detail .detail-info { padding-left: 24px; padding-right: 8px; }
.product-detail .product-price-cover { margin-bottom: 14px; }
.product-detail .product-price .old-price { color: #8a8a94; font-size: 16px; }
.product-detail .save-price .percentage-off {
    background: var(--ps-orange);
    border-radius: 50px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 4px 12px;
}
.product-detail .number-items-available,
.product-detail .product-availability,
.product-detail .stock-status { font-size: 14px; }
.product-detail .stock-status.in-stock,
.product-detail .in-stock {
    background: rgba(0, 139, 70, .1);
    border-radius: 50px;
    color: var(--ps-green);
    display: inline-block;
    font-weight: 500;
    padding: 3px 12px;
}

/* long description: clamp with a fade, "Read more" toggle */
.product-detail .short-desc.is-clamped:not(.is-open) {
    max-height: 210px;
    overflow: hidden;
    position: relative;
}
.product-detail .short-desc.is-clamped:not(.is-open)::after {
    background: linear-gradient(rgba(255, 255, 255, 0), #fff 85%);
    bottom: 0;
    content: "";
    height: 70px;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
}
.product-detail .ps-desc-toggle {
    background: transparent;
    border: 0;
    color: var(--ps-green);
    cursor: pointer;
    font-family: var(--font-text);
    font-size: 14px;
    font-weight: 600;
    order: 6;
    padding: 4px 0 12px;
    text-align: left;
}
.product-detail .ps-desc-toggle:hover { color: #006B36; text-decoration: underline; }

@media (max-width: 991.98px) {
    .product-detail .detail-info { padding-left: 12px; padding-right: 12px; }
    .product-detail .detail-gallery .product-image-slider figure { border-radius: 14px; }
}

/* Share buttons: colours never change on hover / focus / active (theme link-hover colour is overridden) */
.ps-share-btn,
.ps-share-btn:hover,
.ps-share-btn:focus,
.ps-share-btn:active,
.ps-share-btn:visited { opacity: 1 !important; text-decoration: none !important; }
.ps-share-whatsapp, .ps-share-whatsapp:hover, .ps-share-whatsapp:focus, .ps-share-whatsapp:active, .ps-share-whatsapp:visited { background: #25D366 !important; color: #fff !important; }
.ps-share-facebook, .ps-share-facebook:hover, .ps-share-facebook:focus, .ps-share-facebook:active, .ps-share-facebook:visited { background: #1877F2 !important; color: #fff !important; }
.ps-share-x, .ps-share-x:hover, .ps-share-x:focus, .ps-share-x:active, .ps-share-x:visited { background: #111 !important; color: #fff !important; }
.ps-share-telegram, .ps-share-telegram:hover, .ps-share-telegram:focus, .ps-share-telegram:active, .ps-share-telegram:visited { background: #229ED9 !important; color: #fff !important; }
.ps-share-email, .ps-share-email:hover, .ps-share-email:focus, .ps-share-email:active, .ps-share-email:visited { background: #EA4335 !important; color: #fff !important; }
.ps-share-native, .ps-share-native:hover, .ps-share-native:focus, .ps-share-native:active { background: var(--ps-green) !important; color: #fff !important; }
.ps-share-copy:not(.is-copied), .ps-share-copy:not(.is-copied):hover, .ps-share-copy:not(.is-copied):focus, .ps-share-copy:not(.is-copied):active { background: #eef1ef !important; color: #2E2A39 !important; }
.ps-share-copy.is-copied, .ps-share-copy.is-copied:hover { background: var(--ps-green) !important; color: #fff !important; }
.ps-share-btn svg, .ps-share-btn:hover svg { color: inherit; fill: none; }
.ps-share-btn svg path[fill="currentColor"] { fill: currentColor; }

/* Sidebar product boxes (New products / Trending Now): full image in a small portrait tile */
.sidebar-widget .single-post {
    align-items: center;
    display: flex;
    gap: 14px;
}
.sidebar-widget .single-post .image {
    background: #fff;
    border: 1px solid #e3ebe6;
    border-radius: 12px;
    flex: 0 0 76px;
    float: none;
    height: 106px;
    margin: 0;
    overflow: hidden;
    width: 76px;
}
.sidebar-widget .single-post .image img {
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
}
.sidebar-widget .single-post .content {
    flex: 1 1 auto;
    margin: 0;
    min-width: 0;
    padding-top: 0 !important;
}
.sidebar-widget .single-post .content h5,
.sidebar-widget .single-post .content h5 a {
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.35;
}

/* Product page buy box: keep "Add to cart" / "Buy Now" on one line */
.product-detail .detail-extralink .detail-qty { width: 128px; }
.product-detail .product-extra-link2 .button-add-to-cart,
.product-detail .product-extra-link2 .button-buy-now {
    flex: 1 1 120px;
    padding-left: 12px !important;
    padding-right: 12px !important;
    white-space: nowrap;
}
.product-detail .product-extra-link2 .button-add-to-cart i { margin-right: 6px; }

/* ==========================================================================
   Variant cards: name / price / old price + % off   (and an aligned buy box)
   ========================================================================== */
.product-detail .product-attributes .attribute-name {
    color: #2E2A39;
    display: block;
    font-family: var(--font-text);
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
}
.product-detail .product-attributes .text-swatch {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.product-detail .product-attributes .attribute-swatch-item span.ps-var {
    background: #fff;
    border: 1.5px solid #dfe3df;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    min-width: 116px;
    overflow: hidden;
    padding: 0 !important;
    text-align: center;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.product-detail .ps-var b,
.product-detail .ps-var i { font-style: normal; }
.product-detail .ps-var .ps-var-name {
    background: #f3f5f4;
    color: #2E2A39;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 600;
    padding: 8px 10px;
    transition: background .15s ease, color .15s ease;
}
.product-detail .ps-var .ps-var-price {
    color: #2E2A39;
    font-family: var(--font-text);
    font-size: 16px;
    font-weight: 600;
    padding: 8px 8px 2px;
}
.product-detail .ps-var .ps-var-old {
    color: #8a8a94;
    font-family: var(--font-text);
    font-size: 12px;
    padding: 0 8px 9px;
}
.product-detail .ps-var .ps-var-old del { color: #8a8a94; margin-right: 4px; }
.product-detail .ps-var .ps-var-old em { color: #d6336c; font-style: normal; font-weight: 600; }
.product-detail .ps-var .ps-var-price:last-child { padding-bottom: 10px; }

/* selected / hover */
.product-detail .product-attributes .attribute-swatch-item:hover span.ps-var { border-color: #b7d7c4; }
.product-detail .product-attributes .product-filter-item:checked + span.ps-var {
    background: #f4faf6;
    border-color: var(--ps-green);
    box-shadow: 0 0 0 3px rgba(0, 139, 70, .12);
    color: inherit;
}
.product-detail .product-attributes .product-filter-item:checked + span.ps-var .ps-var-name {
    background: var(--ps-green);
    color: #fff;
}
.product-detail .product-attributes .attribute-swatch-item.pe-none span.ps-var { opacity: .45; }

/* buy box: label, stepper, then one aligned row of buttons */
.product-detail .detail-extralink {
    align-items: stretch;
    display: block !important;
}
.product-detail .ps-qty-label {
    color: #2E2A39;
    display: block;
    font-family: var(--font-text);
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
}
.product-detail .detail-extralink .detail-qty { margin-bottom: 16px !important; }
.product-detail .product-extra-link2 {
    align-items: center;
    display: grid !important;
    gap: 10px;
    grid-template-columns: 1fr 1fr 48px;
    width: 100%;
}
.product-detail .product-extra-link2:not(.has-buy-now-button) { grid-template-columns: 1fr 48px; }
.product-detail .product-extra-link2 .button-add-to-cart,
.product-detail .product-extra-link2 .button-buy-now {
    flex: none;
    height: 50px;
    margin: 0 !important;
    min-width: 0;
    width: 100%;
}
.product-detail .product-extra-link2 .action-btn {
    align-items: center;
    background: #fff;
    border: 1.5px solid #dfe3df;
    border-radius: 14px;
    display: inline-flex;
    height: 50px;
    justify-content: center;
    margin: 0 !important;
    width: 48px;
}
.product-detail .product-extra-link2 .action-btn:hover { border-color: var(--ps-green); }
@media (max-width: 575.98px) {
    .product-detail .product-attributes .attribute-swatch-item span.ps-var { min-width: 104px; }
    .product-detail .product-extra-link2 { grid-template-columns: 1fr 1fr 46px; gap: 8px; }
}

.product-detail .product-attributes .attribute-swatch-item span.ps-var { min-width: 104px; }
.product-detail .ps-var .ps-var-price { font-size: 15px; }

/* ==========================================================================
   Product page: share row under the payment note, description in its tab
   ========================================================================== */
.product-detail .detail-info > .ps-pay-note { order: 5; }
.product-detail .detail-info > .ps-share { order: 6; }
.product-detail .detail-info > .ps-product-meta { order: 7; }
.product-detail .detail-info > .ps-sold-by { order: 3; }

.product-detail .detail-info > .ps-share {
    align-items: center;
    border-top: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin: 0 0 18px;
    padding: 0;
}
.product-detail .detail-info > .ps-share .ps-share-title {
    color: #2E2A39;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 600;
    margin: 0;
}
.product-detail .detail-info > .ps-share .ps-share-buttons { gap: 10px; }
.product-detail .detail-info > .ps-share .ps-share-btn { height: 40px; width: 40px; }
.product-detail .detail-info > .ps-share .ps-share-btn svg { height: 20px; width: 20px; }

/* Description tab: readable text */
.product-detail .ps-product-description {
    color: #4b4b57;
    font-family: var(--font-text);
    font-size: 16px;
    line-height: 1.8;
    max-width: 920px;
}
.product-detail .ps-product-description p { margin: 0 0 14px; }
.product-detail .ps-product-description strong { color: #2E2A39; font-weight: 600; }
.product-detail .ps-product-description ul { list-style: none; margin: 0 0 16px; padding: 0; }
.product-detail .ps-product-description ul li { padding-left: 22px; position: relative; }
.product-detail .ps-product-description ul li::before {
    background: var(--ps-green);
    border-radius: 50%;
    content: "";
    height: 7px;
    left: 4px;
    position: absolute;
    top: .8em;
    width: 7px;
}

/* ==========================================================================
   Product page: share row under the payment note, description in its tab
   ========================================================================== */
.product-detail .detail-info > .ps-pay-note { order: 5; }
.product-detail .detail-info > .ps-share { order: 6; }
.product-detail .detail-info > .ps-product-meta { order: 7; }
.product-detail .detail-info > .ps-sold-by { order: 3; }

.product-detail .detail-info > .ps-share {
    align-items: center;
    border-top: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin: 0 0 18px;
    padding: 0;
}
.product-detail .detail-info > .ps-share .ps-share-title {
    color: #2E2A39;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 600;
    margin: 0;
}
.product-detail .detail-info > .ps-share .ps-share-buttons { gap: 10px; }
.product-detail .detail-info > .ps-share .ps-share-btn { height: 40px; width: 40px; }
.product-detail .detail-info > .ps-share .ps-share-btn svg { height: 20px; width: 20px; }

/* Description tab: readable text */
.product-detail .ps-product-description {
    color: #4b4b57;
    font-family: var(--font-text);
    font-size: 16px;
    line-height: 1.8;
    max-width: 920px;
}
.product-detail .ps-product-description p { margin: 0 0 14px; }
.product-detail .ps-product-description strong { color: #2E2A39; font-weight: 600; }
.product-detail .ps-product-description ul { list-style: none; margin: 0 0 16px; padding: 0; }
.product-detail .ps-product-description ul li { padding-left: 22px; position: relative; }
.product-detail .ps-product-description ul li::before {
    background: var(--ps-green);
    border-radius: 50%;
    content: "";
    height: 7px;
    left: 4px;
    position: absolute;
    top: .8em;
    width: 7px;
}

/* Full-width product layout: keep the portrait gallery a comfortable size */
@media (min-width: 992px) {
    .product-detail .detail-gallery {
        margin: 0;
        max-width: 520px;
    }
    .product-detail .detail-info { padding-left: 36px; }
}

/* Description tab lists: only the green dot (hide the browser / editor default bullet) */
.product-detail .ps-product-description ul,
.product-detail .ps-product-description ul li,
.ck-content.ps-product-description ul,
.ck-content.ps-product-description ul li {
    list-style: none !important;
    list-style-type: none !important;
}
.product-detail .ps-product-description ul li::marker,
.ck-content.ps-product-description ul li::marker {
    color: transparent;
    content: "";
    font-size: 0;
}
.product-detail .ps-product-description ul { padding-left: 4px !important; }

/* ==========================================================================
   Product page: close the gap between gallery and details, tighter vertical rhythm
   ========================================================================== */
@media (min-width: 992px) {
    .product-detail .row.mb-50.mt-30 {
        column-gap: 44px;
        display: grid;
        grid-template-columns: 520px minmax(0, 1fr);
        margin-left: 0;
        margin-right: 0;
    }
    .product-detail .row.mb-50.mt-30 > [class*="col-md-6"] {
        flex: none;
        max-width: none;
        padding-left: 0;
        padding-right: 0;
        width: auto;
    }
    .product-detail .detail-info {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* vertical rhythm inside the details column */
.product-detail .detail-info .title-detail { margin-bottom: 4px !important; }
.product-detail .detail-info .product-detail-rating { margin-bottom: 4px; }
.product-detail .detail-info .product-price-cover { margin-bottom: 10px !important; }
.product-detail .detail-info .product-price .current-price { font-size: 28px; }
.product-detail .detail-info .pr_switch_wrap,
.product-detail .detail-info .attribute-swatches-wrapper,
.product-detail .detail-info .product__attribute { margin-bottom: 6px !important; }
.product-detail .detail-info .product-attributes .attribute-name { margin-bottom: 8px; }
.product-detail .detail-info .form-group { margin-bottom: 8px !important; }
.product-detail .detail-info .number-items-available,
.product-detail .detail-info .product-availability,
.product-detail .detail-info [class*="availability"] {
    margin-bottom: 8px !important;
    margin-top: 4px !important;
}
.product-detail .detail-info .detail-extralink { margin-bottom: 14px !important; }
.product-detail .detail-info .ps-qty-label { margin-bottom: 6px; }
.product-detail .detail-info .detail-extralink .detail-qty { margin-bottom: 12px !important; }
.product-detail .detail-info .ps-pay-note { margin-bottom: 12px; }
.product-detail .detail-info > .ps-share { margin-bottom: 12px; }

/* remaining extra space: variant group bottom padding + availability wrapper margin */
.product-detail .detail-info .text-swatches-wrapper,
.product-detail .detail-info .attribute-swatches-wrapper { padding-bottom: 0 !important; margin-bottom: 4px !important; }
.product-detail .detail-info .add-to-cart-form > div:not([class]) { margin-bottom: 4px !important; }
.product-detail .detail-info .add-to-cart-form > div:not([class]) label { margin-bottom: 0; }
.product-detail .detail-info .number-items-available { margin: 0 0 0 4px !important; }

/* Product detail: capped button width, larger SKU/Category meta */
.product-detail .product-extra-link2 {
    grid-template-columns: minmax(0, 190px) minmax(0, 190px) 48px;
    justify-content: start;
    max-width: 460px;
}
.product-detail .product-extra-link2:not(.has-buy-now-button) { grid-template-columns: minmax(0, 190px) 48px; }
@media (max-width: 575px) {
    .product-detail .product-extra-link2,
    .product-detail .product-extra-link2:not(.has-buy-now-button) { max-width: 100%; }
    .product-detail .product-extra-link2 { grid-template-columns: 1fr 1fr 48px; }
    .product-detail .product-extra-link2:not(.has-buy-now-button) { grid-template-columns: 1fr 48px; }
}
.product-detail .ps-product-meta,
.product-detail .ps-product-meta li,
.product-detail .ps-product-meta a { font-size: 15px !important; }

/* Product detail: shorter thumbnail row */
.product-detail .slider-nav-thumbnails .ps-thumb,
.product-detail .slider-nav-thumbnails .slick-slide > div > .ps-thumb { aspect-ratio: 1 / 1; }
.product-detail .slider-nav-thumbnails { margin-top: 10px; }
.product-detail .detail-gallery .product-image-slider { margin-bottom: 0 !important; }
.product-detail .slider-nav-thumbnails { margin-top: 4px !important; }

/* Product detail: trust badges row */
.product-detail .ps-trust-row {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 16px;
    max-width: 460px;
}
.product-detail .ps-trust-item {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: center;
}
.product-detail .ps-trust-icon {
    align-items: center;
    background: #eaf6ef;
    border: 1px solid #cfe3d7;
    border-radius: 50%;
    color: var(--ps-green);
    display: inline-flex;
    font-size: 24px;
    height: 56px;
    justify-content: center;
    width: 56px;
}
.product-detail .ps-trust-icon i { line-height: 1; }
.product-detail .ps-trust-text {
    color: #2E2A39;
    font-family: var(--font-text);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
}

/* Product detail: tighter spacing around the Description tab */
.product-detail > .row.mb-50 { margin-bottom: 16px !important; }
.product-detail .product-info { padding-bottom: 0 !important; padding-top: 8px !important; }
.product-detail .product-info .tab-content { margin-top: 16px !important; }
.product-detail .product-info + .mt-60 { margin-top: 28px !important; }

/* Product detail order: name, SKU, category, price, buy box, share, rating, trust badges */
.product-detail .detail-info > .title-detail { order: 1; }
.product-detail .detail-info > .ps-product-meta { order: 2; margin-bottom: 8px; }
.product-detail .detail-info > .ps-sold-by { order: 3; }
.product-detail .detail-info > .product-price-cover { order: 4; }
.product-detail .detail-info > .add-to-cart-form { order: 5; }
.product-detail .detail-info > .ps-share { order: 6; }
.product-detail .detail-info > .product-detail-rating { order: 7; margin: 0 0 12px; }
.product-detail .detail-info > .ps-trust-row { order: 8; }

/* Wishlisted state (product page + cards): visible filled heart instead of white-on-white */
.action-btn.wis_added,
.product-detail .product-extra-link2 .action-btn.wis_added {
    background: #fff1f1 !important;
    border-color: #e5484d !important;
    color: #e5484d !important;
}
.action-btn.wis_added i { color: #e5484d !important; }
.action-btn.wis_added i::before { font-weight: 900; }

/* Product detail: lighter Variant / Quantity labels */
.product-detail .attribute-name,
.product-detail .ps-qty-label,
.product-detail .add-to-cart-form > div:not([class]) label {
    font-weight: 500 !important;
}

/* Order: ... buy box, rating, share, trust badges; tighter gap before the badges */
.product-detail .detail-info > .product-detail-rating { order: 6; margin: 0 0 10px; }
.product-detail .detail-info > .ps-share { order: 7; margin-bottom: 0 !important; }
.product-detail .detail-info > .ps-trust-row { order: 8; margin-top: 8px; }

/* Product detail polish */
.product-detail .detail-info .product-price .current-price { color: var(--ps-green); font-size: 30px; font-weight: 700; }
.product-detail .detail-info .product-price .old-price { font-size: 16px; }
.product-detail .detail-info .title-detail { line-height: 1.25; margin-bottom: 6px; }
.product-detail .detail-info > .ps-product-meta { border-bottom: 1px solid #eef0ee; margin-bottom: 12px; padding-bottom: 10px; }

/* availability as a small pill */
.product-detail .add-to-cart-form > div[style*="margin-bottom: 20px"] {
    align-items: center;
    display: flex;
    gap: 8px;
    margin-bottom: 14px !important;
}
.product-detail .add-to-cart-form > div[style*="margin-bottom: 20px"] label {
    color: #6b6b76;
    font-size: 14px;
    font-weight: 500;
    margin: 0 !important;
}
.product-detail .number-items-available > span {
    background: #eaf6ef;
    border-radius: 999px;
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    padding: 3px 12px;
}
.product-detail .number-items-available > span.text-danger { background: #fdecec; }

/* rating row: compact, muted */
.product-detail .detail-info > .product-detail-rating .font-small { font-size: 13px; }
.product-detail .detail-info > .ps-share { border-top: 1px solid #eef0ee; padding-top: 12px !important; }

.product-detail .ps-save-line {
    clear: both;
    color: var(--ps-green);
    font-family: var(--font-text);
    font-size: 14px;
    font-weight: 500;
    padding-top: 4px;
}

/* Availability only when the product is NOT available (in-stock message hidden, also after variant switch) */
.product-detail .ps-availability:has(.text-success) { display: none !important; }
.product-detail .ps-availability { margin-bottom: 10px !important; }

/* slightly tighter price / rating rows */
.product-detail .detail-info .product-price-cover { margin-bottom: 6px !important; }
.product-detail .detail-info > .product-detail-rating { margin: 0 0 6px; }
.product-detail .detail-info > .product-detail-rating .product-rate-cover { line-height: 1.2; }
.product-detail .detail-info > .product-detail-rating:empty,
.product-detail .detail-info > .product-detail-rating:not(:has(*)) { display: none; }
.product-detail .detail-info > .ps-trust-row { margin-top: 20px; }

/* Product detail, mobile: full quantity stepper, no savings line, no trust badges */
@media (max-width: 767px) {
    .product-detail .detail-extralink .detail-qty {
        display: inline-flex !important;
        width: 132px !important;
    }
    .product-detail .detail-extralink .detail-qty .qty-val,
    .product-detail .detail-extralink .detail-qty input.qty-input {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        width: 44px !important;
    }
    .product-detail .ps-save-line,
    .product-detail .detail-info > .ps-trust-row { display: none !important; }
}
@media (max-width: 767px) {
    .product-detail .detail-info .detail-extralink .detail-qty { max-width: none !important; min-width: 132px !important; width: 132px !important; }
}

/* Share title matches Variant / Quantity labels; Description and Reviews tabs share one weight */
.product-detail .detail-info > .ps-share .ps-share-title { font-weight: 500 !important; }
.product-detail .product-info .nav-tabs .nav-link,
.product-detail .product-info .nav-tabs .nav-link.active { font-weight: 500 !important; }

/* ==========================================================================
   Checkout page polish (brand fonts, calmer cards, clearer totals)
   ========================================================================== */
body.checkout-page { --font-text: 'Poppins', sans-serif; --font-heading: 'Lora', serif; font-family: var(--font-text); color: #4b4b57; }
body.checkout-page .checkout-logo img { height: 56px; max-width: 100%; object-fit: contain; width: auto; }
body.checkout-page .checkout-logo + hr { border-color: #e6ece8 !important; opacity: 1; }
body.checkout-page h5.checkout-shipping-information-title,
body.checkout-page h5.checkout-payment-title,
body.checkout-page .checkout-content-wrap h5 {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 14px;
}
body.checkout-page .form-label,
body.checkout-page label { color: #4b4b57; font-size: 14px; font-weight: 500; }
body.checkout-page .form-control,
body.checkout-page .form-select,
body.checkout-page textarea { border-color: #dfe3df; font-family: var(--font-text); font-size: 15px; min-height: 46px; }

/* saved address card */
body.checkout-page .customer-address-payment-form .list-customer-address ~ *,
body.checkout-page .customer-address-payment-form [class*="address"] { font-size: 14px; }
body.checkout-page .checkout-content-wrap [style*="dashed"],
body.checkout-page .checkout-content-wrap .border-dashed {
    background: #f4faf6;
    border-color: #b9dcc7 !important;
    border-radius: 12px !important;
}

/* order summary column */
body.checkout-page .checkout-content-wrap .bg-light,
body.checkout-page .checkout-content-wrap .order-summary,
body.checkout-page .checkout-products-marketplace { border-radius: 14px; }
body.checkout-page .checkout-products-marketplace > .bg-light { background: #f6f8f6 !important; }
body.checkout-page .checkout-products-marketplace .p-2.bg-light,
body.checkout-page .checkout-products-marketplace .p-2 { background: #fdf3df; border-radius: 10px; }
body.checkout-page .checkout-products-marketplace .fw-bold,
body.checkout-page .checkout-content-wrap .text-end .fw-bold { color: #2E2A39; }

/* payment method + shipping option rows */
body.checkout-page .list-group-item,
body.checkout-page .payment-method-item,
body.checkout-page .form-check.border,
body.checkout-page .shipping-method-wrapper .border {
    border-color: #dfe3df !important;
    border-radius: 12px !important;
}
body.checkout-page .list-group-item:has(input:checked),
body.checkout-page .payment-method-item:has(input:checked) {
    background: #f4faf6;
    border-color: #008B46 !important;
}
body.checkout-page .payment-checkout-btn { font-size: 16px; padding: 13px 18px; }
body.checkout-page a { color: #008B46; }

/* ==========================================================================
   Product page: Reviews tab
   ========================================================================== */
.product-detail #Reviews .product-review-container {
    gap: 20px !important;
    max-width: 820px;
}
.product-detail #Reviews .row > .col-12,
.product-detail #Reviews .row > [class*="col-md-8"] {
    background: #fff;
    border: 1px solid #e3ebe6;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(23, 60, 40, .05);
    padding: 22px 24px;
}
.product-detail #Reviews h4 {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 6px;
}
.product-detail #Reviews h4 + p,
.product-detail #Reviews .row p {
    color: #6b6b76;
    font-family: var(--font-text);
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 16px;
}
.product-detail #Reviews .text-danger { color: #c0392b !important; }
.product-detail #Reviews .form-label {
    color: #2E2A39;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 6px;
}
.product-detail #Reviews .form-label.required { color: #2E2A39 !important; }
.product-detail #Reviews .form-label.required::after { color: #e5484d; }
.product-detail #Reviews .form-rating-stars label {
    cursor: pointer;
    line-height: 1;
    padding: 0 1px;
}
.product-detail #Reviews .form-rating-stars svg { height: 26px; width: 26px; }
.product-detail #Reviews textarea.form-control {
    background: #fbfcfb;
    border: 1.5px solid #dfe3df;
    border-radius: 12px;
    font-family: var(--font-text);
    font-size: 15px;
    min-height: 120px;
    padding: 12px 14px;
    resize: vertical;
}
.product-detail #Reviews textarea.form-control:focus {
    background: #fff;
    border-color: var(--ps-green);
    box-shadow: 0 0 0 3px rgba(0, 139, 70, .14);
}
.product-detail #Reviews .image-upload__uploader {
    border-color: #b9dcc7;
    border-radius: 12px;
    color: var(--ps-green);
}
.product-detail #Reviews .image-upload-info.alert {
    background: #f4faf6;
    border: 1px solid #d8eee0;
    border-radius: 10px;
    color: #4b4b57;
    font-family: var(--font-text);
    margin: 12px 0 16px;
}
.product-detail #Reviews .btn.btn-primary {
    background: var(--ps-green);
    border: 0;
    border-radius: 50px;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 600;
    padding: 11px 32px;
}
.product-detail #Reviews .btn.btn-primary:hover { background: var(--ps-green-dark); }
.product-detail #Reviews .review-warning-alert {
    background: #fdf6e7;
    border: 1px solid #f3dfb2;
    border-radius: 12px;
    padding: 14px 16px;
}
.product-detail #Reviews > .product-review-container > p.text-muted {
    color: #8a8a94 !important;
    font-family: var(--font-text);
    font-size: 15px;
    margin: 0;
    padding: 6px 0 2px;
}
@media (max-width: 767px) {
    .product-detail #Reviews .row > .col-12,
    .product-detail #Reviews .row > [class*="col-md-8"] { border-radius: 14px; padding: 16px; }
    .product-detail #Reviews h4 { font-size: 20px; }
    .product-detail #Reviews .btn.btn-primary { width: 100%; }
    .product-detail #Reviews textarea.form-control { min-height: 100px; }
}
.product-detail #Reviews p > span.required { display: none; }

/* Reviews: summary card (rating + bars) and "already reviewed" notice */
.product-detail #Reviews .product-review-number {
    background: transparent !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.product-detail #Reviews .product-review-number-title {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 12px;
}
.product-detail #Reviews .product-review-summary {
    align-items: center;
    display: flex !important;
    flex-wrap: nowrap;
    gap: 14px;
    margin-bottom: 16px;
}
.product-detail #Reviews .product-review-summary-value span {
    color: var(--ps-green);
    font-family: var(--font-heading);
    font-size: 44px;
    font-weight: 700;
    line-height: 1;
}
.product-detail #Reviews .product-review-summary-rating { min-width: 0; }
.product-detail #Reviews .product-review-summary-rating .bb-product-rating { display: block; margin: 0 0 4px; }
.product-detail #Reviews .product-review-summary-rating p {
    color: #6b6b76;
    font-family: var(--font-text);
    font-size: 13px;
    margin: 0;
    white-space: nowrap;
}
.product-detail #Reviews .product-review-progress-bar {
    align-items: center;
    display: flex;
    gap: 10px;
    margin-bottom: 8px;
}
.product-detail #Reviews .product-review-progress-bar-title,
.product-detail #Reviews .product-review-progress-bar-percent {
    color: #4b4b57;
    font-family: var(--font-text);
    font-size: 13px;
    white-space: nowrap;
}
.product-detail #Reviews .product-review-progress-bar-title { min-width: 54px; }
.product-detail #Reviews .product-review-progress-bar-percent { min-width: 36px; text-align: right; }
.product-detail #Reviews .product-review-progress-bar-value { background: #eef0ee; border-radius: 99px; flex: 1; height: 8px; }
.product-detail #Reviews .product-review-progress-bar-value .progress-bar { background: #F9A21B; border-radius: 99px; }

.product-detail #Reviews .review-warning-alert { align-items: flex-start; display: flex; gap: 12px; }
.product-detail #Reviews .review-warning-alert .warning-icon { color: #c98a00; flex: none; }
.product-detail #Reviews .review-warning-alert .warning-title {
    color: #5b4300;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 600;
}
.product-detail #Reviews .review-warning-alert .warning-message {
    color: #6b5a2e;
    font-family: var(--font-text);
    font-size: 14px;
    margin-top: 2px;
}
.product-detail #Reviews .review-warning-alert .warning-actions { margin-top: 10px; }
.product-detail #Reviews .review-warning-alert .btn,
.product-detail #Reviews .review-warning-alert .btn-outline-warning {
    background: #fff !important;
    border: 1.5px solid #c98a00 !important;
    border-radius: 50px !important;
    color: #7a5200 !important;
    font-family: var(--font-text);
    font-size: 13px;
    font-weight: 600;
    padding: 6px 16px;
}
.product-detail #Reviews .review-warning-alert .btn:hover { background: #c98a00 !important; color: #fff !important; }
.product-detail #Reviews .review-warning-alert .btn svg { margin-right: 4px; }
.product-detail #Reviews .product-review-summary-rating { flex: none; }
.product-detail #Reviews .product-review-summary-rating .bb-product-rating { flex: none; min-width: var(--bb-rating-size, 80px); width: var(--bb-rating-size, 80px); }
.product-detail #Reviews .product-review-summary-rating .bb-product-rating > span { display: block; }
.product-detail #Reviews .product-review-summary-rating { align-items: flex-start !important; display: flex !important; flex-direction: column !important; gap: 4px; }
.product-detail #Reviews .product-review-summary-rating p { display: block; }

/* Review submit: keep white text on hover / focus / press */
.product-detail #Reviews .btn.btn-primary,
.product-detail #Reviews .btn.btn-primary:hover,
.product-detail #Reviews .btn.btn-primary:focus,
.product-detail #Reviews .btn.btn-primary:active,
.product-detail #Reviews .btn.btn-primary:focus-visible {
    color: #fff !important;
}
.product-detail #Reviews .btn.btn-primary:hover,
.product-detail #Reviews .btn.btn-primary:active { background: var(--ps-green-dark) !important; }
.product-detail #Reviews .btn.btn-primary .btn-loading-text,
.product-detail #Reviews .btn.btn-primary * { color: inherit; }

/* Wishlist heart: stays green on hover (not white), stays red once added */
.product-detail .product-extra-link2 .action-btn:hover,
.product-detail .product-extra-link2 .action-btn:focus { background: #fff !important; color: var(--ps-green) !important; }
.product-detail .product-extra-link2 .action-btn:hover i,
.product-detail .product-extra-link2 .action-btn:hover i::before { color: var(--ps-green) !important; }
.product-detail .product-extra-link2 .action-btn.wis_added:hover { background: #fff1f1 !important; }
.product-detail .product-extra-link2 .action-btn.wis_added:hover i,
.product-detail .product-extra-link2 .action-btn.wis_added:hover i::before { color: #e5484d !important; }

/* Review list: lighter "Your Review" badge */
.product-detail #Reviews .review-item .badge,
.product-detail #Reviews .badge.bg-primary {
    background: #eaf6ef !important;
    border: 1px solid #cfe3d7;
    border-radius: 999px;
    color: var(--ps-green) !important;
    font-family: var(--font-text);
    font-size: 11px;
    font-weight: 500 !important;
    letter-spacing: 0;
    padding: 3px 9px;
    text-transform: none;
}

/* ==========================================================================
   Checkout: second pass (softer numbers, friendlier errors, no coupon box)
   ========================================================================== */
body.checkout-page .checkout-discount-section { display: none !important; }

/* amounts: less heavy */
body.checkout-page .price-text,
body.checkout-page .sub-total-text,
body.checkout-page .tax-price-text,
body.checkout-page .shipping-price-text { font-weight: 500 !important; }
body.checkout-page .total-text,
body.checkout-page .raw-total-text { color: #2E2A39; font-size: 20px !important; font-weight: 600 !important; }
body.checkout-page .checkout-order-info .total-text + *,
body.checkout-page .checkout-order-info p { font-family: var(--font-text); }
body.checkout-page .checkout-order-info .fw-bold,
body.checkout-page .checkout-order-info b,
body.checkout-page .checkout-order-info strong { font-weight: 600 !important; }

/* order summary card */
body.checkout-page .checkout-order-info > div,
body.checkout-page .checkout-order-info .bg-light { border-radius: 16px; }
body.checkout-page .checkout-order-info .mt-3.bg-light { border: 1px solid #e9eeea; box-shadow: 0 6px 20px rgba(23, 60, 40, .05); }

/* helper text under the company-invoice fields */
body.checkout-page .form-text { color: #8a8a94; font-size: 12.5px; line-height: 1.45; margin-top: 4px; }

/* validation messages: small, calm, one line */
body.checkout-page .form-group.has-error .form-control,
body.checkout-page .form-group.has-error .form-select { border-color: #e5484d; }
body.checkout-page .invalid-feedback,
body.checkout-page .form-group .text-danger,
body.checkout-page .form-group .error,
body.checkout-page .form-group span.error-message {
    color: #c0392b !important;
    display: block;
    font-family: var(--font-text);
    font-size: 13px !important;
    font-weight: 500;
    line-height: 1.4;
    margin-top: 5px;
}
body.checkout-page .form-group.has-error .form-text { display: none; }

/* company invoice checkbox row */
body.checkout-page .form-check { align-items: flex-start; display: flex; gap: 8px; padding-left: 0; }
body.checkout-page .form-check .form-check-input { flex: none; margin: 3px 0 0; }
body.checkout-page .form-check-label { font-size: 14px; font-weight: 500; line-height: 1.45; }
body.checkout-page .tax-information-form-wrapper {
    background: #f9fbf9;
    border: 1px solid #e6ece8;
    border-radius: 14px;
    margin-bottom: 8px;
    padding: 16px 16px 4px;
}
/* keep the company-invoice fields visible whenever the box is ticked (also after a validation error) */
body.checkout-page .customer-tax-information-form:has(#with_tax_information:checked) .tax-information-form-wrapper { display: block !important; }
/* show each validation message once */
body.checkout-page .form-group:has(.form-input-wrapper > .invalid-feedback) > .invalid-feedback { display: none !important; }
body.checkout-page .form-input-wrapper > .invalid-feedback { margin-top: 5px; }

/* Checkout: green banner with background image and the logo (full width, like the reference site) */
body.checkout-page .ps-checkout-banner {
    align-items: center;
    background:
        linear-gradient(rgba(0, 107, 54, .86), rgba(0, 139, 70, .78)),
        url('/storage/close-up-hand-farmer-pouring-grain-at-sunset-generative-ai-free-photo-1.jpeg') center / cover no-repeat;
    display: flex;
    height: 130px;
    justify-content: center;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1;
}
body.checkout-page { padding-top: 130px; }
body.checkout-page .checkout-content-wrap { margin-top: 28px !important; }
body.checkout-page .ps-checkout-banner__logo {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    display: inline-flex;
    padding: 8px 22px;
}
body.checkout-page .ps-checkout-banner__logo img { display: block; height: 58px; max-width: 100%; width: auto; }
@media (max-width: 767px) {
    body.checkout-page { padding-top: 100px; }
    body.checkout-page .ps-checkout-banner { height: 100px; }
    body.checkout-page .checkout-content-wrap { margin-top: 20px !important; }
    body.checkout-page .ps-checkout-banner__logo img { height: 48px; }
}

/* Checkout / success buttons: always white text on green (also while processing / disabled) */
body.checkout-page a.btn.payment-checkout-btn,
body.checkout-page a.btn.payment-checkout-btn:hover,
body.checkout-page a.btn.payment-checkout-btn:focus {
    align-items: center;
    background-color: #008B46;
    border: 0;
    border-radius: 50px;
    color: #fff !important;
    display: inline-flex;
    font-family: var(--font-text);
    font-size: 16px;
    font-weight: 600;
    justify-content: center;
    padding: 13px 34px;
    text-decoration: none;
}
body.checkout-page a.btn.payment-checkout-btn:hover { background-color: #006B36; }

body.checkout-page .payment-checkout-btn,
body.checkout-page .payment-checkout-btn:disabled,
body.checkout-page .payment-checkout-btn.disabled,
body.checkout-page .payment-checkout-btn[disabled],
body.checkout-page .payment-checkout-btn.btn-loading,
body.checkout-page .payment-checkout-btn.button-loading {
    color: #fff !important;
}
body.checkout-page .payment-checkout-btn:disabled,
body.checkout-page .payment-checkout-btn.disabled,
body.checkout-page .payment-checkout-btn[disabled],
body.checkout-page .payment-checkout-btn.btn-loading,
body.checkout-page .payment-checkout-btn.button-loading {
    background-color: #008B46 !important;
    border-color: #008B46 !important;
    cursor: progress;
    opacity: .85 !important;
}
body.checkout-page .payment-checkout-btn:disabled *,
body.checkout-page .payment-checkout-btn.btn-loading * { color: #fff !important; }
body.checkout-page .payment-checkout-btn .spinner-border,
body.checkout-page .payment-checkout-btn .spinner-grow,
body.checkout-page .payment-checkout-btn [class*="spinner"] { border-color: #fff; border-right-color: transparent; color: #fff !important; }
body.checkout-page .payment-checkout-btn::before,
body.checkout-page .payment-checkout-btn::after { border-color: #fff !important; border-top-color: transparent !important; }

/* ==========================================================================
   Order success page
   ========================================================================== */
body.checkout-page .thank-you {
    align-items: center;
    background: #f4faf6;
    border: 1px solid #d8eee0;
    border-radius: 16px;
    display: flex;
    gap: 16px;
    margin: 0 0 24px;
    padding: 18px 20px;
}
body.checkout-page .thank-you > svg,
body.checkout-page .thank-you .icon {
    color: #008B46 !important;
    flex: none;
    height: 56px !important;
    width: 56px !important;
}
body.checkout-page .thank-you .thank-you-sentence {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.25;
    margin: 0 0 4px;
}
body.checkout-page .thank-you p { color: #6b6b76; font-size: 15px; margin: 0; }

body.checkout-page .order-customer-info {
    background: #fff;
    border: 1px solid #e3ebe6;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(23, 60, 40, .05);
    margin-bottom: 24px;
    padding: 20px 22px 12px;
}
body.checkout-page .order-customer-info > h3 {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 12px;
}
body.checkout-page .order-customer-info p {
    align-items: baseline;
    border-top: 1px solid #eef2ef;
    color: #6b6b76;
    display: flex;
    font-size: 14px;
    gap: 10px;
    justify-content: space-between;
    margin: 0;
    padding: 10px 0;
}
body.checkout-page .order-customer-info p:first-of-type { border-top: 0; }
body.checkout-page .order-customer-info p > span:first-child { flex: none; }
body.checkout-page .order-customer-info-meta {
    color: #2E2A39 !important;
    font-weight: 500;
    text-align: right;
}

/* order summary card */
body.checkout-page .ps-order-summary-col > .bg-light {
    background: #fff !important;
    border: 1px solid #e3ebe6;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(23, 60, 40, .05);
    padding: 20px !important;
}
body.checkout-page .ps-order-summary-col h5,
body.checkout-page .ps-order-summary-col h4,
body.checkout-page .ps-order-summary-col h3,
body.checkout-page .ps-order-summary-col .fw-bold:first-child {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 19px;
    font-weight: 600;
}
body.checkout-page .ps-order-summary-col .fw-bold,
body.checkout-page .ps-order-summary-col strong,
body.checkout-page .ps-order-summary-col b { font-weight: 500 !important; }
body.checkout-page .ps-order-summary-col p,
body.checkout-page .ps-order-summary-col .text-end { font-size: 14px; }
body.checkout-page .ps-order-summary-col .total-text,
body.checkout-page .ps-order-summary-col .raw-total-text { font-size: 20px !important; font-weight: 600 !important; }
body.checkout-page .ps-order-summary-col hr { border-color: #eef2ef; opacity: 1; }

/* continue shopping button */
body.checkout-page .col-lg-7 > a.btn.payment-checkout-btn { margin-top: 4px; min-width: 220px; }
@media (max-width: 767px) {
    body.checkout-page .thank-you { flex-direction: row; padding: 14px 16px; }
    body.checkout-page .thank-you .thank-you-sentence { font-size: 20px; }
    body.checkout-page .thank-you > svg { height: 44px !important; width: 44px !important; }
    body.checkout-page .col-lg-7 > a.btn.payment-checkout-btn { display: flex; width: 100%; }
}
body.checkout-page a.btn.payment-checkout-btn,
body.checkout-page a.btn.payment-checkout-btn:hover,
body.checkout-page a.btn.payment-checkout-btn:focus { font-size: 15px; font-weight: 500; }

/* Customer information: values sit right after their labels, left aligned */
body.checkout-page .order-customer-info p {
    flex-wrap: wrap;
    gap: 4px 10px;
    justify-content: flex-start;
}
body.checkout-page .order-customer-info p > span:first-child { min-width: 130px; }
body.checkout-page .order-customer-info-meta { text-align: left; }
@media (max-width: 575px) {
    body.checkout-page .order-customer-info p > span:first-child { min-width: 0; }
}
body.checkout-page .order-customer-info [data-bb-target="ecommerce-order-payment-status"],
body.checkout-page .order-customer-info [data-bb-target="ecommerce-order-payment-status"] * {
    font-size: 12px;
    font-weight: 500 !important;
    letter-spacing: 0;
}

/* Checkout: saved-address name and account name less heavy */
body.checkout-page .address-item .name,
body.checkout-page .address-item p.name { font-weight: 500 !important; }
body.checkout-page .customer-address-payment-form strong,
body.checkout-page .checkout-content-wrap p > strong { font-weight: 500 !important; }

/* Checkout summary: no store logo inside, bordered card with shadow */
body.checkout-page .checkout-order-info .cart-item-wrapper > .bg-light .p-2 { padding-left: 12px !important; }
body.checkout-page .checkout-order-info > .my-3.bg-light {
    background: #fff !important;
    border: 1px solid #dfe8e2;
    border-radius: 16px;
    box-shadow: 0 8px 26px rgba(23, 60, 40, .08);
    overflow: hidden;
}
body.checkout-page .checkout-order-info .cart-item-wrapper > .bg-light {
    background: #f4faf6 !important;
    border-radius: 10px;
}
body.checkout-page .checkout-order-info .checkout-products-marketplace .bg-light .p-2 > img.img-fluid { display: none !important; }
body.checkout-page .checkout-order-info .checkout-products-marketplace > .bg-light .p-2 { padding-left: 12px !important; }
body.checkout-page .checkout-order-info .cart-item-wrapper > .bg-light.py-2 {
    background: transparent !important;
    border-radius: 0;
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 19px;
    font-weight: 600;
    padding: 0 0 6px !important;
}
/* Checkout summary: hide the store-name row ("PS Mart") only */
body.checkout-page .checkout-order-info .checkout-products-marketplace > .bg-light > .p-2 { display: none !important; }
body.checkout-page .checkout-order-info .checkout-products-marketplace > .bg-light { background: transparent !important; margin-top: 0 !important; }

/* Checkout summary: breathing room inside the product / shipping container */
body.checkout-page .checkout-order-info .checkout-products-marketplace > .bg-light {
    background: #fbfcfb !important;
    border: 1px solid #e6ece8;
    border-radius: 14px;
    margin-bottom: 14px !important;
    padding: 16px 18px 6px !important;
}
body.checkout-page .checkout-order-info .checkout-products-marketplace .cart-item { padding: 0; }
body.checkout-page .checkout-order-info .checkout-products-marketplace > .bg-light > .py-3 { padding: 4px 0 14px !important; }
body.checkout-page .checkout-order-info .shipping-method-wrapper.py-3 { padding: 14px 0 12px !important; }
body.checkout-page .checkout-order-info .shipping-method-wrapper h6 { margin-bottom: 10px; }
body.checkout-page .checkout-order-info .checkout-products-marketplace > .bg-light > hr { display: none; }
body.checkout-page .checkout-order-info .cart-item-wrapper { padding: 18px !important; }
body.checkout-page .checkout-order-info .cart-item-wrapper > .bg-light.py-2 { font-size: 18px; font-weight: 500 !important; }

/* Checkout: outlined "Back to cart" button */
body.checkout-page a.back-to-cart-btn {
    align-items: center;
    background: #fff;
    border: 1.5px solid #008B46;
    border-radius: 50px;
    color: #008B46;
    display: inline-flex;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 500;
    gap: 8px;
    justify-content: center;
    min-height: 48px;
    padding: 0 26px;
    text-decoration: none;
    transition: background .2s, color .2s;
}
body.checkout-page a.back-to-cart-btn:hover { background: #008B46; color: #fff; }
body.checkout-page a.back-to-cart-btn .back-to-cart-text { text-decoration: none; }
body.checkout-page a.back-to-cart-btn svg { flex: none; height: 20px; width: 20px; }
@media (max-width: 575px) {
    body.checkout-page a.back-to-cart-btn { padding: 0 18px; }
}

/* Checkout: no circular progress overlay when quantity changes (shipping / payment areas) */
body.checkout-page .payment-info-loading,
body.checkout-page .payment-info-loading.loading-spinner,
body.checkout-page .payment-info-loading::after { display: none !important; }
body.checkout-page a.back-to-cart-btn:hover,
body.checkout-page a.back-to-cart-btn:focus,
body.checkout-page a.back-to-cart-btn:active { background: #008B46 !important; border-color: #008B46 !important; color: #fff !important; }
body.checkout-page a.back-to-cart-btn:hover *,
body.checkout-page a.back-to-cart-btn:focus * { color: #fff !important; }

/* Checkout: main Checkout button, matches the outlined Back to cart button */
body.checkout-page button.payment-checkout-btn {
    align-items: center;
    background: #008B46;
    border: 1.5px solid #008B46;
    border-radius: 50px;
    box-shadow: 0 8px 20px rgba(0, 139, 70, .24);
    color: #fff !important;
    display: inline-flex;
    font-family: var(--font-text);
    font-size: 16px !important;
    font-weight: 500 !important;
    gap: 8px;
    justify-content: center;
    letter-spacing: .2px;
    min-height: 48px !important;
    min-width: 180px;
    padding: 0 34px;
    transition: background .2s, box-shadow .2s, transform .15s;
}
body.checkout-page button.payment-checkout-btn:hover:not(:disabled) {
    background: #006B36;
    border-color: #006B36;
    box-shadow: 0 10px 24px rgba(0, 107, 54, .3);
    transform: translateY(-1px);
}
body.checkout-page button.payment-checkout-btn:active:not(:disabled) { box-shadow: 0 4px 10px rgba(0, 107, 54, .25); transform: translateY(0); }
body.checkout-page button.payment-checkout-btn:disabled { box-shadow: none; transform: none; }
@media (max-width: 575px) {
    body.checkout-page button.payment-checkout-btn { min-width: 0; padding: 0 22px; }
}
body.checkout-page button.payment-checkout-btn { font-size: 15px !important; font-weight: 400 !important; letter-spacing: .3px; }
@media (max-width: 767px) {
    body.checkout-page a.back-to-cart-btn { display: flex; width: 100%; }
    body.checkout-page button.payment-checkout-btn { width: 100% !important; }
}

/* Checkout summary, mobile copy (rendered inside the left column): same look as the desktop card */
body.checkout-page .form-checkout > .my-3.bg-light {
    background: #fff !important;
    border: 1px solid #dfe8e2;
    border-radius: 16px;
    box-shadow: 0 8px 26px rgba(23, 60, 40, .08);
    overflow: hidden;
}
body.checkout-page .form-checkout .cart-item-wrapper { padding: 18px !important; }
body.checkout-page .form-checkout .cart-item-wrapper > .bg-light.py-2 {
    background: transparent !important;
    border-radius: 0;
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 500 !important;
    padding: 0 0 6px !important;
}
body.checkout-page .form-checkout .checkout-products-marketplace > .bg-light {
    background: #fbfcfb !important;
    border: 1px solid #e6ece8;
    border-radius: 14px;
    margin-bottom: 14px !important;
    margin-top: 0 !important;
    padding: 16px 18px 6px !important;
}
body.checkout-page .form-checkout .checkout-products-marketplace > .bg-light > .p-2 { display: none !important; }
body.checkout-page .form-checkout .checkout-products-marketplace > .bg-light > .py-3 { padding: 4px 0 14px !important; }
body.checkout-page .form-checkout .shipping-method-wrapper.py-3 { padding: 14px 0 12px !important; }
body.checkout-page .form-checkout .shipping-method-wrapper h6 { margin-bottom: 10px; }
body.checkout-page .form-checkout .checkout-products-marketplace > .bg-light > hr { display: none; }
body.checkout-page .form-checkout .cart-item { padding: 0; }

/* Customer information on phones: tidy two-column rows (label | value), values line up */
@media (max-width: 575px) {
    body.checkout-page .order-customer-info p {
        align-items: start;
        display: grid;
        gap: 4px 12px;
        grid-template-columns: 128px 1fr;
    }
    body.checkout-page .order-customer-info p > span:first-child { min-width: 0; }
    body.checkout-page .order-customer-info-meta { min-width: 0; overflow-wrap: anywhere; text-align: left; }
}

/* Mobile search sheet (opened from the bottom bar "Search") */
.ps-mobile-search { display: none; }
@media (max-width: 768px) {
    .ps-mobile-search {
        background: rgba(20, 30, 24, .45);
        display: block;
        inset: 0;
        opacity: 0;
        pointer-events: none;
        position: fixed;
        transition: opacity .18s ease;
        z-index: 2000;
    }
    .ps-mobile-search.is-open { opacity: 1; pointer-events: auto; }
    .ps-mobile-search__form {
        align-items: center;
        background: #fff;
        border-bottom: 3px solid var(--ps-green);
        box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
        display: flex;
        gap: 8px;
        padding: 14px 12px;
        transform: translateY(-100%);
        transition: transform .2s ease;
    }
    .ps-mobile-search.is-open .ps-mobile-search__form { transform: translateY(0); }
    .ps-mobile-search__icon { color: var(--ps-green); display: inline-flex; flex: none; }
    .ps-mobile-search__icon svg { height: 22px; width: 22px; }
    .ps-mobile-search input[type="search"] {
        -webkit-appearance: none;
        background: #f6f8f6;
        border: 1.5px solid #dfe3df;
        border-radius: 50px;
        color: #2E2A39;
        flex: 1;
        font-family: var(--font-text);
        font-size: 16px;
        height: 44px;
        min-width: 0;
        outline: none;
        padding: 0 16px;
    }
    .ps-mobile-search input[type="search"]:focus { background: #fff; border-color: var(--ps-green); box-shadow: 0 0 0 3px rgba(0, 139, 70, .14); }
    .ps-mobile-search__go {
        background: var(--ps-green);
        border: 0;
        border-radius: 50px;
        color: #fff;
        flex: none;
        font-family: var(--font-text);
        font-size: 14px;
        font-weight: 500;
        height: 44px;
        padding: 0 16px;
    }
    .ps-mobile-search__close {
        background: transparent;
        border: 0;
        color: #6b6b76;
        flex: none;
        font-size: 28px;
        height: 44px;
        line-height: 1;
        width: 34px;
    }
}
@media (max-width: 768px) {
    .ps-mobile-search .ps-mobile-search__form input[type="search"] { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; }
    .ps-mobile-search .ps-mobile-search__go { flex: none !important; font-size: 13px !important; height: 44px !important; line-height: 44px !important; margin: 0 !important; padding: 0 14px !important; width: auto !important; }
    .ps-mobile-search .ps-mobile-search__form > * { margin: 0; }
}

/* Home page: tight vertical rhythm between slider, Category and product sections (5px) */
.ck-content:has(> section.home-slider) > p {
    font-size: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    padding: 0 !important;
}
.ck-content > section.home-slider { margin-bottom: 5px !important; margin-top: 5px !important; }
.ck-content > section.home-slider .home-slide-cover { margin-top: 0 !important; }
.ck-content:has(> section.home-slider) > section.popular-categories.section-padding,
.ck-content:has(> section.home-slider) > section.product-tabs.section-padding {
    padding-bottom: 5px !important;
    padding-top: 5px !important;
}

/* Home page: a little more air so sections do not look joined */
.ck-content > section.home-slider { margin-bottom: 18px !important; }
.ck-content:has(> section.home-slider) > section.popular-categories.section-padding,
.ck-content:has(> section.home-slider) > section.product-tabs.section-padding {
    padding-bottom: 12px !important;
    padding-top: 12px !important;
}

/* Home page: one consistent rhythm between all sections (Category, Suggested, Why choose, next product block) */
.ck-content:has(> section.home-slider) > section.popular-categories.section-padding,
.ck-content:has(> section.home-slider) > section.product-tabs.section-padding {
    padding-bottom: 20px !important;
    padding-top: 20px !important;
}
.ck-content:has(> section.home-slider) > section.ps-why-choose { margin-bottom: 20px !important; margin-top: 20px !important; }
.ck-content:has(> section.home-slider) > section .section-title { margin-bottom: 28px !important; }
.ck-content:has(> section.home-slider) > section.popular-categories .section-title,
.ck-content:has(> section.home-slider) > section.product-tabs .section-title { margin-top: 0 !important; padding-top: 0 !important; }

/* ==========================================================================
   Mobile menu (drawer): cleaner list, chevrons, card for account links, social row
   ========================================================================== */
.mobile-header-active .mobile-header-top { border-bottom: 1px solid #e6ece8; padding: 12px 18px !important; }
.mobile-header-active .mobile-header-content-area {
    background: #f6f9f7 !important;
    padding: 6px 16px 24px !important;
}
.mobile-header-active .mobile-menu-wrap { border: 0 !important; margin: 0 0 14px !important; padding: 0 !important; }

.mobile-header-active .mobile-menu > li {
    background: transparent !important;
    border-bottom: 1px solid #e3ebe6 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
}
.mobile-header-active .mobile-menu > li > a {
    align-items: center;
    color: #2E2A39 !important;
    display: flex !important;
    font-family: var(--font-text);
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.3;
    min-height: 54px;
    padding: 0 48px 0 4px !important;
}
.mobile-header-active .mobile-menu > li > a:active,
.mobile-header-active .mobile-menu > li.active > a { color: var(--ps-green) !important; }

/* expand arrow: plain chevron on the right instead of the green circle */
.mobile-header-active .mobile-menu > li > .menu-expand {
    align-items: center;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #6b6b76 !important;
    display: flex !important;
    height: 54px !important;
    justify-content: center;
    line-height: 1 !important;
    padding: 0 !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    width: 44px !important;
}
.mobile-header-active .mobile-menu > li > .menu-expand i { color: #6b6b76 !important; font-size: 16px !important; transition: transform .2s ease; }
.mobile-header-active .mobile-menu > li.active > .menu-expand { background: transparent !important; }
.mobile-header-active .mobile-menu > li.active > .menu-expand i { color: var(--ps-green) !important; transform: rotate(180deg); }

/* sub menu */
.mobile-header-active .mobile-menu li ul.dropdown,
.mobile-header-active .mobile-menu li ul.sub-menu {
    background: #fff !important;
    border: 1px solid #e3ebe6;
    border-radius: 12px;
    margin: 2px 0 12px !important;
    padding: 4px 14px !important;
}
.mobile-header-active .mobile-menu li ul li { border-bottom: 1px solid #eef2ef !important; padding: 0 !important; }
.mobile-header-active .mobile-menu li ul li:last-child { border-bottom: 0 !important; }
.mobile-header-active .mobile-menu li ul li > a {
    align-items: center;
    color: #4b4b57 !important;
    display: flex !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    min-height: 46px;
    padding: 0 !important;
}

/* account / help links card */
.mobile-header-active .mobile-header-info-wrap {
    background: #fff !important;
    border: 1px solid #e3ebe6 !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 14px rgba(23, 60, 40, .05);
    margin: 0 0 18px !important;
    padding: 4px 14px !important;
}

/* social + copyright */
.mobile-header-active .mobile-social-icon { margin: 0 0 12px !important; text-align: center; }
.mobile-header-active .mobile-social-icon p,
.mobile-header-active .mobile-social-icon .h6 { color: #6b6b76 !important; font-size: 13px !important; font-weight: 500 !important; margin-bottom: 10px !important; }
.mobile-header-active .mobile-social-icon a {
    align-items: center;
    background: var(--ps-green) !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    height: 40px !important;
    justify-content: center;
    margin: 0 5px !important;
    width: 40px !important;
}
.mobile-header-active .mobile-social-icon a img { filter: brightness(0) invert(1); }
.mobile-header-active .site-copyright { color: #8a8a94 !important; font-size: 12px !important; text-align: center; }

/* Mobile search sheet, v2: light bar, input with the search icon inside, close on the right */
@media (max-width: 768px) {
    .ps-mobile-search { background: rgba(20, 30, 24, .28); }
    .ps-mobile-search .ps-mobile-search__form {
        background: #f6f9f7;
        border-bottom: 1px solid #e3ebe6;
        box-shadow: 0 8px 22px rgba(0, 0, 0, .12);
        gap: 6px;
        padding: 14px 12px 14px 16px;
    }
    .ps-mobile-search__field { flex: 1 1 0; min-width: 0; position: relative; }
    .ps-mobile-search .ps-mobile-search__field input[type="search"] {
        background: #fff;
        border: 1.5px solid #cfe3d7;
        border-radius: 12px;
        font-size: 16px;
        height: 48px;
        padding: 0 50px 0 16px;
        width: 100% !important;
    }
    .ps-mobile-search .ps-mobile-search__field input[type="search"]::-webkit-search-cancel-button { display: none; }
    .ps-mobile-search .ps-mobile-search__go {
        align-items: center;
        background: transparent !important;
        border: 0;
        color: var(--ps-green) !important;
        display: flex;
        font-size: 0 !important;
        height: 48px !important;
        justify-content: center;
        padding: 0 !important;
        position: absolute;
        right: 2px;
        top: 0;
        width: 46px !important;
    }
    .ps-mobile-search .ps-mobile-search__go svg { height: 22px; width: 22px; }
    .ps-mobile-search .ps-mobile-search__close { color: #4b4b57; font-size: 30px; height: 48px; width: 40px; }
}

/* Predictive search suggestions (mobile sheet + desktop header) */
form.form--quick-search .panel--search-result { display: none !important; }
.ps-suggest[hidden] { display: none !important; }
.ps-suggest {
    background: #fff;
    color: #2E2A39;
    font-family: var(--font-text);
    text-align: left;
}
.ps-suggest__title {
    color: #8a8a94;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .12em;
    margin: 14px 18px 6px;
    text-transform: uppercase;
}
.ps-suggest__title + .ps-suggest__row,
.ps-suggest__title + .ps-suggest__product { border-top: 1px solid #eef2ef; }
.ps-suggest__row {
    color: #2E2A39;
    display: block;
    font-size: 16px;
    padding: 10px 18px;
    text-decoration: none;
}
.ps-suggest__row:hover, .ps-suggest__product:hover, .ps-suggest__all:hover { background: #f4faf6; }
.ps-suggest__name b { font-weight: 600; }
.ps-suggest__match { color: #6b6b76; font-weight: 400; }
.ps-suggest__product {
    align-items: center;
    color: #2E2A39;
    display: flex;
    gap: 14px;
    padding: 9px 18px;
    text-decoration: none;
}
.ps-suggest__product img { border-radius: 8px; flex: none; height: 60px; object-fit: cover; width: 48px; }
.ps-suggest__info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ps-suggest__pname { font-size: 15px; font-weight: 500; line-height: 1.3; }
.ps-suggest__price { color: var(--ps-green); font-size: 14px; font-weight: 500; }
.ps-suggest__price s { color: #9a9aa4; font-weight: 400; margin-right: 8px; }
.ps-suggest__all {
    align-items: center;
    border-top: 1px solid #eef2ef;
    color: #2E2A39;
    display: flex;
    font-size: 15px;
    font-weight: 500;
    justify-content: space-between;
    margin-top: 10px;
    padding: 14px 18px;
    text-decoration: none;
}
.ps-suggest__arrow { color: var(--ps-green); font-size: 18px; }
.ps-suggest__empty { color: #6b6b76; font-size: 14px; padding: 18px; }

/* desktop dropdown under the header search */
.ps-suggest--drop {
    border: 1px solid #dfe8e2;
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(23, 60, 40, .16);
    left: 0;
    max-height: 72vh;
    overflow-y: auto;
    padding-bottom: 4px;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 1200;
}
/* mobile sheet: list under the search bar */
@media (max-width: 768px) {
    .ps-mobile-search { overflow-y: auto; }
    .ps-suggest--sheet { max-height: calc(100vh - 82px); overflow-y: auto; }
}
@media (min-width: 769px) { .ps-suggest--sheet { display: none !important; } }

/* ==========================================================================
   Products / category page: filter panel (one clean card, aligned actions)
   ========================================================================== */
form.products-filter-ajax {
    background: #fff;
    border: 1px solid #e3ebe6;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(23, 60, 40, .06);
    margin: 10px 0 18px !important;
    padding: 18px 18px 20px !important;
}
form.products-filter-ajax .shop-product-filter-header {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
form.products-filter-ajax .shop-product-filter-header > .row { margin: 0; row-gap: 18px; }
form.products-filter-ajax .shop-product-filter-header > .row > [class*="col-"] { padding: 0; }
form.products-filter-ajax .widget__title {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 10px !important;
}
form.products-filter-ajax .custome-checkbox label,
form.products-filter-ajax .custome-checkbox .form-check-label { font-family: var(--font-text); font-size: 15px; font-weight: 400; }
form.products-filter-ajax .price-filter { margin: 4px 0 0; }
form.products-filter-ajax .price-filter .price-filter-inner,
form.products-filter-ajax .price-filter .caption { font-family: var(--font-text); font-size: 14px; font-weight: 500; }
form.products-filter-ajax .price-filter .caption strong,
form.products-filter-ajax .price-filter .caption b { font-weight: 500 !important; }

form.products-filter-ajax .show-advanced-filters {
    align-items: center;
    color: var(--ps-green);
    display: inline-flex;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 500;
    gap: 6px;
    margin: 16px 0 6px;
}
form.products-filter-ajax .advanced-search-widgets { margin-top: 6px; }

form.products-filter-ajax .widget {
    align-items: stretch;
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    margin: 16px 0 0 !important;
    padding: 0 !important;
}
form.products-filter-ajax .widget > button.btn,
form.products-filter-ajax .widget > .clear_filter {
    align-items: center;
    border-radius: 50px !important;
    display: inline-flex !important;
    flex: 1 1 0;
    font-family: var(--font-text);
    font-size: 15px !important;
    font-weight: 500 !important;
    gap: 6px;
    height: 46px;
    justify-content: center;
    line-height: 1;
    margin: 0 !important;
    min-width: 0;
    padding: 0 16px !important;
    text-align: center;
    white-space: nowrap;
}
form.products-filter-ajax .widget > button.btn {
    background: var(--ps-green) !important;
    border: 1.5px solid var(--ps-green) !important;
    color: #fff !important;
}
form.products-filter-ajax .widget > button.btn i { color: #fff !important; }
form.products-filter-ajax .widget > .clear_filter {
    background: #fff !important;
    border: 1.5px solid #dfe3df !important;
    color: #4b4b57 !important;
}
form.products-filter-ajax .widget > .clear_filter:hover { border-color: #c0392b !important; color: #c0392b !important; }
form.products-filter-ajax .widget > button.btn i,
form.products-filter-ajax .widget > .clear_filter i { margin: 0 !important; }
@media (min-width: 768px) {
    form.products-filter-ajax .widget { justify-content: flex-start; }
    form.products-filter-ajax .widget > button.btn,
    form.products-filter-ajax .widget > .clear_filter { flex: 0 0 auto; min-width: 160px; padding: 0 28px !important; }
}
form.products-filter-ajax .shop-product-filter-header > .row > [class*="col-"] { margin: 0 !important; min-height: 0 !important; }
form.products-filter-ajax .custome-checkbox { margin: 0 !important; padding: 0 !important; }
form.products-filter-ajax .shop-product-filter-header > .row { row-gap: 14px; }
form.products-filter-ajax .price-filter { margin-bottom: 0; }
form.products-filter-ajax .price-filter .caption, form.products-filter-ajax .price-filter .price-filter-inner { margin-bottom: 0 !important; }

/* ==========================================================================
   Customer overview v2: green welcome banner with stats + action cards
   ========================================================================== */
.bb-customer-profile-wrapper .bb-customer-profile.ps-ov-hero {
    background: linear-gradient(120deg, rgba(0, 107, 54, .96), rgba(0, 139, 70, .9)),
        url('/storage/close-up-hand-farmer-pouring-grain-at-sunset-generative-ai-free-photo-1.jpeg') center / cover no-repeat;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(0, 107, 54, .22);
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    gap: 22px 32px;
    justify-content: space-between;
    padding: 26px 30px;
}
.ps-ov-hero__main { align-items: center; display: flex; flex: 1 1 380px; gap: 20px; min-width: 0; }
.ps-ov-hero .bb-customer-profile-avatar { flex: none; }
.ps-ov-hero .bb-customer-profile-avatar-img { border: 3px solid rgba(255, 255, 255, .85); }
.ps-ov-hero__title {
    color: #fff !important;
    font-family: var(--font-heading);
    font-size: 26px;
    font-weight: 500;
    line-height: 1.25;
    margin: 0 0 6px;
}
.ps-ov-hero__title strong { font-weight: 600; }
.ps-ov-hero__text { color: rgba(255, 255, 255, .88); font-size: 14.5px; line-height: 1.55; margin: 0; max-width: 520px; }

.ps-ov-stats { align-items: stretch; display: flex; flex: none; gap: 10px; }
.ps-ov-stat {
    align-items: center;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 14px;
    color: #fff !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 92px;
    padding: 12px 14px;
    text-decoration: none;
    transition: background .2s, transform .2s;
}
.ps-ov-stat:hover { background: rgba(255, 255, 255, .24); transform: translateY(-2px); }
.ps-ov-stat__num { font-family: var(--font-heading); font-size: 26px; font-weight: 600; line-height: 1.1; }
.ps-ov-stat__label { font-size: 12.5px; font-weight: 500; opacity: .9; }

.ps-ov-actions { display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr); margin: 18px 0 8px; }
.ps-ov-card {
    align-items: center;
    background: #fff;
    border: 1px solid #e3ebe6;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(23, 60, 40, .06);
    color: #2E2A39;
    display: flex;
    gap: 14px;
    padding: 18px;
    text-decoration: none;
    transition: box-shadow .2s, transform .2s, border-color .2s;
}
.ps-ov-card:hover { border-color: #b9dcc7; box-shadow: 0 12px 28px rgba(23, 60, 40, .12); color: #2E2A39; transform: translateY(-2px); }
.ps-ov-card__icon {
    align-items: center;
    background: #eaf6ef;
    border-radius: 14px;
    color: var(--ps-green);
    display: inline-flex;
    flex: none;
    height: 52px;
    justify-content: center;
    width: 52px;
}
.ps-ov-card:nth-child(3) .ps-ov-card__icon { background: #fdf3df; color: #d98a06; }
.ps-ov-card__icon svg { height: 26px; width: 26px; }
.ps-ov-card__body { display: flex; flex: 1; flex-direction: column; gap: 3px; min-width: 0; }
.ps-ov-card__title { font-family: var(--font-text); font-size: 16px; font-weight: 500; }
.ps-ov-card__text { color: #6b6b76; font-size: 13.5px; line-height: 1.45; }
.ps-ov-card__go { color: var(--ps-green); display: inline-flex; flex: none; }
.ps-ov-card__go svg { height: 20px; width: 20px; }

@media (max-width: 991px) {
    .ps-ov-actions { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
    .bb-customer-profile-wrapper .bb-customer-profile.ps-ov-hero { gap: 18px; padding: 20px 16px; }
    .ps-ov-hero__main { align-items: flex-start; flex-basis: 100%; flex-direction: column; gap: 12px; }
    .ps-ov-hero__title { font-size: 21px; }
    .ps-ov-stats { width: 100%; }
    .ps-ov-stat { flex: 1; min-width: 0; padding: 10px 6px; }
    .ps-ov-stat__num { font-size: 22px; }
}

/* Overview: readable hero text, lighter weights */
.bb-customer-profile-wrapper .ps-ov-hero .ps-ov-hero__text,
.bb-customer-profile-wrapper .ps-ov-hero .bb-customer-profile-info p { color: rgba(255, 255, 255, .92) !important; font-weight: 400 !important; }
.bb-customer-profile-wrapper .ps-ov-hero .ps-ov-hero__title,
.bb-customer-profile-wrapper .ps-ov-hero .ps-ov-hero__title strong { color: #fff !important; font-weight: 500 !important; }
.ps-ov-stat__num { font-weight: 500 !important; }
.ps-ov-stat__label { font-weight: 400 !important; }
.ps-ov-card__title { font-weight: 500 !important; }
.dashboard-content .nav-link,
.customer-nav .nav-link,
.dashboard-tabs a { font-weight: 500 !important; }

/* ==========================================================================
   Account settings (profile / password / delete)
   ========================================================================== */
.bb-customer-card-list { display: grid; gap: 20px; }
.bb-customer-card {
    background: #fff;
    border: 1px solid #e3ebe6;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(23, 60, 40, .06);
    overflow: hidden;
}
.bb-customer-card-header { background: #f9fbf9; border-bottom: 1px solid #e9eeea; padding: 18px 22px; }
.bb-customer-card-header .rounded-circle {
    align-items: center;
    background: #eaf6ef !important;
    border-radius: 14px !important;
    color: var(--ps-green);
    display: inline-flex;
    flex: none;
    height: 46px;
    justify-content: center;
    padding: 0 !important;
    width: 46px;
}
.bb-customer-card-header .rounded-circle svg,
.bb-customer-card-header .rounded-circle .icon { color: var(--ps-green) !important; height: 24px; width: 24px; }
.password-card .bb-customer-card-header .rounded-circle { background: #fdf3df !important; }
.password-card .bb-customer-card-header .rounded-circle svg { color: #d98a06 !important; }
.bb-customer-card-header .bb-customer-card-title {
    color: #2E2A39;
    font-family: var(--font-heading);
    font-size: 19px;
    font-weight: 600;
    margin: 0 0 2px !important;
}
.bb-customer-card-header .text-muted { color: #6b6b76 !important; font-size: 13.5px !important; line-height: 1.45; }
.bb-customer-card-body { padding: 22px; }

.bb-customer-card-body .form-label,
.bb-customer-card-body label {
    color: #2E2A39;
    font-family: var(--font-text);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 6px;
}
.bb-customer-card-body .form-control,
.bb-customer-card-body .form-select {
    border: 1.5px solid #dfe3df;
    border-radius: 12px;
    font-family: var(--font-text);
    font-size: 15px;
    min-height: 46px;
}
.bb-customer-card-body .form-control:focus,
.bb-customer-card-body .form-select:focus { border-color: var(--ps-green); box-shadow: 0 0 0 3px rgba(0, 139, 70, .14); }
.bb-customer-card-body .form-control[disabled],
.bb-customer-card-body .form-control[readonly] { background: #f3f6f4; color: #6b6b76; }

.bb-customer-card-body .btn-primary,
.bb-customer-card-body button[type="submit"]:not(.btn-danger) {
    background: var(--ps-green) !important;
    border: 0 !important;
    border-radius: 50px !important;
    color: #fff !important;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 500;
    min-height: 46px;
    padding: 0 30px;
}
.bb-customer-card-body .btn-primary:hover { background: var(--ps-green-dark) !important; }

/* delete card */
.delete-card, .bb-customer-card:has(.text-danger.bb-customer-card-title) { border-color: #f1d3d3; }
.bb-customer-card:has(.text-danger.bb-customer-card-title) .bb-customer-card-header { background: #fdf6f6; border-color: #f1d3d3; }
.bb-customer-card:has(.text-danger.bb-customer-card-title) .rounded-circle { background: #fdecec !important; }
.bb-customer-card:has(.text-danger.bb-customer-card-title) .rounded-circle svg { color: #c0392b !important; }
.bb-customer-card-body .alert-warning { background: #fdf6e7; border: 1px solid #f3dfb2; border-radius: 12px; color: #6b5a2e; }
.bb-customer-card-body .alert-warning .alert-heading { color: #5b4300; font-weight: 500; }
.bb-customer-card-body .btn-danger,
.bb-customer-card-body .btn-outline-danger {
    background: #fff !important;
    border: 1.5px solid #c0392b !important;
    border-radius: 50px !important;
    color: #c0392b !important;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 500;
    min-height: 46px;
    padding: 0 26px;
}
.bb-customer-card-body .btn-danger:hover,
.bb-customer-card-body .btn-outline-danger:hover { background: #c0392b !important; color: #fff !important; }
@media (max-width: 575px) {
    .bb-customer-card-header { padding: 14px 16px; }
    .bb-customer-card-body { padding: 16px; }
    .bb-customer-card-body .btn { width: 100%; }
}

/* Account settings on wider screens: Email + Phone on one row; the three password fields on one row */
@media (min-width: 768px) {
    .bb-customer-card-body form:has([name="phone"]) {
        column-gap: 18px;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .bb-customer-card-body form:has([name="phone"]) > div:has([name="name"]),
    .bb-customer-card-body form:has([name="phone"]) > button { grid-column: 1 / -1; }
    .bb-customer-card-body form:has([name="phone"]) > button { justify-self: start; }

    .bb-customer-card-body form:has([name="password_confirmation"]) {
        column-gap: 18px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
    .bb-customer-card-body form:has([name="password_confirmation"]) > button { grid-column: 1 / -1; justify-self: start; }
}

/* Account settings buttons (Update / Change password): lighter text, cleaner pill */
.bb-customer-card-body form > button.btn.btn-primary,
.bb-customer-card-body form > button[type="submit"].btn-primary {
    align-items: center;
    background: var(--ps-green) !important;
    border: 1.5px solid var(--ps-green) !important;
    border-radius: 50px !important;
    box-shadow: 0 8px 18px rgba(0, 139, 70, .2);
    color: #fff !important;
    display: inline-flex;
    font-family: var(--font-text);
    font-size: 15px !important;
    font-weight: 400 !important;
    justify-content: center;
    letter-spacing: .2px;
    margin-top: 6px;
    min-height: 46px;
    min-width: 170px;
    padding: 0 32px !important;
    transition: background .2s, box-shadow .2s, transform .15s;
}
.bb-customer-card-body form > button.btn.btn-primary:hover:not(:disabled) {
    background: var(--ps-green-dark) !important;
    border-color: var(--ps-green-dark) !important;
    box-shadow: 0 10px 22px rgba(0, 107, 54, .26);
    transform: translateY(-1px);
}
.bb-customer-card-body form > button.btn.btn-primary:disabled,
.bb-customer-card-body form > button.btn.btn-primary.disabled {
    background: #e3ebe6 !important;
    border-color: #e3ebe6 !important;
    box-shadow: none;
    color: #8a8a94 !important;
    cursor: not-allowed;
    opacity: 1;
    transform: none;
}
@media (max-width: 767px) {
    .bb-customer-card-body form > button.btn.btn-primary { min-width: 0; width: 100%; }
}
.bb-customer-card-body .btn-danger,
.bb-customer-card-body .btn-outline-danger,
.bb-customer-card-body .btn { font-weight: 400 !important; letter-spacing: .2px; }
.bb-customer-card-body .btn-danger,
.bb-customer-card-body .btn-outline-danger { font-size: 15px !important; min-height: 46px; }

/* Top bar: lighter text */
.header-top,
.header-top a,
.header-top a span,
.header-top li,
.header-top .header-info li { font-weight: 400 !important; }
.header-top strong,
.header-top .text-brand,
.header-top li strong { font-weight: 500 !important; }

/* ==========================================================================
   Address book (list, cards, empty state)
   ========================================================================== */
.ps-addr-head { align-items: center; display: flex; flex-wrap: wrap; gap: 12px 16px; justify-content: space-between; margin-bottom: 20px; }
.ps-addr-head__title { color: #2E2A39; font-family: var(--font-heading); font-size: 22px; font-weight: 600; margin: 0 0 2px; }
.ps-addr-head__sub { color: #6b6b76; font-size: 14px; margin: 0; }
.ps-addr-add {
    align-items: center;
    background: #fff;
    border: 1.5px solid var(--ps-green);
    border-radius: 50px;
    color: var(--ps-green) !important;
    display: inline-flex;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 400;
    gap: 8px;
    min-height: 44px;
    padding: 0 22px;
    text-decoration: none;
    transition: background .2s, color .2s;
}
.ps-addr-add:hover { background: var(--ps-green); color: #fff !important; }
.ps-addr-add svg { height: 18px; width: 18px; }

.dashboard-address .bb-customer-card { height: 100%; }
.dashboard-address .bb-customer-card-header { align-items: center; display: flex; gap: 10px; justify-content: space-between; }
.dashboard-address .bb-customer-card-header .bb-customer-card-title { font-family: var(--font-text); font-size: 16px; font-weight: 500; margin: 0; }
.dashboard-address .bb-customer-card-status .badge {
    background: #eaf6ef !important;
    border: 1px solid #cfe3d7;
    border-radius: 999px;
    color: var(--ps-green) !important;
    font-family: var(--font-text);
    font-size: 11.5px;
    font-weight: 500;
    padding: 4px 11px;
}
.dashboard-address .bb-customer-card-body { padding: 16px 22px 8px; }
.dashboard-address .bb-customer-card-info { display: grid; gap: 12px; }
.dashboard-address .bb-customer-card-info .info-item { align-items: flex-start; display: flex; gap: 12px; }
.dashboard-address .bb-customer-card-info .info-item .label {
    align-items: center;
    background: #eaf6ef;
    border-radius: 10px;
    color: var(--ps-green);
    display: inline-flex;
    flex: none;
    height: 34px;
    justify-content: center;
    width: 34px;
}
.dashboard-address .bb-customer-card-info .info-item .label svg { height: 18px; width: 18px; }
.dashboard-address .bb-customer-card-info .info-item .value { color: #4b4b57; font-size: 14.5px; line-height: 1.5; padding-top: 5px; }

.dashboard-address .bb-customer-card-footer { align-items: center; border-top: 1px solid #eef2ef; display: flex; gap: 10px; margin-top: 8px; padding: 14px 22px 18px; }
.dashboard-address .bb-customer-card-footer form { margin: 0; }
.dashboard-address .bb-customer-card-footer .btn {
    align-items: center;
    border-radius: 50px !important;
    display: inline-flex;
    font-family: var(--font-text);
    font-size: 14px !important;
    font-weight: 400 !important;
    gap: 6px;
    min-height: 40px;
    padding: 0 20px !important;
}
.dashboard-address .bb-customer-card-footer .btn svg { height: 17px; width: 17px; margin: 0 !important; }
.dashboard-address .bb-customer-card-footer .btn-primary { background: var(--ps-green) !important; border: 1.5px solid var(--ps-green) !important; color: #fff !important; }
.dashboard-address .bb-customer-card-footer .btn-primary:hover { background: var(--ps-green-dark) !important; }
.dashboard-address .bb-customer-card-footer .btn-danger { background: #fff !important; border: 1.5px solid #e6c4c0 !important; color: #c0392b !important; }
.dashboard-address .bb-customer-card-footer .btn-danger:hover { background: #c0392b !important; border-color: #c0392b !important; color: #fff !important; }

/* empty state */
.bb-empty .bb-empty-title { color: #2E2A39; font-family: var(--font-heading); font-size: 22px; font-weight: 600; }
.bb-empty .bb-empty-subtitle { color: #6b6b76; font-size: 14.5px; }
.bb-empty .bb-empty-img .rounded-circle { background: #eaf6ef !important; }
.bb-empty .bb-empty-action .btn {
    align-items: center;
    background: var(--ps-green) !important;
    border: 0 !important;
    border-radius: 50px !important;
    color: #fff !important;
    display: inline-flex;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 400;
    justify-content: center;
    min-height: 46px;
    padding: 0 28px;
}
@media (max-width: 575px) {
    .ps-addr-add { justify-content: center; width: 100%; }
    .dashboard-address .bb-customer-card-footer { flex-wrap: wrap; }
    .dashboard-address .bb-customer-card-footer > * { flex: 1 1 0; }
    .dashboard-address .bb-customer-card-footer .btn { justify-content: center; width: 100%; }
}
.dashboard-address .bb-customer-card-info .info-item .label { flex: 0 0 34px !important; max-width: 34px; min-width: 34px !important; width: 34px !important; }
.dashboard-address .bb-customer-card-info .info-item .value { flex: 1; min-width: 0; }

/* Address form (create / edit): compact rows on desktop */
@media (min-width: 992px) {
    .ps-addr-form form .row > .col-lg-6:has([name="email"]) { flex: 0 0 100%; max-width: 100%; width: 100%; }
    .ps-addr-form form .row > .col-lg-12:has([name="state"]),
    .ps-addr-form form .row > .col-lg-12:has([name="city"]),
    .ps-addr-form form .row > .col-lg-12:has([name="zip_code"]) { flex: 0 0 33.3333%; max-width: 33.3333%; width: 33.3333%; }
}
.ps-addr-form form .form-check { align-items: center; display: flex; gap: 8px; padding-left: 0; }
.ps-addr-form form .form-check .form-check-input { flex: none; margin: 0; }
.ps-addr-form form .form-check-label { font-size: 14px; font-weight: 400; }
.ps-addr-form form .form-check-input:checked { background-color: var(--ps-green); border-color: var(--ps-green); }
.ps-addr-form form button.btn.btn-primary.mt-4 { margin-top: 8px !important; }
.dashboard-address .bb-customer-card-info .info-item .value,
.dashboard-address .bb-customer-card-info .info-item .value.text-start { font-weight: 400 !important; }
.dashboard-address .bb-customer-card-header .bb-customer-card-title .value { font-weight: 500 !important; }
@media (max-width: 575px) {
    .dashboard-address .bb-customer-card-footer form { flex: 1 1 0; width: 100%; }
    .dashboard-address .bb-customer-card-footer form .btn,
    .dashboard-address .bb-customer-card-footer > .btn { width: 100% !important; }
}

/* ==========================================================================
   Order return requests: list cards, detail, compact empty state
   ========================================================================== */
.bb-empty .text-center.py-5 { padding-bottom: 28px !important; padding-top: 28px !important; }
.bb-empty .bb-empty-img { margin-bottom: 14px !important; }
.bb-empty .bb-empty-img .rounded-circle { padding: 22px !important; }
.bb-empty .bb-empty-img svg, .bb-empty .bb-empty-img img { height: 96px; max-width: 120px; opacity: .95; width: auto; }
.bb-empty .bb-empty-title { font-size: 20px; }
.bb-empty .bb-empty-subtitle { color: #6b6b76 !important; margin-bottom: 0 !important; }

.order-return-cards { display: grid; gap: 16px; }
.order-return-card .bb-customer-card-header { align-items: flex-start; }
.order-return-card .bb-customer-card-header .bb-customer-card-title {
    color: #2E2A39;
    font-family: var(--font-text);
    font-size: 16px;
    font-weight: 500;
    margin: 0 0 2px !important;
}
.order-return-card .bb-customer-card-status { margin-top: 8px; }
.order-return-card .bb-customer-card-status .badge,
.order-return-card .bb-customer-card-status span[class*="badge"] {
    border-radius: 999px;
    font-family: var(--font-text);
    font-size: 11.5px;
    font-weight: 500;
    padding: 4px 11px;
}
.order-return-card .bb-customer-card-info .info-item { display: flex; flex-direction: column; gap: 3px; }
.order-return-card .bb-customer-card-info .info-item .label {
    align-items: center;
    color: #6b6b76;
    display: inline-flex;
    font-size: 13px;
    font-weight: 400;
    gap: 6px;
}
.order-return-card .bb-customer-card-info .info-item .label svg { color: var(--ps-green); height: 16px; width: 16px; }
.order-return-card .bb-customer-card-info .info-item .value { color: #2E2A39; font-size: 15px; font-weight: 500; }
.order-return-card .bb-customer-card-info .info-item .value a { color: var(--ps-green); }
.order-return-card .bb-customer-card-footer { border-top: 1px solid #eef2ef; padding: 14px 22px 18px; }
.order-return-card .bb-customer-card-footer .btn {
    align-items: center;
    background: var(--ps-green) !important;
    border: 1.5px solid var(--ps-green) !important;
    border-radius: 50px !important;
    color: #fff !important;
    display: inline-flex;
    font-family: var(--font-text);
    font-size: 14px !important;
    font-weight: 400 !important;
    gap: 6px;
    min-height: 40px;
    padding: 0 22px !important;
}
.order-return-card .bb-customer-card-footer .btn:hover { background: var(--ps-green-dark) !important; }
@media (max-width: 575px) {
    .order-return-card .bb-customer-card-footer .d-flex { justify-content: stretch !important; }
    .order-return-card .bb-customer-card-footer .btn { justify-content: center; width: 100%; }
}

/* Return request detail: same card language */
.order-return-detail-card .bb-customer-card-header .bb-customer-card-title { font-family: var(--font-heading); font-size: 19px; font-weight: 600; }
.order-return-detail-card .bb-customer-card-status .badge,
.order-return-detail-card .bb-customer-card-status span[class*="badge"] { border-radius: 999px; font-size: 11.5px; font-weight: 500; padding: 4px 11px; }
.order-return-detail-card .info-item { display: flex; flex-direction: column; gap: 3px; }
.order-return-detail-card .info-item .label { align-items: center; color: #6b6b76; display: inline-flex; font-size: 13px; font-weight: 400; gap: 6px; }
.order-return-detail-card .info-item .label svg { color: var(--ps-green); height: 16px; width: 16px; }
.order-return-detail-card .info-item .value { color: #2E2A39; font-size: 15px; }
.order-return-detail-card .info-item .fw-semibold { font-weight: 500 !important; }
.order-return-detail-card .info-item .value a { color: var(--ps-green); }

/* Address form: Full name, Phone and Email share one row on desktop */
@media (min-width: 992px) {
    .ps-addr-form form .row > .col-lg-6:has([name="name"]),
    .ps-addr-form form .row > .col-lg-6:has([name="phone"]),
    .ps-addr-form form .row > .col-lg-6:has([name="email"]) {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
        width: 33.3333%;
    }
}

/* Account menu (sidebar on desktop, chips on mobile): light weight, selected item included */
.nav-item.text-truncate > .nav-link,
.nav-item.text-truncate > .nav-link.active,
.nav-item.text-truncate > .nav-link:hover,
.nav-item.text-truncate > .nav-link:focus { font-weight: 400 !important; }
.nav-item.text-truncate > .nav-link.active { letter-spacing: 0; text-shadow: none; }
.dashboard-content .nav-link, .customer-nav .nav-link, .dashboard-tabs a { font-weight: 400 !important; }

/* Address form row 1 (desktop): Full name : Phone : Email = 3 : 2 : 2 */
@media (min-width: 992px) {
    /* 3 : 2 : 2 of the row = 42.857% / 28.571% / 28.571% (fixed bases so the row wraps after these three) */
    .ps-addr-form form .row > .col-lg-6:has([name="name"]) { flex: 0 0 42.857%; max-width: 42.857%; width: 42.857%; }
    .ps-addr-form form .row > .col-lg-6:has([name="phone"]),
    .ps-addr-form form .row > .col-lg-6:has([name="email"]) { flex: 0 0 28.5715%; max-width: 28.5715%; width: 28.5715%; }
}

/* ==========================================================================
   My reviews page
   ========================================================================== */
.product-reviews-cards { display: grid; gap: 20px; }
.product-reviews-cards .bb-customer-card-header .d-flex.justify-content-between { gap: 12px; }
.product-reviews-cards .bb-customer-card-header .bb-customer-card-title { font-family: var(--font-heading); font-size: 19px; font-weight: 600; }
.reviewed-products-card .bb-customer-card-header .rounded-circle svg { color: var(--ps-green) !important; }
.product-reviews-cards .bb-customer-card-status .badge {
    background: #eaf6ef !important;
    border: 1px solid #cfe3d7;
    border-radius: 999px;
    color: var(--ps-green) !important;
    font-family: var(--font-text);
    font-size: 12.5px;
    font-weight: 500;
    min-width: 30px;
    padding: 5px 11px;
}
.waiting-review-card .bb-customer-card-status .badge { background: #fdf3df !important; border-color: #f3dfb2; color: #b87400 !important; }

.product-reviews-cards .bb-customer-card-content { align-items: flex-start; display: flex; gap: 16px; }
.product-reviews-cards .bb-customer-card-content > .row { flex: 1; margin: 0; width: 100%; }
.product-reviews-cards .bb-customer-card-image img {
    border: 1px solid #e9eeea;
    border-radius: 12px;
    height: 84px;
    object-fit: cover;
    width: 84px;
}
.product-reviews-cards .bb-customer-card-details { flex: 1; min-width: 0; }
.product-reviews-cards .bb-customer-card-name,
.product-reviews-cards .bb-customer-card-name a { color: #2E2A39; font-family: var(--font-text); font-size: 16px; font-weight: 500; text-decoration: none; }
.product-reviews-cards .bb-customer-card-name a:hover { color: var(--ps-green); }
.product-reviews-cards .bb-customer-card-meta { color: #6b6b76; font-size: 13px; line-height: 1.5; margin-top: 4px; }
.product-reviews-cards .bb-customer-card-meta .text-muted { color: #8a8a94 !important; }
.product-reviews-cards .bb-customer-card-meta .ecommerce-icon { height: 17px; width: 17px; }
.product-reviews-cards .bb-customer-card-meta .d-flex > span.me-2 { color: #2E2A39; font-size: 14px; font-weight: 500; }
.product-reviews-cards .ecommerce-icon.text-warning { color: var(--ps-orange) !important; }
.product-reviews-cards .bb-customer-card-description p {
    background: #f6f9f7;
    border-radius: 10px;
    color: #4b4b57;
    font-size: 14.5px;
    line-height: 1.55;
    margin: 10px 0 0;
    padding: 10px 14px;
}
.product-reviews-cards hr { border-color: #eef2ef; opacity: 1; }
.product-reviews-cards .bb-customer-card-actions .btn-outline-danger,
.product-reviews-cards .bb-customer-card-actions .btn {
    background: #fff !important;
    border: 1.5px solid #e6c4c0 !important;
    border-radius: 50px !important;
    color: #c0392b !important;
    font-family: var(--font-text);
    font-size: 13.5px !important;
    font-weight: 400 !important;
    min-height: 36px;
    padding: 0 18px !important;
}
.product-reviews-cards .bb-customer-card-actions .btn:hover { background: #c0392b !important; border-color: #c0392b !important; color: #fff !important; }
.product-reviews-cards .ecommerce-product-star { gap: 2px; }
.product-reviews-cards .ecommerce-product-star svg { height: 22px; width: 22px; }
.product-reviews-cards .tp-pagination, .product-reviews-cards + .pagination { margin-top: 12px; }
@media (max-width: 575px) {
    .product-reviews-cards .bb-customer-card-image img { height: 68px; width: 68px; }
    .product-reviews-cards .bb-customer-card-content { gap: 12px; }
}
.product-reviews-cards .bb-customer-card-header { background: #f9fbf9 !important; }
.product-reviews-cards hr { background: #eef2ef !important; border: 0 !important; height: 1px !important; margin: 16px 0 !important; opacity: 1 !important; }
.product-reviews-cards .bb-customer-card-header .rounded-circle { background: #eaf6ef !important; }
.waiting-review-card .bb-customer-card-header .rounded-circle { background: #fdf3df !important; }
.waiting-review-card .bb-customer-card-header .rounded-circle svg { color: #d98a06 !important; }

/* My reviews: compact rows, natural-width delete button */
.product-reviews-cards .bb-customer-card-content { margin: 0 !important; padding: 0 !important; }
.product-reviews-cards .bb-customer-card-actions { margin-top: 10px !important; }
.product-reviews-cards .bb-customer-card-actions form { display: inline-block !important; width: auto !important; }
.product-reviews-cards .bb-customer-card-actions .btn { width: auto !important; }
.product-reviews-cards hr { margin: 14px 0 !important; }
.product-reviews-cards .bb-customer-card-description p { margin-top: 8px; }

/* "All caught up!" / empty blocks inside cards: visible icon in a soft green circle */
.bb-customer-card-body .text-center .rounded-circle.d-inline-flex {
    align-items: center;
    background: #eaf6ef !important;
    border-radius: 50% !important;
    color: var(--ps-green) !important;
    height: 68px;
    justify-content: center;
    padding: 0 !important;
    width: 68px;
}
.bb-customer-card-body .text-center .rounded-circle.d-inline-flex svg,
.bb-customer-card-body .text-center .rounded-circle.d-inline-flex .icon { color: var(--ps-green) !important; height: 32px; stroke: currentColor; width: 32px; }
.bb-customer-card-body .text-center h5.h6 { color: #2E2A39; font-family: var(--font-heading); font-size: 19px; font-weight: 600; margin-bottom: 6px !important; }
.bb-customer-card-body .text-center .text-muted.small { color: #6b6b76 !important; font-size: 14px !important; }

/* ==========================================================================
   Orders list
   ========================================================================== */
.order-cards { display: grid; gap: 18px; }
.order-card .bb-customer-card-header { background: #f9fbf9; padding: 16px 22px; }
.order-card .bb-customer-card-header > .d-flex { align-items: center !important; flex-wrap: wrap; gap: 8px 12px; }
.order-card .bb-customer-card-header .bb-customer-card-title {
    color: #2E2A39;
    font-family: var(--font-text);
    font-size: 16px;
    font-weight: 500;
    margin: 0 0 2px !important;
}
.order-card .bb-customer-card-header .text-muted { color: #8a8a94 !important; font-size: 13px !important; }
.order-card .bb-customer-card-status .badge,
.order-card .bb-customer-card-status span[class*="badge"] {
    border-radius: 999px;
    font-family: var(--font-text);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0;
    padding: 5px 13px;
}
.order-card .bb-customer-card-body { padding: 16px 22px; }
.order-card .bb-customer-card-info .info-item { align-items: baseline; display: flex; gap: 10px; justify-content: space-between; }
.order-card .bb-customer-card-info .info-item .label { color: #8a8a94 !important; font-size: 13.5px !important; font-weight: 400; }
.order-card .bb-customer-card-info .info-item .value,
.order-card .bb-customer-card-info .info-item .value.fw-semibold { color: #2E2A39; font-size: 15px; font-weight: 500 !important; text-align: right; }
.order-card .bb-customer-card-info .row { row-gap: 12px !important; }
.order-card .bb-customer-card-footer { border-top: 1px solid #eef2ef; padding: 14px 22px 18px; }
.order-card .bb-customer-card-footer .btn {
    align-items: center;
    background: var(--ps-green) !important;
    border: 1.5px solid var(--ps-green) !important;
    border-radius: 50px !important;
    color: #fff !important;
    display: inline-flex;
    font-family: var(--font-text);
    font-size: 14px !important;
    font-weight: 400 !important;
    gap: 6px;
    min-height: 40px;
    padding: 0 24px !important;
}
.order-card .bb-customer-card-footer .btn:hover { background: var(--ps-green-dark) !important; }

@media (min-width: 768px) {
    /* three facts on one row: amount | items | payment method */
    .order-card .bb-customer-card-info .row { display: grid; grid-template-columns: 1fr 1fr 1.6fr; margin: 0; }
    .order-card .bb-customer-card-info .row > [class*="col-"] { max-width: none; padding: 0; width: auto; }
    .order-card .bb-customer-card-info .info-item { align-items: flex-start; flex-direction: column; gap: 4px; }
    .order-card .bb-customer-card-info .info-item .value,
    .order-card .bb-customer-card-info .info-item .value.fw-semibold { text-align: left; }
    .order-card .bb-customer-card-body { padding-bottom: 18px; }
}
@media (max-width: 575px) {
    .order-card .bb-customer-card-header, .order-card .bb-customer-card-body, .order-card .bb-customer-card-footer { padding-left: 16px; padding-right: 16px; }
    .order-card .bb-customer-card-footer .d-flex { justify-content: stretch !important; }
    .order-card .bb-customer-card-footer .btn { justify-content: center; width: 100%; }
}
@media (max-width: 767px) { .order-card .bb-customer-card-info .row { row-gap: 2px !important; } .order-card .bb-customer-card-info .info-item { padding: 5px 0; } }

/* Order view: lighter status badges, aligned payment-proof upload row */
.customer-order-detail .badge,
.bb-customer-card .badge[class*="bg-"],
.customer-order-detail span[class*="badge"] {
    border-radius: 999px;
    font-family: var(--font-text);
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0;
    padding: 5px 13px;
}
.customer-order-upload-receipt .input-group {
    align-items: stretch;
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
}
.customer-order-upload-receipt .input-group .form-control {
    border: 1.5px solid #dfe3df;
    border-radius: 12px !important;
    flex: 1 1 auto;
    font-family: var(--font-text);
    font-size: 14.5px;
    height: 48px;
    line-height: 32px;
    min-width: 0;
    padding: 6px 10px;
    width: 1%;
}
.customer-order-upload-receipt .input-group .form-control::file-selector-button {
    background: #eef4f0;
    border: 0;
    border-radius: 8px;
    color: #2E2A39;
    font-family: var(--font-text);
    font-size: 14px;
    font-weight: 400;
    margin: 0 12px 0 0;
    padding: 7px 14px;
}
.customer-order-upload-receipt .input-group > .btn {
    align-items: center;
    background: var(--ps-green) !important;
    border: 1.5px solid var(--ps-green) !important;
    border-radius: 50px !important;
    color: #fff !important;
    display: inline-flex;
    flex: none;
    font-family: var(--font-text);
    font-size: 14.5px !important;
    font-weight: 400 !important;
    gap: 8px;
    height: 48px;
    justify-content: center;
    margin: 0 !important;
    padding: 0 24px !important;
}
.customer-order-upload-receipt .input-group > .btn:hover { background: var(--ps-green-dark) !important; }
.customer-order-upload-receipt .input-group > .btn svg { height: 18px; width: 18px; }
.customer-order-upload-receipt .form-text, .customer-order-upload-receipt small { color: #8a8a94; font-size: 12.5px; }
@media (max-width: 575px) {
    .customer-order-upload-receipt .input-group { flex-wrap: wrap; }
    .customer-order-upload-receipt .input-group .form-control { flex: 1 1 100%; width: 100%; }
    .customer-order-upload-receipt .input-group > .btn { width: 100%; }
}

/* Orders: search */
.ps-order-search { align-items: center; display: flex; gap: 8px; margin: 0 0 18px; position: relative; }
.ps-order-search__icon { color: var(--ps-green); display: inline-flex; left: 16px; pointer-events: none; position: absolute; top: 50%; transform: translateY(-50%); }
.ps-order-search__icon svg { height: 20px; width: 20px; }
.ps-order-search input[type="search"] {
    -webkit-appearance: none;
    background: #fff;
    border: 1.5px solid #dfe3df;
    border-radius: 50px;
    color: #2E2A39;
    flex: 1;
    font-family: var(--font-text);
    font-size: 15px;
    height: 48px;
    min-width: 0;
    outline: none;
    padding: 0 44px 0 46px;
}
.ps-order-search input[type="search"]::-webkit-search-cancel-button { display: none; }
.ps-order-search input[type="search"]:focus { border-color: var(--ps-green); box-shadow: 0 0 0 3px rgba(0, 139, 70, .14); }
.ps-order-search__clear { color: #8a8a94; font-size: 24px; line-height: 1; position: absolute; right: 140px; text-decoration: none; top: 50%; transform: translateY(-50%); }
.ps-order-search__go {
    background: var(--ps-green);
    border: 0;
    border-radius: 50px;
    color: #fff;
    flex: none;
    font-family: var(--font-text);
    font-size: 14.5px;
    font-weight: 400;
    height: 48px;
    padding: 0 26px;
}
.ps-order-search__go:hover { background: var(--ps-green-dark); }
.ps-order-search-empty { background: #fff; border: 1px solid #e3ebe6; border-radius: 16px; padding: 34px 20px; text-align: center; }
.ps-order-search-empty__title { color: #2E2A39; font-family: var(--font-heading); font-size: 20px; font-weight: 600; margin: 0 0 6px; }
.ps-order-search-empty__text { color: #6b6b76; font-size: 14.5px; margin: 0; }
@media (max-width: 575px) {
    .ps-order-search__go { padding: 0 18px; }
    .ps-order-search__clear { right: 118px; }
}

/* Order modals (cancel order, confirm delivery): calmer dialog and matching buttons */
#modal-cancel-order .modal-content,
#confirmDeliveredModal .modal-content { border: 0; border-radius: 18px; box-shadow: 0 24px 60px rgba(20, 40, 30, .25); overflow: hidden; }
#modal-cancel-order .modal-header { border-bottom: 1px solid #eef2ef; padding: 20px 24px 14px; }
#modal-cancel-order .modal-title { color: #2E2A39; font-family: var(--font-heading); font-size: 21px; font-weight: 600; }
#modal-cancel-order .modal-header .text-muted, #modal-cancel-order .modal-header p { color: #6b6b76 !important; font-size: 14px; }
#modal-cancel-order .modal-body { padding: 18px 24px; }
#modal-cancel-order .modal-body label { color: #2E2A39; font-family: var(--font-text); font-size: 14px; font-weight: 500; margin-bottom: 6px; }
#modal-cancel-order .modal-body .form-control,
#modal-cancel-order .modal-body .form-select { border: 1.5px solid #dfe3df; border-radius: 12px; font-family: var(--font-text); font-size: 15px; }
#modal-cancel-order .modal-body .form-control:focus,
#modal-cancel-order .modal-body .form-select:focus { border-color: var(--ps-green); box-shadow: 0 0 0 3px rgba(0, 139, 70, .14); }
#modal-cancel-order .modal-footer,
#confirmDeliveredModal .modal-body .btn { border-top: 0; }
#modal-cancel-order .modal-footer { background: #f9fbf9; border-top: 1px solid #eef2ef; gap: 10px; justify-content: flex-end; padding: 14px 24px 18px; }
#modal-cancel-order .modal-footer .btn,
#confirmDeliveredModal .btn {
    align-items: center;
    border-radius: 50px !important;
    display: inline-flex;
    font-family: var(--font-text);
    font-size: 15px !important;
    font-weight: 400 !important;
    height: 46px;
    justify-content: center;
    letter-spacing: .2px;
    margin: 0 !important;
    min-width: 120px;
    padding: 0 26px !important;
}
#modal-cancel-order .modal-footer .btn-secondary,
#confirmDeliveredModal .btn-secondary {
    background: #fff !important;
    border: 1.5px solid #dfe3df !important;
    color: #4b4b57 !important;
}
#modal-cancel-order .modal-footer .btn-secondary:hover,
#confirmDeliveredModal .btn-secondary:hover { background: #f4f6f4 !important; border-color: #c9d1cb !important; }
#modal-cancel-order .modal-footer .btn-primary,
#confirmDeliveredModal .btn-primary {
    background: var(--ps-green) !important;
    border: 1.5px solid var(--ps-green) !important;
    box-shadow: 0 8px 18px rgba(0, 139, 70, .2);
    color: #fff !important;
}
#modal-cancel-order .modal-footer .btn-primary:hover,
#confirmDeliveredModal .btn-primary:hover { background: var(--ps-green-dark) !important; border-color: var(--ps-green-dark) !important; }
@media (max-width: 575px) {
    #modal-cancel-order .modal-footer .btn { flex: 1 1 0; min-width: 0; }
}

/* Order detail: value text (order number etc.) and other bold bits lighter */
.customer-order-detail .fw-bold,
.customer-order-detail .fw-semibold,
.customer-order-detail .bb-order-info-item .value,
.customer-order-detail .bb-order-info-item .value.fw-bold,
.customer-order-detail strong,
.customer-order-detail b { font-weight: 500 !important; }
.customer-order-detail .bb-order-total .label,
.customer-order-detail .bb-order-total .value,
.customer-order-detail [class*="total"] .label { font-weight: 500 !important; }
.customer-order-detail [class*="total"] .value { font-weight: 600 !important; }
.ps-order-search .ps-order-search__go {
    align-items: center;
    display: inline-flex;
    font-size: 14.5px !important;
    font-weight: 400 !important;
    height: 48px !important;
    justify-content: center;
    letter-spacing: .2px;
    line-height: 1 !important;
    margin: 0 !important;
    min-width: 110px;
    padding: 0 26px !important;
    text-transform: none;
}

/* File input: "Choose file" button and "No file chosen" text on one baseline */
.customer-order-upload-receipt .input-group input[type="file"].form-control {
    align-items: center;
    color: #6b6b76;
    display: flex;
    font-size: 14.5px;
    line-height: 1;
    padding: 0 8px;
}
.customer-order-upload-receipt .input-group input[type="file"].form-control::file-selector-button {
    align-self: center;
    font-size: 14px;
    height: 34px;
    line-height: 34px;
    margin: 0 12px 0 0;
    padding: 0 14px;
}
.customer-order-upload-receipt .input-group input[type="file"].form-control { padding-bottom: 0 !important; padding-top: 5px !important; }

/* Order detail totals: no extra divider lines around Shipping fee */
.customer-order-detail .bb-order-total-item { border-bottom: 0 !important; border-top: 0 !important; }
.customer-order-detail .bb-order-total-item.grand-total { margin-top: 4px; padding-top: 12px; }
.customer-order-detail .bb-order-total-item::before,
.customer-order-detail .bb-order-total-item::after { content: none !important; display: none !important; }
.customer-order-detail .bb-order-total-item.grand-total { border-top: 1px solid #e3ebe6 !important; margin-top: 6px; padding-top: 14px; }

/* Category / listing intro text under the page title */
.products-page-container .ps-block__header { margin-bottom: 14px; }
.products-page-container .ps-block__content {
    color: #5b6170;
    font-family: var(--font-text);
    font-size: 15px;
    line-height: 1.7;
    margin: 6px 0 0;
    max-width: 860px;
}
.products-page-container .ps-block__content p { margin: 0 0 8px; }
