/*
Theme Name: Shoptimizer Child Theme
Theme URI:
Description: Child theme of Shoptimizer
Author: CommerceGurus
Author URI:
Template: shoptimizer
Version: 1.4.3
License:         	GNU General Public License v2 or later
License URI:     	http://www.gnu.org/licenses/gpl-2.0.html
*/
/*
Theme Name: Shoptimizer Child Theme
Theme URI:
Description: Child theme of Shoptimizer
Author: CommerceGurus
Author URI:
Template: shoptimizer
Version: 1.4.3
License:         	GNU General Public License v2 or later
License URI:     	http://www.gnu.org/licenses/gpl-2.0.html
*/
:root{--green:#4BB800;--green-dark:#2d7400;--green-light:#6dcc00;--dark:#1a1a1a;--dark-2:#2a2a2a;--amber:#dc9814;--text:#333333;--text-light:#555555;--border:#e2e8f0;--bg-light:#f8fafc;--white:#ffffff;--radius:6px;--shadow-sm:0 1px 3px rgba(0,0,0,.08);--shadow:0 4px 16px rgba(0,0,0,.10);--shadow-lg:0 8px 32px rgba(0,0,0,.14);--transition:0.2s ease}
.skip-link{position:absolute;left:-9999px;top:6px;z-index:9999;padding:10px 18px;background:var(--green-dark);color:var(--white)!important;font-weight:700;font-size:14px;border-radius:var(--radius);text-decoration:none;transition:left 0s}
.skip-link:focus{left:6px;outline:3px solid var(--green-dark);outline-offset:2px}
*:focus-visible{outline:3px solid var(--green)!important;outline-offset:3px!important;border-radius:2px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--green)!important;outline-offset:3px!important}
.full-width .sub-menu .dynamic-cat a{display:block!important;visibility:visible!important;color:#ddd;font-weight:normal;padding:5px 10px}
.full-width .sub-menu .dynamic-cat{display:list-item!important}
.col-full.topbar-wrapper{background-color:var(--dark)!important;border-bottom:none!important}
.top-bar{font-size:13px;padding:7px 0}
.top-bar-left a,.top-bar-right,.top-bar-left p,.top-bar *{color:rgba(255,255,255,.85)!important;font-size:13px}
.top-bar-left a:hover{color:var(--green-light)!important}
.top-bar-right strong{color:var(--white)!important}
.site-header{background-color:var(--dark)!important;border-bottom:1px solid rgba(255,255,255,.06)!important;padding:10px 0!important;box-shadow:none!important}
.main-header.col-full{align-items:center;gap:12px}
.site-description{font-size:11px;color:rgba(255,255,255,.85);letter-spacing:.03em;margin:0;line-height:1.2}
.custom-logo-link img.custom-logo{max-height:52px;width:auto}
.site-search{flex:1;max-width:460px}
.site-search .woocommerce-product-search{display:flex;align-items:stretch;border:2px solid rgba(255,255,255,.18);border-radius:50px;overflow:hidden;transition:border-color var(--transition),box-shadow var(--transition);background:rgba(255,255,255,.08)}
.site-search .woocommerce-product-search:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(75,184,0,.2);background:rgba(255,255,255,.12)}
.site-search input[type="search"]{border:none!important;outline:none!important;padding:9px 16px!important;font-size:14px!important;background:transparent!important;flex:1;color:#fff!important}
.site-search input[type="search"]::placeholder{color:rgba(255,255,255,.45)}
.site-search button[type="submit"]{background:var(--green-dark)!important;color:var(--white)!important;border:none!important;padding:0 20px!important;font-size:13px!important;font-weight:600!important;cursor:pointer;transition:background var(--transition);letter-spacing:.03em;border-radius:0!important}
.site-search button[type="submit"]:hover{background:var(--green-dark)!important}
.secondary-navigation a{color:rgba(255,255,255,.9)!important;font-size:12.5px;display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;transition:color var(--transition)}
.secondary-navigation a:hover{color:var(--green-light)!important}
.secondary-navigation .icon-wrapper svg{width:22px;height:22px}
.shoptimizer-cart a.cart-contents{display:flex;flex-direction:column;align-items:center;gap:2px;color:rgba(255,255,255,.9)!important;text-decoration:none;transition:color var(--transition)}
.shoptimizer-cart a.cart-contents:hover{color:var(--green-light)!important}
.shoptimizer-cart .count{background:var(--green-dark);color:var(--white);border-radius:50%;min-width:18px;height:18px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.header-widget-region{background:var(--green-dark)!important}
.header-widget-region .widget,.header-widget-region p,.header-widget-region a,.header-widget-region{color:var(--white)!important;font-weight:600;font-size:13px}
.header-widget-region a:hover{text-decoration:underline}
.col-full-nav{background-color:var(--dark)!important;border-top:1px solid rgba(255,255,255,.06)}
.col-full-nav .main-navigation ul li>a,.col-full-nav .main-navigation ul li a span{color:rgba(255,255,255,.92)!important;font-size:13px;font-weight:500;letter-spacing:.02em;padding:14px 10px;white-space:nowrap;transition:color var(--transition),background var(--transition)}
.col-full-nav .main-navigation ul li>a:hover,.col-full-nav .main-navigation ul li>a:focus,.col-full-nav .main-navigation ul li>a:hover span,.col-full-nav .main-navigation ul li>a:focus span{color:var(--green-light)!important;background:rgba(255,255,255,.05)}
.col-full-nav .main-navigation ul ul,.col-full-nav .main-navigation ul.menu li.menu-item-has-children .sub-menu-wrapper{background-color:var(--dark-2)!important;border-top:3px solid var(--green)!important;box-shadow:var(--shadow-lg);border-radius:0 0 var(--radius) var(--radius)}
.col-full-nav .main-navigation ul ul li a,.col-full-nav .main-navigation ul ul li a span,.col-full-nav .main-navigation ul.menu li.full-width.menu-item-has-children ul li a{color:rgba(255,255,255,.80)!important;font-size:13.5px;padding:9px 16px}
.col-full-nav .main-navigation ul ul li a:hover,.col-full-nav .main-navigation ul ul li a:focus,.col-full-nav .main-navigation ul.menu li.full-width.menu-item-has-children ul li a:hover{color:var(--green-light)!important;background-color:rgba(255,255,255,.06)!important}
.col-full-nav .main-navigation ul li.current-menu-item>a,.col-full-nav .main-navigation ul li.current-menu-item>a span{color:var(--green-light)!important}
.col-full-nav .main-navigation ul li.current-menu-item>a::after{content:'';display:block;height:3px;background:var(--green);position:absolute;bottom:0;left:16px;right:16px;border-radius:3px 3px 0 0}
.col-full-nav .main-navigation ul li>a{position:relative}
.shoptimizer-mobile-menu-toggle,.col-full-nav .shoptimizer-mobile-menu-toggle{background-color:var(--dark-2)!important;color:var(--white)!important}
.logo-mark a{display:flex;align-items:center}
.logo-mark img{max-height:38px!important;width:auto}
.entry-content,.page-content{padding-top:0}
.entry-content>h1:first-child,.entry-content h1:first-of-type{font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.1;color:var(--white);letter-spacing:-.02em;margin-bottom:12px}
.entry-content>h1:first-child a,.entry-content h1:first-of-type a{color:inherit!important;text-decoration:none}
.entry-content>h1:first-child a:hover,.entry-content h1:first-of-type a:hover{text-decoration:underline;text-underline-offset:4px}
.entry-content>h2:nth-child(2){font-size:clamp(1rem,2vw,1.25rem);font-weight:400;color:rgba(255,255,255,.9);line-height:1.5;margin-bottom:20px}
.entry-content>h2:nth-child(2) a{color:inherit!important;text-decoration:none}
.entry-content>p>a:not([href*="wa.me"]){color:var(--green-dark)!important;text-decoration:underline}
.entry-content>p>a:not([href*="wa.me"]):not([rel*="tag"]),.entry-content .wp-block-button__link{display:inline-block;background:var(--green-dark)!important;color:var(--white)!important;padding:13px 28px!important;border-radius:50px!important;font-weight:700!important;font-size:15px!important;text-decoration:none!important;letter-spacing:.03em;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);box-shadow:0 4px 14px rgba(45,116,0,.40)}
.entry-content>p>a:not([href*="wa.me"]):not([rel*="tag"]):hover,.entry-content .wp-block-button__link:hover{background:var(--green-dark)!important;transform:translateY(-2px);box-shadow:0 6px 20px rgba(45,116,0,.45)}
.entry-content>p>a img{display:block;width:100%;height:auto;border-radius:var(--radius);margin-top:8px}
.entry-content figure,.page-content figure{position:relative;overflow:hidden;border-radius:10px;margin:0;background:var(--dark);box-shadow:var(--shadow)}
.entry-content figure a,.page-content figure a{display:block;position:relative;overflow:hidden}
.entry-content figure img,.page-content figure img{display:block;width:100%;height:auto;transition:transform 0.4s ease,filter 0.4s ease}
.entry-content figure:hover img,.page-content figure:hover img{transform:scale(1.05);filter:brightness(.88)}
.entry-content figcaption,.page-content figcaption{position:absolute;bottom:0;left:0;right:0;padding:16px 18px 18px;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,transparent 100%);color:var(--white);pointer-events:none}
.entry-content figcaption strong,.page-content figcaption strong{display:block;font-size:15px;font-weight:700;line-height:1.3;color:var(--white);margin-bottom:2px}
.entry-content figcaption em,.page-content figcaption em{display:block;font-style:normal;font-size:12px;color:rgba(255,255,255,.80);margin-bottom:6px}
.entry-content h2,.page-content h2{font-size:clamp(1.35rem,2.5vw,1.9rem);font-weight:700;color:var(--text);letter-spacing:-.01em;margin:32px 0 20px;padding-bottom:10px;border-bottom:2px solid var(--border);position:relative}
.entry-content h2::after,.page-content h2::after{content:'';position:absolute;bottom:-2px;left:0;width:48px;height:2px;background:var(--green)}
ul.products li.product{border-radius:10px!important;overflow:hidden;background:var(--white);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}
ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)!important;border-color:rgba(75,184,0,.25)}
ul.products li.product .woocommerce-image__wrapper{overflow:hidden;background:var(--bg-light)}
ul.products li.product .woocommerce-image__wrapper img{transition:transform 0.35s ease}
ul.products li.product:hover .woocommerce-image__wrapper img{transform:scale(1.04)}
ul.products li.product .woocommerce-card__header{padding:12px 14px 14px}
ul.products li.product .woocommerce-loop-product__title,ul.products li.product .woocommerce-loop-product__title a{font-size:13.5px!important;font-weight:600!important;color:var(--text)!important;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-decoration:none}
ul.products li.product .woocommerce-loop-product__title a:hover{color:var(--green)!important}
ul.products li.product .price{color:var(--text)!important;font-size:14px;font-weight:600}
ul.products li.product .price del,ul.products li.product .price del bdi,.price del bdi{color:#666!important;font-weight:400;font-size:12px}
ul.products li.product .price ins{color:var(--green-dark)!important;font-weight:700;text-decoration:none}
ul.products li.product .button,ul.products li.product a.button{background:var(--green-dark)!important;color:var(--white)!important;border:none!important;border-radius:var(--radius)!important;font-weight:600!important;font-size:13px!important;letter-spacing:.02em;padding:10px 16px!important;transition:background var(--transition),transform var(--transition)!important;width:100%;text-align:center;margin-top:8px}
ul.products li.product .button:hover,ul.products li.product a.button:hover{background:var(--green-dark)!important;transform:none}
.onsale,.product-label{font-weight:700!important;font-size:11px!important;border-radius:4px!important;text-transform:uppercase;letter-spacing:.04em}
.onsale{background:#c0181a!important;color:var(--white)!important}
.product-label,.sale-item.product-label,.product-label.type-bubble,.product-label.type-circle,.wc-block-grid__product-onsale{background-color:var(--green-dark)!important;color:var(--white)!important}
.ckit-badge{font-size:10.5px!important;font-weight:700!important;border-radius:4px!important;text-transform:uppercase;letter-spacing:.05em;padding:3px 7px!important;opacity:1!important}
a[rel="tag"],.tagged_as a,.product_meta a,.product__categories a,.woocommerce-card__header .product__categories a,.wc-block-components-product-tags a{display:inline-flex!important;align-items:center;min-height:24px;min-width:24px;padding:4px 8px!important;margin:1px 2px;line-height:1.4;box-sizing:border-box}
.commercekit-wishlist.mini a{background:rgba(255,255,255,.9)!important;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:background var(--transition),transform var(--transition)}
.commercekit-wishlist.mini a:hover{background:var(--white)!important;transform:scale(1.1)}
.button,input[type=submit],.wc-proceed-to-checkout a.button{background:var(--green-dark)!important;color:var(--white)!important;border-radius:var(--radius)!important;font-weight:600!important;letter-spacing:.03em;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)!important;border:none!important}
.button:hover,input[type=submit]:hover,.wc-proceed-to-checkout a.button:hover{background:var(--green-dark)!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(75,184,0,.30)}
.button.alt,.checkout-button,.wc-proceed-to-checkout a.checkout-button{background:var(--green-dark)!important;color:var(--white)!important}
.shoptimizer-mini-cart-wrap{border-left:3px solid var(--green)}
.cart-drawer-heading{font-weight:700;font-size:16px;color:var(--text);padding:16px 20px;border-bottom:1px solid var(--border)}
.site-footer{border-top:4px solid var(--green)!important;background-color:var(--dark)!important}
.site-footer .widget-title,.site-footer h2,.site-footer h3{color:var(--white)!important;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.site-footer p,.site-footer li,.site-footer .textwidget{color:rgba(255,255,255,.72)!important;font-size:13.5px;line-height:1.7}
.site-footer a{color:rgba(255,255,255,.72)!important;transition:color var(--transition)}
.site-footer a:hover{color:var(--green-light)!important}
.site-footer-bottom{border-top:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.25)!important}
.site-footer-bottom *,.site-footer-bottom a{color:rgba(255,255,255,.55)!important;font-size:12px}
.site-footer-bottom a:hover{color:var(--white)!important}
.cgkit-categories .cgkit-cat-item,.wc-block-product-categories-list-item{border-radius:8px;overflow:hidden;transition:transform var(--transition),box-shadow var(--transition)}
.cgkit-categories .cgkit-cat-item:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.cgkit-categories .cgkit-cat-image img{transition:transform 0.35s ease}
.cgkit-categories .cgkit-cat-item:hover .cgkit-cat-image img{transform:scale(1.05)}
.payment-methods img,.trust-badges img{opacity:.75;transition:opacity var(--transition)}
.payment-methods img:hover,.trust-badges img:hover{opacity:1}
.back-to-top,#back-to-top{background:var(--green-dark)!important;color:var(--white)!important;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:background var(--transition),transform var(--transition)}
.back-to-top:hover,#back-to-top:hover{background:var(--green-dark)!important;transform:translateY(-2px)}
.shoptimizer-loader .spinner>div{background:var(--green)}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],textarea,select{border:1.5px solid var(--border)!important;border-radius:var(--radius)!important;font-size:14px!important;padding:10px 14px!important;color:var(--text)!important;transition:border-color var(--transition),box-shadow var(--transition);background:var(--white)!important}
input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=password]:focus,textarea:focus,select:focus{border-color:var(--green)!important;box-shadow:0 0 0 3px rgba(75,184,0,.15)!important;outline:none!important}
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal!important}
.screen-reader-text:focus{clip:auto!important;clip-path:none;display:block;height:auto;left:5px;top:5px;width:auto;z-index:100000;background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);font-size:14px;font-weight:700;padding:10px 16px;text-decoration:none}
html{scroll-behavior:smooth}
ul.products li.product:hover .button,ul.products li.product:hover a.button{background:var(--green)!important;transform:translateY(-1px)!important;box-shadow:0 4px 14px rgba(45,116,0,.40)!important}
.entry-content figure::before,.page-content figure::before{content:'';position:absolute;inset:0;background:linear-gradient(140deg,rgba(45,116,0,.18) 0%,transparent 55%);opacity:0;transition:opacity .35s ease;pointer-events:none;z-index:1;border-radius:10px}
.entry-content figure:hover::before,.page-content figure:hover::before{opacity:1}
.entry-content figcaption,.page-content figcaption{z-index:2;transition:transform .3s ease}
.entry-content figure:hover figcaption,.page-content figure:hover figcaption{transform:translateY(-2px)}
.entry-content figcaption>:last-child:not(strong):not(em),.page-content figcaption>:last-child:not(strong):not(em){display:inline-block;margin-top:6px;padding:4px 12px;background:rgba(75,184,0,.85);color:var(--white);border-radius:50px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .25s ease}
.entry-content figure:hover figcaption>:last-child:not(strong):not(em),.page-content figure:hover figcaption>:last-child:not(strong):not(em){background:var(--green)}
@keyframes shopishop-pulse{0%,100%{transform:scale(1)}55%{transform:scale(1.10)}}
.onsale{animation:shopishop-pulse 2.8s ease infinite}
.star-rating::before,.star-rating span::before{color:var(--amber)!important}
.woocommerce-product-rating .star-rating{color:var(--amber)}
.wc-block-components-product-rating__stars .wc-block-components-review-list-item__rating__stars::before,.wc-block-components-review-list-item__rating__stars{color:var(--amber)!important}
.cart-subtotal .woocommerce-Price-amount,.order-total .woocommerce-Price-amount{color:var(--green-dark);font-weight:700}
a[href*="wa.me"]{display:inline-flex!important;align-items:center;gap:7px;background:#075E54!important;color:var(--white)!important;padding:11px 22px!important;border-radius:50px!important;font-weight:700!important;font-size:14px!important;text-decoration:none!important;box-shadow:0 4px 14px rgba(7,94,84,.35);transition:transform var(--transition),box-shadow var(--transition)!important}
a[href*="wa.me"]:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px rgba(7,94,84,.50)!important;background:#054a42!important}
@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
.woocommerce-image__wrapper:empty,.woocommerce-image__wrapper img[src*="placeholder"]{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:800px 100%;animation:shimmer 1.5s infinite linear}
/* end mobile caret media query */

/* ── Desktop top-level a:after — chevron-down indicator ── */

/* ==========================================================================
 * BEAUTIFICATION PATCH — 12 April 2026
 * Addresses P0-P2 issues from the handover brief
 * ========================================================================== */

/* ------------------------------------------------------------------
 * P0-1: FIX NAVIGATION DROPDOWN — hide sub-menus by default on desktop
 * The parent theme hides sub-menu-wrapper via visibility:hidden + opacity:0,
 * but something (likely Kirki/Customizer) is overriding it. Force the fix.
 * ------------------------------------------------------------------ */

/* ------------------------------------------------------------------
 * P0-2: FIX DUPLICATE NAV AT 1440px
 * The sticky header creates a duplicate nav — ensure only ONE is visible.
 * When sticky nav is NOT stuck, only the original col-full-nav shows.
 * ------------------------------------------------------------------ */

/* ------------------------------------------------------------------
 * P0-3: FIX HOMEPAGE WHITESPACE
 * The .shoptimizer-archive wrapper inside header.php creates an empty
 * container on template-canvas pages. Collapse it on the homepage.
 * ------------------------------------------------------------------ */
.page-template-template-canvas .shoptimizer-archive {
    display: contents; /* Let children flow without the wrapper affecting layout */
}
.page-template-template-canvas .archive-header {
    display: none; /* Hide the empty archive header on canvas pages */
}
/* Ensure the .woocommerce wrapper inside entry-content doesn't create extra space */
.page-template-template-canvas .entry-content > .woocommerce:empty {
    display: none;
}
/* The col-full inside shoptimizer-archive on canvas pages should not constrain */
.page-template-template-canvas .shoptimizer-archive > .col-full {
    max-width: 100%;
    padding: 0;
}
/* ------------------------------------------------------------------
 * P0-4: HERO BANNER FULL WIDTH
 * Make the hero/slider span the full viewport on the homepage.
 * The template-canvas already sets max-width:inherit on .col-full,
 * but figures inside entry-content need explicit full-width treatment.
 * ------------------------------------------------------------------ */
.page-template-template-canvas .entry-content {
    width: 100%;
    max-width: 100%;
}
/* Hero banner figures — full width, edge to edge */
.page-template-template-canvas .entry-content > figure,
.page-template-template-canvas .entry-content > p > a > img,
.page-template-template-canvas .entry-content > .wp-block-image {
    width: 100%;
    max-width: 100%;
}
/* Hero section: first figure should be full-bleed with overlay text */
.page-template-template-canvas .entry-content > figure:first-of-type {
    width: 100%;
    max-width: 100%;
    margin: 0;
    border-radius: 0;
}
.page-template-template-canvas .entry-content > figure:first-of-type img {
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: cover;
}
/* Hero text overlays — positioned over the banner */
.page-template-template-canvas .entry-content {
    position: relative;
}
/* "Shop Now" CTA and heading text — position within the hero area */
.page-template-template-canvas .entry-content > h1:first-of-type,
.page-template-template-canvas .entry-content > h2:nth-of-type(1) {
    position: relative;
    z-index: 2;
    padding-left: 5%;
    padding-right: 5%;
    max-width: 1190px;
    margin-left: auto;
    margin-right: auto;
}
/* CTA button within hero area */
.page-template-template-canvas .entry-content > p:first-of-type {
    position: relative;
    z-index: 2;
    padding-left: 5%;
    padding-right: 5%;
    max-width: 1190px;
    margin-left: auto;
    margin-right: auto;
}
/* Category tiles / figure grid below the hero — contained width */
.page-template-template-canvas .entry-content > figure:not(:first-of-type) {
    border-radius: 10px;
}
/* Product sections within entry-content should be contained */
.page-template-template-canvas .entry-content > h2,
.page-template-template-canvas .entry-content > .woocommerce {
    max-width: 1190px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2.617924em;
    padding-right: 2.617924em;
}
/* Product grid layout on homepage */
.page-template-template-canvas .entry-content .woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    width: 100%;
    margin-left: 0;
}
.page-template-template-canvas .entry-content .woocommerce ul.products li.product {
    width: 100%;
    padding: 0;
    margin: 0;
}
/* Category tile grid — 3 columns on desktop */
/* Entry content: block layout (not flex — hero text overlay needs block flow) */
.page-template-template-canvas .entry-content {
    display: block;
    width: 100%;
}
/* ------------------------------------------------------------------
 * P1-5: FIX TABLET BREAKPOINT FOR MOBILE MENU
 * Activate mobile menu at 1024px instead of 992px to cover tablets.
 * We do this by showing mobile elements and hiding desktop nav at 1024px.
 * ------------------------------------------------------------------ */

/* ------------------------------------------------------------------
 * P1-6: COLLAPSE CATEGORY DESCRIPTIONS
 * Add CSS for the "Read more" toggle on category descriptions.
 * The JS toggle will be added via functions.php.
 * ------------------------------------------------------------------ */
.term-description,
.woocommerce-products-header .taxonomy-description,
.shoptimizer-category-banner .taxonomy-description {
    max-height: 80px;
    overflow: hidden;
    position: relative;
    transition: max-height 0.4s ease;
}
/* ------------------------------------------------------------------
 * P2-8: PRODUCT CARD IMPROVEMENTS
 * Better styling for product cards, consistent image aspect ratios,
 * hover effects, visible discount badges.
 * ------------------------------------------------------------------ */

/* Consistent image aspect ratio */
ul.products li.product .woocommerce-image__wrapper {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--bg-light, #f8fafc);
}
ul.products li.product .woocommerce-image__wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* Placeholder image styling */
ul.products li.product .woocommerce-image__wrapper img[src*="placeholder"],
ul.products li.product .woocommerce-image__wrapper img[src*="noimage"] {
    object-fit: contain;
    padding: 20px;
    opacity: 0.5;
}
/* Star ratings display */
ul.products li.product .star-rating {
    display: block;
    margin: 4px 0;
    font-size: 12px;
}
/* ------------------------------------------------------------------
 * P2-9: FOOTER IMPROVEMENTS
 * More content-rich footer for an e-commerce site.
 * ------------------------------------------------------------------ */
.site-footer {
    padding-top: 48px !important;
}
.site-footer .col-full {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}
.site-footer .widget {
    margin-bottom: 0;
}
/* Footer bottom bar */
.site-footer-bottom,
footer.copyright {
    padding: 16px 0;
    margin-top: 32px;
}
/* ------------------------------------------------------------------
 * P2-7: COLOR & TYPOGRAPHY CONSISTENCY
 * Consistent hover transitions and refined spacing.
 * ------------------------------------------------------------------ */

/* Smooth hover transitions everywhere */
a, button, .button, input[type=submit] {
    transition: color 0.2s ease, background-color 0.2s ease, 
                border-color 0.2s ease, transform 0.2s ease, 
                box-shadow 0.2s ease;
}
/* Navigation hover effects — add subtle background highlight */

/* Consistent currency formatting helper — use period separator */
/* (This needs JS; CSS can't change content, but we can ensure uniform sizing) */
.woocommerce-Price-amount.amount {
    white-space: nowrap;
}
/* Consistent heading underline accent */
.entry-content h2::after,
.page-content h2::after,
.related > h2::after,
.up-sells > h2::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 48px;
    height: 2px;
    background: var(--green, #4BB800);
}
/* Promo bar — match nav green */
.header-widget-region {
    background: var(--green-dark, #2d7400) !important;
}
/* P2-7: Fix cart text contrast in dark nav bar */
.col-full-nav .shoptimizer-cart a.cart-contents,
.col-full-nav .shoptimizer-cart a.cart-contents .amount,
.col-full-nav .shoptimizer-cart a.cart-contents .woocommerce-Price-amount,
.col-full-nav .shoptimizer-cart a.cart-contents .woocommerce-Price-currencySymbol {
    color: rgba(255,255,255,.92) !important;
}
.col-full-nav .shoptimizer-cart a.cart-contents:hover,
.col-full-nav .shoptimizer-cart a.cart-contents:hover .amount {
    color: var(--green-light) !important;
}
@media (max-width:768px) {
.shoptimizer-mobile-menu{background-color:var(--dark)!important}.shoptimizer-mobile-menu a{color:rgba(255,255,255,.88)!important;border-bottom-color:rgba(255,255,255,.10)!important;font-size:15px;padding:13px 16px!important}.shoptimizer-mobile-menu a:hover{color:var(--green-light)!important;background:rgba(255,255,255,.05)}.site-search{max-width:100%}.entry-content>h1:first-child,.entry-content h1:first-of-type{font-size:1.7rem}
}
@media(max-width:600px) {
ul.products li.product .button,ul.products li.product a.button{font-size:12px!important;padding:9px 12px!important}.entry-content>p>a:not([href*="wa.me"]):not([rel*="tag"]),.entry-content .wp-block-button__link{font-size:13.5px!important;padding:11px 22px!important}.single-product .single_add_to_cart_button{width:100%!important;padding:14px 20px!important}a[href*="wa.me"]{font-size:13px!important;padding:10px 18px!important}
}
@media(prefers-reduced-motion:reduce) {
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media (max-width: 992px) {
/* ==========================================================================
 * SUBMENU TOGGLE: + / − icons with high-contrast white colour
 * Replaces the chevron/down-arrow with a clearly visible + (closed)
 * and − (open) on the dark navigation bar background.
 * ========================================================================== */

/* ── Mobile/tablet span.caret — default state: + ── */
.main-navigation ul.menu li.menu-item-has-children span.caret:after,
.shoptimizer-mobile-menu li.menu-item-has-children span.caret:after {
    background-color: #ffffff !important;
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 5v14M5 12h14' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
            mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 5v14M5 12h14' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    -webkit-mask-position: center !important;
            mask-position: center !important;
    -webkit-mask-repeat: no-repeat !important;
            mask-repeat: no-repeat !important;
    -webkit-mask-size: contain !important;
            mask-size: contain !important;
}

/* ── Nested sub-level carets (was opacity:0.5) — keep full opacity for contrast ── */
.main-navigation ul.menu li.menu-item-has-children li.menu-item-has-children span.caret:after {
    opacity: 1 !important;
    background-color: rgba(255,255,255,0.85) !important;
}

/* ── When sub-menu is open: span.caret shows − ── */
.main-navigation ul.menu > li.menu-item-has-children.dropdown-open > span.caret,
.main-navigation ul.menu li.menu-item-has-children li.menu-item-has-children.dropdown-open > span.caret,
.shoptimizer-mobile-menu li.menu-item-has-children.dropdown-open > span.caret {
    transform: none !important;
    transition: none !important;
}
.main-navigation ul.menu > li.menu-item-has-children.dropdown-open > span.caret:after,
.main-navigation ul.menu li.menu-item-has-children li.menu-item-has-children.dropdown-open > span.caret:after,
.shoptimizer-mobile-menu li.menu-item-has-children.dropdown-open > span.caret:after {
    background-color: #ffffff !important;
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12h14' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
            mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12h14' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}
.page-template-template-canvas .entry-content .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}
@media (min-width: 993px) {
.menu-primary-menu-container > ul > li.menu-item-has-children > a:after,
    .menu-primary-menu-container > ul > li.menu-item-has-children.nolink > span:after {
        background-color: rgba(255,255,255,0.75) !important;
        -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 9L12 16L5 9' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
                mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 9L12 16L5 9' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
        width: 12px !important;
        height: 12px !important;
        transition: transform 0.2s ease;
    }

    /* On hover (desktop), rotate chevron up */
    .main-navigation ul.menu > li.menu-item-has-children:hover > a:after,
    .main-navigation ul.menu > li.menu-item-has-children.nolink:hover > span:after {
        transform: rotate(180deg) !important;
        background-color: rgba(255,255,255,0.95) !important;
    }

    /* Tighter nav spacing to fit all items in one row */
    .menu-primary-menu-container > ul > li > a {
        padding-right: 0.45em !important;
        padding-left: 0.45em !important;
        font-size: 14px !important;
    }

    /* Hide mobile span.caret toggles on desktop */
    .main-navigation ul.menu li.menu-item-has-children > span.caret {
        display: none !important;
    }
/* Ensure all sub-menu wrappers are hidden by default (display:block so CSS hover works) */
    .main-navigation ul.menu > li > .sub-menu-wrapper,
    .main-navigation ul.menu li.menu-item-has-children > .sub-menu-wrapper {
        display: block !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none;
        position: absolute;
        transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    }

    /* Show on hover */
    .main-navigation ul.menu > li:hover > .sub-menu-wrapper,
    .main-navigation ul.menu > li:focus-within > .sub-menu-wrapper,
    .main-navigation ul.menu li.menu-item-has-children:hover > .sub-menu-wrapper,
    .main-navigation ul.menu li.menu-item-has-children:focus-within > .sub-menu-wrapper {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto;
        transform: none !important;
    }

    /* Non-full-width: standard dropdown positioning */
    .main-navigation ul.menu > li:not(.full-width) > .sub-menu-wrapper {
        transform: translateY(8px) scale(0.97);
    }
    .main-navigation ul.menu > li:not(.full-width):hover > .sub-menu-wrapper {
        transform: translateY(0) scale(1) !important;
    }

    /* Full-width megas: slide down */
    .main-navigation ul.menu li.full-width > .sub-menu-wrapper {
        transform: translateY(-8px);
    }
    .main-navigation ul.menu li.full-width:hover > .sub-menu-wrapper {
        transform: translateY(0) !important;
    }

    /* Nested sub-menus inside full-width megas should be visible (relative positioned) */
    .main-navigation ul.menu li.full-width ul li > .sub-menu-wrapper {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto;
        position: relative !important;
        transform: none !important;
    }

    /* Hide mobile caret toggle buttons on desktop */
    .main-navigation ul.menu li.menu-item-has-children > span.caret {
        display: none !important;
    }

    /* Ensure sub-menu ul.sub-menu inside wrappers display correctly when visible */
    .main-navigation ul.menu li.full-width > .sub-menu-wrapper > .container > ul.sub-menu {
        display: flex;
        justify-content: center;
    }
/* When NOT stuck, the .is_stuck wrapper should be invisible */
    .col-full-nav .is_stuck {
        display: none;
    }
    
    /* Prevent double rendering of nav */
    .shoptimizer-primary-navigation {
        display: flex;
        align-items: center;
    }
.col-full-nav .main-navigation ul.menu > li > a {
        position: relative;
        transition: color 0.2s ease, background-color 0.2s ease;
    }
    
    .col-full-nav .main-navigation ul.menu > li > a:hover,
    .col-full-nav .main-navigation ul.menu > li > a:focus {
        background: rgba(255,255,255,0.08);
        border-radius: 4px;
    }
}
@media (max-width: 480px) {
.page-template-template-canvas .entry-content .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
.site-footer .col-full {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}
@media (max-width: 1024px) and (min-width: 993px) {
/* Show mobile toggle */
    .site-branding button.menu-toggle {
        display: block !important;
    }
    
    /* Hide desktop primary navigation items */
    .shoptimizer-primary-navigation .menu-primary-menu-container {
        display: none !important;
    }
    
    /* Hide secondary navigation on tablet */
    .secondary-navigation {
        display: none !important;
    }
    
    /* Ensure col-full-nav behaves like mobile */
    .col-full-nav {
        position: fixed !important;
        z-index: 102;
        padding: 0 15px;
        top: 0;
        bottom: 0;
        height: 100%;
        left: -300px;
        width: 300px;
        overflow-y: auto;
        overflow-x: hidden;
        background: #fff;
    }
    
    body.mobile-toggled .col-full-nav {
        left: 0;
    }
}
@media (max-width: 768px) {
.site-footer .col-full {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}