.jb-header.jb-nav-ready *,.jb-site-header.jb-nav-ready *{box-sizing:border-box}
.jb-header.jb-nav-ready,.jb-site-header.jb-nav-ready{display:flex;align-items:center;gap:16px}
#jb-pages .jb-header.jb-nav-ready .jb-cart-icon,.jb-site-header.jb-nav-ready .jb-cart-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex-shrink:0;padding:8px;color:inherit;background:transparent;border:0;text-decoration:none}
#jb-pages .jb-header .jb-menu-toggle,.jb-site-header .jb-menu-toggle{display:none}
.jb-cart-count{position:absolute;right:0;top:0;min-width:19px;height:19px;padding:0 4px;border-radius:12px;background:#2e7d32;color:#fff;font:bold 11px/19px Arial,sans-serif;text-align:center}
.jb-cart-count[hidden]{display:none!important}
@media(max-width:1240px){
#jb-pages .jb-header.jb-nav-ready,.jb-site-header.jb-nav-ready{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;align-items:center;padding:16px 20px}
#jb-pages .jb-header.jb-nav-ready .jb-menu-toggle,.jb-site-header.jb-nav-ready .jb-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:8px;background:transparent;color:inherit;border:1px solid #d7dfd6;border-radius:4px;grid-column:1;grid-row:1}
#jb-pages .jb-header.jb-nav-ready .jb-brand,.jb-site-header.jb-nav-ready>a:not(.jb-cart-icon){grid-column:2;grid-row:1;justify-self:center;width:auto;min-width:0;max-width:190px;margin:0}
#jb-pages .jb-header.jb-nav-ready .jb-logo,.jb-site-header.jb-nav-ready>a img{width:100%;max-width:190px;height:auto}
#jb-pages .jb-header.jb-nav-ready .jb-cart-icon,.jb-site-header.jb-nav-ready .jb-cart-icon{grid-column:3;grid-row:1}
#jb-pages .jb-header.jb-nav-ready nav,.jb-site-header.jb-nav-ready nav{display:none;grid-column:1/-1;grid-row:2;width:100%;padding:8px 0;border-top:1px solid #d7dfd6}
#jb-pages .jb-header.jb-menu-open nav,.jb-site-header.jb-menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:0}
#jb-pages .jb-header.jb-nav-ready nav button,.jb-site-header.jb-nav-ready nav a{display:block;width:100%;min-height:44px;text-align:left;padding:12px;font-size:16px;box-sizing:border-box}
}

.jb-site-header,#jb-pages .jb-header{position:relative}
.jb-header-search[hidden]{display:none!important}
#jb-pages .jb-header .jb-search-toggle,.jb-site-header .jb-search-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;min-height:44px;padding:8px;border:0;background:transparent;color:inherit;cursor:pointer}
.jb-header-search{position:absolute;right:0;top:100%;z-index:1100;width:540px;max-width:calc(100vw - 24px);max-height:70vh;overflow:auto;padding:20px;background:#fff;color:#203d2c;border:1px solid #d7dfd6;border-radius:6px;box-shadow:0 8px 24px #0002;text-align:left}
.jb-header-search form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.jb-header-search label{grid-column:1/-1;font-size:14px;font-weight:600}
#jb-pages .jb-header-search input,.jb-header-search input{width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid #85958a;border-radius:4px;margin:0;font:inherit;background:#fff;color:#203d2c}
#jb-pages .jb-header-search form button,.jb-header-search form button{min-height:44px;padding:10px 14px;border:0;border-radius:4px;background:#2e7d32;color:#fff;font:inherit;cursor:pointer}
.jb-search-results{list-style:none;margin:0;padding:0}.jb-search-results li{padding:12px 0;border-top:1px solid #d7dfd6}.jb-search-results a{font-weight:600;color:#216b2c}.jb-search-results p,.jb-search-status{font-size:14px;line-height:1.5;margin:8px 0}
.jb-search-toggle:focus-visible,.jb-header-search :focus-visible{outline:3px solid #2e7d32;outline-offset:3px}
@media(max-width:1240px){
#jb-pages .jb-header.jb-nav-ready,.jb-site-header.jb-nav-ready{grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:8px}
#jb-pages .jb-header.jb-nav-ready .jb-search-toggle,.jb-site-header.jb-nav-ready .jb-search-toggle{grid-column:3;grid-row:1}
#jb-pages .jb-header.jb-nav-ready .jb-cart-icon,.jb-site-header.jb-nav-ready .jb-cart-icon{grid-column:4;grid-row:1}
.jb-header-search{right:12px;width:calc(100% - 24px)}
}
.jb-cart-preview[hidden]{display:none!important}
.jb-cart-preview{position:absolute;right:0;top:calc(100% - 8px);z-index:1000;width:340px;max-width:calc(100vw - 40px);max-height:65vh;overflow:auto;padding:18px;background:#fff;color:#203d2c;border:1px solid #d7dfd6;border-radius:6px;box-shadow:0 8px 24px #0002;font-size:15px;text-align:left}
.jb-preview-heading{font-weight:700;margin:0 0 12px}.jb-preview-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e5ebe5}.jb-preview-item img.jb-cart-thumbnail{width:76px!important;max-width:76px;height:55px!important;object-fit:contain}.jb-preview-item span{min-width:0}.jb-preview-item small{display:block;margin-top:5px}.jb-preview-links{display:flex;gap:8px;margin-top:14px}.jb-preview-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;background:#2e7d32;color:#fff!important;border-radius:4px;text-decoration:none!important}


.jb-site-header a[href],.jb-site-header button:not(:disabled),.jb-site-footer a[href],body.woocommerce-cart button:not(:disabled),body.woocommerce-cart a[href],body.woocommerce-checkout button:not(:disabled),body.woocommerce-checkout a[href]{cursor:pointer}

@media(min-width:1241px){#jb-pages .jb-header.jb-nav-ready,.jb-site-header.jb-nav-ready{gap:12px;padding-left:22px;padding-right:22px}#jb-pages .jb-header.jb-nav-ready .jb-brand{flex:0 0 160px}#jb-pages .jb-header.jb-nav-ready .jb-logo,.jb-site-header.jb-nav-ready>a img{width:160px}#jb-pages .jb-header.jb-nav-ready nav,.jb-site-header.jb-nav-ready nav{flex-wrap:nowrap;gap:2px}#jb-pages .jb-header.jb-nav-ready nav a,#jb-pages .jb-header.jb-nav-ready nav button,.jb-site-header.jb-nav-ready nav a{font-size:12px;white-space:nowrap;padding:10px 7px;min-height:44px}}

/* The cart link still opens the full cart; the adjacent control opens a tap-friendly preview. */
#jb-pages .jb-header .jb-cart-preview-toggle,.jb-site-header .jb-cart-preview-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;min-height:44px;padding:4px;border:0;background:transparent;color:inherit;cursor:pointer;}
.jb-cart-preview-toggle:focus-visible,.jb-cart-preview button:focus-visible{outline:3px solid #2e7d32;outline-offset:3px;}
.jb-cart-preview .jb-preview-item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:10px;}
#jb-pages .jb-cart-preview button,.jb-site-header .jb-cart-preview button{font:inherit;min-height:44px;cursor:pointer;border-radius:4px;}
#jb-pages .jb-cart-preview .jb-preview-remove,.jb-site-header .jb-cart-preview .jb-preview-remove{padding:6px;border:0;background:transparent;color:#a32a24;font-size:13px;text-decoration:underline;}
#jb-pages .jb-cart-preview .jb-preview-undo button,.jb-site-header .jb-cart-preview .jb-preview-undo button{padding:6px 10px;background:#f4ead7;border:1px solid #c6b994;color:#203d2c;font-weight:600;}
.jb-preview-undo{margin:10px 0;padding:8px;background:#f8f5ed;font-size:14px;}
.jb-preview-totals{margin:12px 0;font-size:13px;}.jb-preview-totals>div{display:flex;justify-content:space-between;gap:12px;margin:7px 0;}.jb-preview-totals dt{min-width:0;}.jb-preview-totals dd{margin:0;text-align:right;}.jb-preview-total{padding-top:8px;border-top:1px solid #d7dfd6;font-weight:700;}
.jb-preview-status{font-size:13px;line-height:1.5;margin:10px 0 0;}.jb-cart-preview[aria-busy=true]{opacity:.75;}.jb-cart-preview button:disabled{cursor:wait!important;}
@media(max-width:1240px){
#jb-pages .jb-header.jb-nav-ready,.jb-site-header.jb-nav-ready{grid-template-columns:44px minmax(0,1fr) 44px 44px 28px;gap:4px;}
#jb-pages .jb-header.jb-nav-ready .jb-cart-preview-toggle,.jb-site-header.jb-nav-ready .jb-cart-preview-toggle{grid-column:5;grid-row:1;}
.jb-cart-preview{right:12px;top:100%;width:360px;max-width:calc(100vw - 24px);max-height:70vh;padding:14px;}
}

/* Mouse users retain hover; touch-capable devices keep the explicit preview control. */
@media(hover:hover) and (pointer:fine) and (any-pointer:coarse){.jb-cart-preview-toggle{display:inline-flex!important;}}
@media(hover:hover) and (pointer:fine) and (any-pointer:fine){
 html:not(.jb-has-touch) #jb-pages .jb-header .jb-cart-preview-toggle,html:not(.jb-has-touch) .jb-site-header .jb-cart-preview-toggle{display:none;}
}

@media(max-width:1240px) and (hover:hover) and (pointer:fine){html:not(.jb-has-touch) #jb-pages .jb-header.jb-nav-ready,html:not(.jb-has-touch) .jb-site-header.jb-nav-ready{grid-template-columns:44px minmax(0,1fr) 44px 44px;}}

/* Crawlable navigation preserves the former button appearance. */
#jb-pages .jb-nav>a[data-page],#jb-pages .jb-nav>a[href]:not(.jb-gallery-nav){display:inline-flex;align-items:center;min-height:44px;padding:8px 7px;font-size:14px;color:var(--jb-ink);text-decoration:none;white-space:nowrap}
#jb-pages a.jb-primary{display:inline-block;text-decoration:none}
@media(max-width:1240px){#jb-pages .jb-header.jb-nav-ready nav>a{display:block;width:100%;min-height:44px;text-align:left;padding:12px;font-size:16px;box-sizing:border-box}}
#jb-pages a[data-page]:not(.jb-gallery-nav){font:inherit;min-height:44px;padding:11px 17px;border:1px solid var(--jb-line);border-radius:4px;color:var(--jb-ink);background:var(--jb-bg);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
#jb-pages a[data-page].jb-primary{background:var(--jb-accent);color:var(--jb-on);border-color:var(--jb-accent)}
#jb-pages .jb-nav>a[data-page]{border:0;padding:8px 7px;font-size:14px;justify-content:flex-start}
#jb-pages .jb-nav>a[aria-current="page"]{text-decoration:underline;text-underline-offset:8px}
#jb-pages a[data-page]:focus-visible{outline:3px solid #2e7d32;outline-offset:3px}
@media(max-width:1240px){#jb-pages .jb-header.jb-nav-ready nav>a[data-page]{padding:12px;font-size:16px}}

/* Service Area: keep the primary CTA legible against its existing green background. */
#jb-area-page .jb-actions button.jb-primary,#jb-area-page .jb-actions button.jb-primary:hover,#jb-area-page .jb-actions button.jb-primary:focus{color:#fff}
