/* ============================================================
   Capstone Productions — WooCommerce styling (Slice 5)
   Shop archive, single product, cart/checkout — brand skin.
   ============================================================ */

/* ---- Trade-pricing notice bar ---- */
.cap-tradebar{background:var(--cap-tint);color:var(--cap-blue-dark);font:400 13px var(--cap-body);padding:11px 52px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #d5e3fb}
.cap-tradebar a{color:var(--cap-blue);font-weight:700}

/* ---- Shop layout ---- */
.cap-shop .wp-block-columns{gap:32px}
.cap-shop-side{font-size:14px}
.cap-shop-side .grp{border-bottom:1px solid var(--cap-border);padding:18px 0}
.cap-shop-side .grp:first-child{padding-top:0}
.cap-shop-side h4{font:700 13px var(--cap-head);text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px;color:var(--cap-text)}
.cap-shop-side .cap-catlink{display:block;padding:5px 0;color:var(--cap-muted);text-decoration:none}
.cap-shop-side .cap-catlink:hover,.cap-shop-side .cap-catlink.on{color:var(--cap-blue);font-weight:600}
.cap-shop-side label{display:flex;align-items:center;gap:8px;padding:4px 0;color:var(--cap-muted);cursor:pointer}
.cap-shop-side label:hover{color:var(--cap-text)}
.cap-shop-side .cap-price-in{display:flex;gap:8px;align-items:center}
.cap-shop-side .cap-price-in input{width:80px;border:1px solid var(--cap-border);border-radius:6px;padding:7px;font:400 14px var(--cap-body)}
.cap-shop-side .cap-price-in span{color:var(--cap-muted)}
.cap-shop-side .cap-apply{margin-top:14px;background:var(--cap-blue);color:#fff;border:none;border-radius:6px;padding:9px 16px;font:600 13px var(--cap-body);cursor:pointer;width:100%}
/* Sidebar product search */
.cap-shop-search{display:flex;margin-bottom:20px;border:1px solid var(--cap-border);border-radius:8px;overflow:hidden}
.cap-shop-search input[type=search]{flex:1;min-width:0;border:none;padding:10px 12px;font:400 14px var(--cap-body);outline:none}
.cap-shop-search button{border:none;background:var(--cap-blue);color:#fff;padding:0 16px;cursor:pointer;font:600 13px var(--cap-body)}

/* Shop controls bar: per-page selector (left) + grid/list toggle (right) */
.cap-viewtoggle{display:flex;gap:12px;justify-content:flex-end;align-items:center;flex-wrap:wrap;margin:0 0 16px}
.cap-viewtoggle button{border:1px solid var(--cap-border);background:#fff;border-radius:6px;padding:6px 12px;font:600 12px var(--cap-body);color:var(--cap-muted);cursor:pointer}
.cap-viewtoggle button.on{background:var(--cap-blue);color:#fff;border-color:var(--cap-blue)}
.cap-perpage{position:relative;display:flex;align-items:center}
.cap-perpage-btn{display:flex;align-items:center;gap:6px;border:1px solid var(--cap-border);background:#fff;border-radius:6px;padding:6px 12px;font:600 12px var(--cap-body);color:var(--cap-muted);cursor:pointer}
.cap-perpage-btn:hover,.cap-perpage.open .cap-perpage-btn{border-color:var(--cap-blue);color:var(--cap-blue)}
.cap-pp-cur{font-weight:700}
.cap-pp-caret{font-size:10px;line-height:1}
.cap-perpage-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:150px;background:#fff;border:1px solid var(--cap-border);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.14);padding:6px;display:none;z-index:250}
.cap-perpage.open .cap-perpage-menu{display:block}
.cap-perpage-menu a{display:block;padding:8px 12px;border-radius:6px;font:600 13px var(--cap-body);color:var(--cap-text);text-decoration:none}
.cap-perpage-menu a:hover{background:var(--cap-tint);color:var(--cap-blue)}
.cap-perpage-menu a.on{background:var(--cap-blue);color:#fff}
/* Right cluster: expanding product search + grid/list toggle */
.cap-rightctrls{display:flex;align-items:center;gap:8px}
.cap-shopsearch{display:flex;align-items:center}
.cap-shopsearch-btn{display:flex;align-items:center;justify-content:center;border:1px solid var(--cap-border);background:#fff;border-radius:6px;padding:6px 12px;color:var(--cap-muted);cursor:pointer;line-height:0}
.cap-shopsearch-btn:hover,.cap-shopsearch.open .cap-shopsearch-btn{border-color:var(--cap-blue);color:var(--cap-blue)}
.cap-shopsearch-form{display:flex;align-items:center;overflow:hidden}
.cap-shopsearch-form input[type=search]{width:0;padding:0;border:1px solid transparent;border-radius:6px;font:400 13px var(--cap-body);color:var(--cap-text);background:#fff;transition:width .18s ease,padding .18s ease,border-color .18s ease}
.cap-shopsearch.open .cap-shopsearch-form input[type=search]{width:210px;max-width:52vw;padding:6px 10px;border-color:var(--cap-border);margin-right:6px}
.cap-shopsearch-form input[type=search]:focus{outline:none;border-color:var(--cap-blue)}

/* SKU line — shown in detailed list view; hidden on grid cards to keep them visual */
.cap-pcard .cap-psku{display:none;font:500 11px var(--cap-body);color:var(--cap-muted);letter-spacing:.02em}

/* List view: detailed, scannable rows (thumbnail, category, name, SKU, price) */
.woocommerce ul.products.cap-listview{display:flex !important;flex-direction:column;gap:8px !important;grid-template-columns:none !important}
.woocommerce ul.products.cap-listview .cap-pcard{flex-direction:row;align-items:center;gap:16px;padding:10px 16px;border-radius:8px}
.woocommerce ul.products.cap-listview .cap-pcard:hover{transform:none;box-shadow:0 3px 12px rgba(0,0,0,.07)}
.woocommerce ul.products.cap-listview .cap-pcard .cap-pcard-img{width:64px;height:64px;min-height:0;border-radius:6px;flex:none}
.woocommerce ul.products.cap-listview .cap-pcard .cap-pcard-img.has-img{padding:3px}
.woocommerce ul.products.cap-listview .cap-pcard .cap-pcard-img .cap-pbdg{display:none}
.woocommerce ul.products.cap-listview .cap-pcard .cap-ph{font-size:0;opacity:.34}
.woocommerce ul.products.cap-listview .cap-pcard .cap-ph svg{width:58%;height:58%;max-width:34px;max-height:34px}
.woocommerce ul.products.cap-listview .cap-pcard .cap-pcard-body{flex:1;min-width:0;padding:0;display:flex;flex-direction:column;justify-content:center;gap:3px}
.woocommerce ul.products.cap-listview .cap-pcard .cap-pcl{margin:0}
.woocommerce ul.products.cap-listview .cap-pcard .cap-pnm{min-height:0;margin:0;font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.woocommerce ul.products.cap-listview .cap-pcard .cap-psku{display:block}
.woocommerce ul.products.cap-listview .cap-pcard .cap-ppr{font-size:16px;margin-top:2px}
.woocommerce ul.products.cap-listview .cap-pcard .cap-ptr{display:none}
.woocommerce ul.products.cap-listview .cap-pcard .cap-pft{flex:none;width:auto;padding:0;border-left:none;flex-direction:row;gap:8px;align-items:center}
.woocommerce ul.products.cap-listview .cap-pcard .cap-pft .button,
.woocommerce ul.products.cap-listview .cap-pcard .cap-pft .cap-add{flex:none;padding:9px 20px;white-space:nowrap}
.woocommerce ul.products.cap-listview .cap-pcard .cap-wish{display:none}
@media(max-width:640px){
	.woocommerce ul.products.cap-listview .cap-pcard{flex-wrap:wrap}
	.woocommerce ul.products.cap-listview .cap-pcard .cap-pft{width:100%;justify-content:flex-end}
}

/* Woo result count + ordering */
.woocommerce .woocommerce-result-count{color:var(--cap-muted);font:400 14px var(--cap-body);margin:0 0 18px}
.woocommerce .woocommerce-ordering select{border:1px solid var(--cap-border);border-radius:6px;padding:8px 12px;font:400 14px var(--cap-body)}
.cap-shop .cap-searchtitle{font:700 26px var(--cap-head);color:var(--cap-text);margin:0 0 18px;letter-spacing:.01em}

/* ---- Product grid + Capstone card ---- */
.woocommerce ul.products{display:grid !important;grid-template-columns:repeat(6,1fr);gap:16px;margin:0;padding:0;list-style:none}
@media(max-width:1400px){.woocommerce ul.products{grid-template-columns:repeat(5,1fr)}}
@media(max-width:1150px){.woocommerce ul.products{grid-template-columns:repeat(4,1fr)}}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none !important}
.woocommerce ul.products li.product{width:auto !important;margin:0 !important;float:none !important;padding:0}
.cap-pcard{border:1px solid var(--cap-border);border-radius:10px;overflow:hidden;background:#fff;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}
.cap-pcard:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-2px)}
.cap-pcard .cap-pcard-img{height:170px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--cap-light);background-image:linear-gradient(150deg,#EEF3FA,#E3EBF6)}
/* Real image present: white backdrop (so transparent PNGs don't reveal the blue gradient) + contain so the whole product shows uncropped. Gradient stays only for the placeholder. */
.cap-pcard .cap-pcard-img.has-img{background:#fff;padding:8px}
.cap-pcard .cap-pcard-img img{width:100%;height:100%;object-fit:contain}
/* Woo core's ".woocommerce ul.products li.product a img{height:auto}" outranks
   the rule above inside the product loop, so portrait photos overflowed their
   panel (masked by overflow:hidden until the homepage cards went hero-scale).
   Restate at winning specificity. */
.woocommerce ul.products li.product.cap-pcard .cap-pcard-img img{width:100%;height:100%;object-fit:contain}
/* No-photo placeholder: category-matched line icon on a soft tint, so an
   absent product photo reads as deliberate rather than broken. ~444 of the
   catalogue are accessories/spares no manufacturer photographs. */
.cap-pcard .cap-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--cap-blue);opacity:.30}
.cap-pcard .cap-ph svg{width:46%;height:46%;max-width:78px;max-height:78px}
.cap-pcard:hover .cap-ph{opacity:.42;transition:opacity .15s ease}
/* Non-product search results (pages) listed under the product grid. */
.cap-searchpages{margin-top:40px;padding-top:28px;border-top:1px solid var(--cap-border)}
.cap-searchpages h2{font:700 20px var(--cap-head);text-transform:uppercase;color:var(--cap-text);margin:0 0 14px;letter-spacing:.01em}
.cap-searchpages ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cap-searchpages a{color:var(--cap-blue);text-decoration:none;font:500 15px var(--cap-body);border-bottom:1px solid transparent}
.cap-searchpages a:hover{border-bottom-color:var(--cap-blue)}

/* Solid Capstone blue, not a white scrim. The translucent-white version was
   carried over from the homepage mockup where the badge sat on a dark gradient;
   on a product card the panel behind it is #fff (photo) or a pale tint (no
   photo), so white-on-18%-white made the brand name invisible on every card. */
.cap-pcard .cap-pbdg{position:absolute;top:10px;left:10px;font:600 10px var(--cap-body);padding:3px 8px;border-radius:4px;background:var(--cap-blue);color:#fff;text-transform:uppercase;letter-spacing:.05em}
.cap-pcard .cap-pcard-body{padding:14px 16px;flex:1}
.cap-pcard .cap-pcl{font:500 9px var(--cap-body);letter-spacing:.1em;text-transform:uppercase;color:var(--cap-muted);margin:0 0 3px}
.cap-pcard .cap-pnm{display:block;font:600 13px/1.3 var(--cap-body);color:var(--cap-text);margin:0 0 8px;text-decoration:none;min-height:34px}
.cap-pcard .cap-pnm:hover{color:var(--cap-blue)}
.cap-pcard .cap-ppr{font:700 20px var(--cap-head);color:var(--cap-text)}
.cap-pcard .cap-ppr .woocommerce-Price-amount{font-weight:700}
.cap-pcard .cap-ptr{font:500 11px var(--cap-body);color:var(--cap-blue);margin-top:4px}
/* Reseller trade price (RRP struck + trade + tag) */
.cap-trade-html del{color:var(--cap-muted);font-weight:400;font-size:.62em;margin-right:6px}
.cap-trade-html ins{text-decoration:none;color:var(--cap-blue)}
.cap-trade-tag{display:inline-block;background:var(--cap-tint);color:var(--cap-blue-dark);font:600 10px var(--cap-body);text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:middle}
.cap-pcard .cap-pft{padding:0 16px 14px;display:flex;gap:8px;align-items:stretch}
.cap-pcard .cap-pft .button,.cap-pcard .cap-add{flex:1;background:var(--cap-blue);color:#fff;border:none;border-radius:6px;padding:9px;font:600 12px var(--cap-body);text-align:center;text-decoration:none;line-height:1.4}
.cap-pcard .cap-pft .button:hover{background:var(--cap-blue-dark)}
.cap-pcard .cap-wish{width:40px;border:1px solid var(--cap-border);border-radius:6px;background:#fff;cursor:pointer;font-size:15px;color:var(--cap-muted)}
/* After an AJAX add, Woo keeps the (now redundant) Add button with class
   .added and appends a "View cart" link. Left as-is the two fight for the
   footer's width and the button collapses into a vertical letter-stack —
   so hide the spent button and let View cart take over its slot. */
/* Selector mirrors Woo core's ".woocommerce ul.products li.product .button"
   (display:inline-block) and adds .added — anything weaker loses the cascade. */
.woocommerce ul.products li.product.cap-pcard .cap-pft .button.added{display:none}
.cap-pcard .added_to_cart{flex:1;text-align:center;align-self:center;padding:9px 12px;border:1px solid var(--cap-border);border-radius:6px;color:var(--cap-blue);font:600 12px var(--cap-body);text-decoration:none;line-height:1.4}
.cap-pcard .added_to_cart:hover{border-color:var(--cap-blue)}

/* Woo pagination */
.woocommerce nav.woocommerce-pagination ul{border:none;display:flex;gap:6px;justify-content:center;margin-top:36px}
.woocommerce nav.woocommerce-pagination ul li{border:none;margin:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--cap-border);border-radius:6px;padding:8px 13px;font:400 14px var(--cap-body);color:var(--cap-muted)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--cap-blue);color:#fff;border-color:var(--cap-blue)}

/* ---- Single product ---- */
.cap-single{padding:0}
.woocommerce div.product{padding:56px 52px;display:grid;grid-template-columns:1fr 1fr;gap:64px;max-width:1320px;margin:0 auto}
.woocommerce div.product .woocommerce-product-gallery{margin:0;width:100% !important}
/* Must mirror core's selector exactly. woocommerce-layout.css ships
   `.woocommerce div.product div.summary{width:48%;float:right}` — (0,3,2). Our
   old `.summary` version was (0,3,1) and lost, so the info column rendered at
   48% of its grid track on every product page, wasting half the width and
   wrapping titles over four lines. Same specificity + later load = we win. */
.woocommerce div.product div.summary{margin:0;float:none;width:100%}
.cap-pd-eyebrow{font:600 11px var(--cap-body);letter-spacing:.12em;text-transform:uppercase;color:var(--cap-blue);margin:0 0 10px}
.woocommerce div.product .product_title{font:700 38px var(--cap-head);text-transform:uppercase;line-height:1.05;margin:0 0 12px;color:var(--cap-text)}
.woocommerce div.product p.price,.woocommerce div.product .summary .price{background:var(--cap-light);border-radius:14px;padding:20px 22px;color:var(--cap-text);font:800 34px var(--cap-head);margin:0 0 0}
.woocommerce div.product .summary .woocommerce-product-details__short-description{color:var(--cap-muted);font-size:14px;line-height:1.6;margin:0 0 20px}
.cap-pd-trade{background:var(--cap-light);border-radius:0 0 14px 14px;padding:0 22px 20px;margin:-6px 0 22px}
.cap-tradepill{display:inline-flex;align-items:center;gap:6px;background:var(--cap-tint);color:var(--cap-blue-dark);border-radius:999px;padding:7px 14px;font:600 12px var(--cap-body)}
.cap-tradelogin{display:block;margin-top:10px;color:var(--cap-blue);font:600 13px var(--cap-body);text-decoration:none}
.woocommerce div.product form.cart{margin:22px 0}
.woocommerce div.product form.cart .quantity input{height:46px;border:1px solid var(--cap-border);border-radius:8px}
.woocommerce div.product form.cart .button{background:var(--cap-blue);color:#fff;border-radius:8px;height:46px;padding:0 28px;font:600 15px var(--cap-body);text-transform:none}
.woocommerce div.product form.cart .button:hover{background:var(--cap-blue-dark)}
.woocommerce div.product .product_meta{border-top:1px solid var(--cap-border);padding-top:18px;font-size:13px;color:var(--cap-muted)}
.woocommerce div.product .product_meta>span{display:block;padding:4px 0}
/* Tabs */
.woocommerce div.product .woocommerce-tabs{grid-column:1 / -1;padding:0 52px 56px;max-width:1320px;margin:0 auto}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 22px;border-bottom:1px solid var(--cap-border);display:flex;gap:28px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:none;border-radius:0;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 0;font:600 14px var(--cap-body);color:var(--cap-muted)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--cap-blue)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--cap-blue)}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
/* Related / up-sells — span the full product grid + fixed horizontal columns */
.woocommerce div.product .related.products,
.woocommerce div.product .up-sells.products{grid-column:1 / -1 !important;width:100%;margin:8px 0 0;padding:40px 0 8px;border-top:1px solid var(--cap-border)}
.woocommerce div.product .related.products>h2,
.woocommerce div.product .up-sells.products>h2{font:700 26px var(--cap-head);text-transform:uppercase;color:var(--cap-text);margin:0 0 24px;letter-spacing:.01em}
.woocommerce div.product .related.products ul.products,
.woocommerce div.product .up-sells.products ul.products{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:16px}
@media(max-width:900px){.woocommerce div.product .related.products ul.products,.woocommerce div.product .up-sells.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}

/* Wishlist removed — not applicable for this catalogue */
.add-to-wl,.sparks-wishlist,.sw-wishlist-button{display:none !important}

/* ---- Cart / Checkout / Account — brand buttons ---- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce .wc-block-components-button{background:var(--cap-blue) !important;color:#fff !important;border-radius:7px;font-family:var(--cap-body);font-weight:600}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--cap-blue-dark) !important}
.woocommerce .wc-block-components-button:hover{background:var(--cap-blue-dark) !important}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{color:var(--cap-blue)}

/* ============================================================
   Account page (login / register / trade application)
   ============================================================ */
/* Hide the redundant "My account" page heading (not in the design). */
.woocommerce-account .wp-block-post-title,
.woocommerce-account h1.entry-title,
.woocommerce-account .wp-block-query-title{display:none}

.woocommerce-account .woocommerce{max-width:1040px;margin:0 auto;padding:56px 24px}
.cap-acct{display:grid;grid-template-columns:420px 1fr;background:#fff;border:1px solid var(--cap-border);border-radius:18px;overflow:hidden;box-shadow:0 12px 40px rgba(10,30,61,.08)}
.cap-acct-panel{background:linear-gradient(150deg,#060f22,#0a1e3d 55%,#163d7a);color:#fff;padding:44px 40px}
.cap-acct-logo{font:800 24px var(--cap-head);text-transform:uppercase;letter-spacing:.02em;display:flex;align-items:center;gap:10px;margin-bottom:34px}
.cap-acct-panel h2{font:700 30px var(--cap-head);text-transform:uppercase;line-height:1.05;margin:0 0 10px;color:#fff}
.cap-acct-lead{color:rgba(255,255,255,.72);font-size:14px;margin:0 0 30px}
.cap-feat{display:flex;gap:12px;margin-bottom:18px;font-size:13px;color:rgba(255,255,255,.62)}
.cap-feat b{color:#fff;font-weight:600;font-size:14px}
.cap-feat .ic{width:38px;height:38px;border-radius:10px;background:rgba(96,165,250,.18);display:flex;align-items:center;justify-content:center;flex:none;font-size:17px}
.cap-acct-forms{padding:38px 42px}
.cap-acct-tabs{display:flex;gap:4px;background:var(--cap-light);border-radius:10px;padding:5px;margin-bottom:26px}
.cap-acct-tabs button{flex:1;border:none;background:none;padding:11px;border-radius:7px;font:600 13px var(--cap-body);color:var(--cap-muted);cursor:pointer}
.cap-acct-tabs button.on{background:#fff;color:var(--cap-blue);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.cap-acct-tab{display:none}
.cap-acct-tab.on{display:block}
.cap-acct-forms form{margin:0}
.cap-acct-forms label{display:block;font:600 12px var(--cap-body);margin:14px 0 6px;color:var(--cap-text)}
.cap-acct-forms input:not([type=checkbox]),.cap-acct-forms select{width:100%;border:1px solid var(--cap-border);border-radius:8px;padding:12px;font:400 14px var(--cap-body);box-sizing:border-box}
.cap-acct-forms .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cap-acct-forms .row2 span{display:block}
.cap-acct-forms .sub{background:var(--cap-blue) !important;color:#fff !important;border:none;border-radius:8px;padding:13px;font:600 15px var(--cap-body);cursor:pointer;width:100%;margin-top:22px}
.cap-acct-forms .sub:hover{background:var(--cap-blue-dark) !important}
.cap-acct-forms .inline{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:13px}
.cap-acct-forms .inline label{display:flex;align-items:center;gap:8px;margin:0;font-weight:400;color:var(--cap-muted)}
.cap-acct-forms .inline a{color:var(--cap-blue);font-weight:600;text-decoration:none}
.cap-acct-forms .fine{font-size:12px;color:var(--cap-muted);margin-top:14px;text-align:center}
.cap-acct-forms .fine a{color:var(--cap-blue)}
.cap-acct-forms h3.sec{font:700 15px var(--cap-head);text-transform:uppercase;letter-spacing:.04em;color:var(--cap-text);margin:24px 0 4px;padding-top:20px;border-top:1px solid var(--cap-border)}
.cap-acct-forms h3.sec:first-of-type{border:none;padding-top:0;margin-top:6px}
.cap-acct-forms .banner{background:var(--cap-tint);border-left:3px solid var(--cap-blue);border-radius:0 8px 8px 0;padding:14px 16px;font-size:13px;color:var(--cap-blue-dark);margin-bottom:8px}
.cap-acct-forms .chk{display:flex;gap:8px;align-items:flex-start;margin-top:16px;font-size:13px;color:var(--cap-muted)}
.cap-acct-forms .chk input{margin-top:3px}
.cap-acct-forms .chk label{margin:0;font-weight:400}
.cap-trade-ok{background:#e7f7ee;border:1px solid #bfe6cf;color:#1c7a44;border-radius:12px;padding:22px;font-size:14px;line-height:1.6}
.woocommerce-account .woocommerce form.login,.woocommerce-account .woocommerce form.register{border:none;padding:0;margin:0}

@media(max-width:860px){.cap-acct{grid-template-columns:1fr}.cap-acct-panel{padding:32px}.cap-acct-forms{padding:28px}}

@media(max-width:960px){
	.cap-shop{padding-left:22px !important;padding-right:22px !important}
	.cap-tradebar{padding-left:22px;padding-right:22px}
	.woocommerce ul.products{grid-template-columns:1fr 1fr}
	.woocommerce div.product{grid-template-columns:1fr;gap:32px;padding:32px 22px}
	.woocommerce div.product .woocommerce-tabs{padding:0 22px 40px}
}
@media(max-width:600px){.woocommerce ul.products{grid-template-columns:1fr}}

/* ============================================================
   Cart & Checkout — Capstone design system (DORMANT)
   These classic-shortcode template styles are kept for reuse but
   are NOT active: cart (8653) + checkout (8654) currently use the
   WooCommerce BLOCK pages. Every rule below is scoped to .cap-*
   classes that only exist on the classic templates, so block pages
   are unaffected. Reverted to blocks 2026-08-13 (boss preferred).
   ============================================================ */

/* ---- shared Order Summary card ---- */
.cap-summary{background:#fff;border:1px solid var(--cap-border);border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(10,30,61,.08)}
.cap-summary-head{background:linear-gradient(150deg,#060f22,#0a1e3d 55%,#163d7a);padding:20px 26px;position:relative;overflow:hidden}
.cap-summary-head:after{content:"";position:absolute;right:-40px;bottom:-60px;width:180px;height:180px;background:radial-gradient(circle at 30% 30%,rgba(96,165,250,.22),transparent 62%);pointer-events:none}
.cap-summary-head h2,.cap-summary-head h3{font:700 21px var(--cap-head);text-transform:uppercase;letter-spacing:.02em;color:#fff;margin:0;position:relative}
.cap-summary-body{padding:22px 26px 26px}
.cap-summary-body table.shop_table{border:none;margin:0;width:100%}
.cap-summary-body table.shop_table th,
.cap-summary-body table.shop_table td{border:none;padding:11px 0;font:400 14px var(--cap-body);color:var(--cap-muted);text-align:left}
.cap-summary-body table.shop_table td{text-align:right;color:var(--cap-text);font-weight:600}
.cap-summary-body tr:not(:last-child) th,
.cap-summary-body tr:not(:last-child) td{border-bottom:1px solid var(--cap-border)}
.cap-summary-body tr.order-total th{font:700 16px var(--cap-head);text-transform:uppercase;color:var(--cap-text)}
.cap-summary-body tr.order-total td{font:700 20px var(--cap-body);color:var(--cap-blue)}
.cap-summary-body tr.order-total td .amount{font-size:20px}

/* proceed / place order buttons full-width blue pill */
.cap-summary .wc-proceed-to-checkout{padding:0;margin-top:20px}
.cap-summary .wc-proceed-to-checkout a.checkout-button{display:block;width:100%;text-align:center;background:var(--cap-blue) !important;color:#fff !important;border-radius:9px;padding:15px;font:600 16px var(--cap-body);text-transform:none;box-shadow:0 6px 18px rgba(37,99,173,.28)}
.cap-summary .wc-proceed-to-checkout a.checkout-button:hover{background:var(--cap-blue-dark) !important}

/* secure-checkout trust line */
.cap-secure-note{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;color:var(--cap-muted);font:500 13px var(--cap-body)}
.cap-secure-note svg{color:#059669}

/* ---- CART ---- */
.cap-cart{display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start}
.cap-cart-main{min-width:0}
.cap-cart-side{position:sticky;top:96px}
.cap-cart-main table.cart{border:1px solid var(--cap-border);border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden;width:100%;background:#fff}
.cap-cart-main table.cart thead th{background:var(--cap-light);font:600 11px var(--cap-body);text-transform:uppercase;letter-spacing:.06em;color:var(--cap-muted);padding:14px 16px;text-align:left;border-bottom:1px solid var(--cap-border)}
.cap-cart-main table.cart td{padding:16px;border-bottom:1px solid var(--cap-border);vertical-align:middle;font:400 14px var(--cap-body);color:var(--cap-text)}
.cap-cart-main table.cart tbody tr:last-child td{border-bottom:none}
.cap-cart-main td.product-thumbnail img{width:66px;height:66px;object-fit:contain;border:1px solid var(--cap-border);border-radius:8px;background:#fff;padding:5px}
.cap-cart-main td.product-name a{color:var(--cap-text);font-weight:600;text-decoration:none}
.cap-cart-main td.product-name a:hover{color:var(--cap-blue)}
.cap-cart-main .cap-cart-sku{display:block;font:400 12px var(--cap-body);color:var(--cap-muted);margin-top:4px}
.cap-cart-main td.product-price,
.cap-cart-main td.product-subtotal{font-weight:600}
.cap-cart-main td.product-remove a.remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--cap-light);color:var(--cap-muted) !important;font-size:18px;line-height:1;text-decoration:none}
.cap-cart-main td.product-remove a.remove:hover{background:#fde8e8;color:#c0392b !important}
.cap-cart-main .quantity input.qty{width:66px;height:42px;border:1px solid var(--cap-border);border-radius:8px;text-align:center;font:600 14px var(--cap-body);color:var(--cap-text)}
.cap-cart-main td.actions{background:var(--cap-light);padding:16px;overflow:hidden}
.cap-cart-main td.actions .coupon{float:left;display:flex;gap:8px}
.cap-cart-main td.actions .coupon input#coupon_code{height:44px;border:1px solid var(--cap-border);border-radius:8px;padding:0 14px;font:400 14px var(--cap-body);min-width:170px}
.cap-cart-main td.actions .button{height:44px;border-radius:8px;padding:0 20px;font:600 14px var(--cap-body)}
.cap-cart-main td.actions button[name="update_cart"]{background:#fff !important;color:var(--cap-text) !important;border:1px solid var(--cap-border) !important;float:right}
.cap-cart-main td.actions button[name="update_cart"]:hover{border-color:var(--cap-blue) !important;color:var(--cap-blue) !important}
.cap-cart-collaterals{max-width:1200px;margin:56px auto 0;padding:0 24px;float:none;width:100%}
.cap-cart-collaterals .cross-sells h2{font:700 22px var(--cap-head);text-transform:uppercase;margin-bottom:20px}

/* ---- CHECKOUT ---- */
.cap-checkout{display:grid;grid-template-columns:1fr 420px;gap:32px;align-items:start}
.cap-checkout-main{min-width:0}
.cap-checkout-side{position:sticky;top:96px}
.cap-checkout-main .col2-set{display:flex;flex-direction:column;gap:8px}
.cap-checkout-main .col2-set .col-1,
.cap-checkout-main .col2-set .col-2{width:100%;float:none}
.cap-checkout-main h3{font:700 20px var(--cap-head);text-transform:uppercase;color:var(--cap-text);margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid var(--cap-border)}
.cap-checkout-main .woocommerce-billing-fields,
.cap-checkout-main .woocommerce-shipping-fields,
.cap-checkout-main .woocommerce-additional-fields{background:#fff;border:1px solid var(--cap-border);border-radius:14px;padding:26px 26px 30px;margin-bottom:24px}
.cap-checkout-main .form-row label{display:block;font:600 12px var(--cap-body);margin:0 0 6px;color:var(--cap-text)}
.cap-checkout-main .form-row .required{color:var(--cap-blue)}
.cap-checkout-main .input-text,
.cap-checkout-main select,
.cap-checkout-main .select2-selection{border:1px solid var(--cap-border) !important;border-radius:8px !important;min-height:46px;padding:10px 12px;font:400 14px var(--cap-body);box-sizing:border-box}
.cap-checkout-main .select2-selection__rendered{line-height:26px}
.cap-checkout-main textarea.input-text{min-height:90px}

/* checkout order-review body */
.cap-checkout-side .cap-summary-body table.shop_table th,
.cap-checkout-side .cap-summary-body table.shop_table td{padding:12px 0;font-size:13px}
.cap-checkout-side .cap-summary-body td.product-name,
.cap-checkout-side .cap-summary-body th.product-name{text-align:left;color:var(--cap-text);font-weight:500}
.cap-checkout-side #payment{background:transparent;border-radius:0;margin-top:8px}
.cap-checkout-side #payment ul.payment_methods{border:none;padding:14px;background:var(--cap-light);border-radius:10px}
.cap-checkout-side #payment div.form-row.place-order{padding:16px 0 0}
.cap-checkout-side #place_order{display:block;width:100%;background:var(--cap-blue) !important;color:#fff !important;border-radius:9px;padding:16px;font:600 16px var(--cap-body);text-transform:none;box-shadow:0 6px 18px rgba(37,99,173,.28)}
.cap-checkout-side #place_order:hover{background:var(--cap-blue-dark) !important}

@media(max-width:960px){
	.cap-cart{grid-template-columns:1fr}
	.cap-cart-side,.cap-checkout-side{position:static}
	.cap-checkout{grid-template-columns:1fr}
}

/* ============================================================
   Block Cart/Checkout — clear the sticky header
   (page title "Cart"/"Checkout" was tucked under the header so
   it couldn't be fully scrolled into view). ACTIVE on block pages.
   ============================================================ */
.woocommerce-cart .wp-block-post-title,
.woocommerce-checkout .wp-block-post-title{padding-top:44px;scroll-margin-top:120px;line-height:1.12}

/* ============================================================
   My Account — logged-in dashboard (design-system styling)
   ACTIVE. Scoped to .logged-in so the logged-out login/register
   card (.cap-acct) is untouched.
   ============================================================ */
.woocommerce-account.logged-in .woocommerce{display:grid;grid-template-columns:250px minmax(0,1fr);column-gap:30px;row-gap:0;align-items:start;max-width:1120px}

/* WooCommerce core forces float:left/width:30% on the nav and float:right/width:68%
   on the content (woocommerce-layout.css). Inside our grid those widths squash both
   panels, so neutralise them. */
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
.woocommerce-account.logged-in .woocommerce-MyAccount-content{float:none !important;width:auto !important}

/* Pin both panels explicitly. Auto-placement broke when an empty phantom child
   (notices wrapper) claimed cell 1, pushing the nav to column 2 and the content
   onto row 2. Row 1 is reserved for notices; anything else spans full width. */
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{grid-column:1;grid-row:2}
.woocommerce-account.logged-in .woocommerce-MyAccount-content{grid-column:2;grid-row:2;min-width:0}
.woocommerce-account.logged-in .woocommerce > *:not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content){grid-column:1/-1;grid-row:1}
.woocommerce-account.logged-in .woocommerce > *:empty{display:none}
.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper:not(:empty){margin-bottom:24px}

/* nav sidebar */
.cap-account-nav{background:#fff;border:1px solid var(--cap-border);border-radius:16px;padding:10px;box-shadow:0 8px 30px rgba(10,30,61,.06);position:sticky;top:96px}
.cap-account-nav ul{list-style:none;margin:0;padding:0}
.cap-account-nav li{margin:0}
.cap-account-nav li a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:var(--cap-text);text-decoration:none;font:600 14px var(--cap-body)}
.cap-account-nav__icon{display:flex;color:var(--cap-muted);flex:none}
.cap-account-nav li a:hover{background:var(--cap-light)}
.cap-account-nav li a:hover .cap-account-nav__icon{color:var(--cap-blue)}
.cap-account-nav li.is-active a{background:var(--cap-tint);color:var(--cap-blue)}
.cap-account-nav li.is-active a .cap-account-nav__icon{color:var(--cap-blue)}
.cap-account-nav li.woocommerce-MyAccount-navigation-link--customer-logout{margin-top:6px;border-top:1px solid var(--cap-border);padding-top:6px}
.cap-account-nav li.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--cap-muted)}

/* content panel */
.woocommerce-account.logged-in .woocommerce-MyAccount-content{background:#fff;border:1px solid var(--cap-border);border-radius:16px;padding:32px 34px;box-shadow:0 8px 30px rgba(10,30,61,.06);min-width:0}
.woocommerce-account.logged-in .woocommerce-MyAccount-content h2,
.woocommerce-account.logged-in .woocommerce-MyAccount-content h3{font-family:var(--cap-head);text-transform:uppercase;color:var(--cap-text)}
.woocommerce-account.logged-in .woocommerce-MyAccount-content a:not(.button):not(.cap-dash-card):not(.cap-dash-hero__logout){color:var(--cap-blue)}

/* dashboard hero banner */
.cap-dash-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;background:linear-gradient(135deg,#0a1e3d 0%,#1a4a89 55%,#2563AD 100%);border-radius:14px;padding:26px 30px;margin:0 0 26px;position:relative;overflow:hidden}
.cap-dash-hero:after{content:"";position:absolute;right:-30px;bottom:-70px;width:220px;height:220px;background:radial-gradient(circle at 30% 30%,rgba(147,197,253,.28),transparent 64%);pointer-events:none}
.cap-dash-hero__text{position:relative;z-index:1}
.cap-dash-hero__eyebrow{font:600 11px var(--cap-body);letter-spacing:.14em;text-transform:uppercase;color:#BFDBFE;margin:0 0 6px;position:relative}
/* NOTE: needs the .woocommerce-MyAccount-content prefix — the generic panel
   heading rule (…-content h2/h3) is more specific and would otherwise force
   the dark body colour onto this white-on-gradient title. */
.woocommerce-account.logged-in .woocommerce-MyAccount-content .cap-dash-hero__title,
.cap-dash-hero__title{font:700 32px var(--cap-head);text-transform:uppercase;color:#fff;margin:0;line-height:1.05;position:relative;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.cap-dash-badge{display:inline-flex;align-items:center;gap:7px;margin-top:12px;background:rgba(255,255,255,.18);color:#fff;border-radius:20px;padding:6px 13px;font:600 12px var(--cap-body);position:relative}
.woocommerce-account.logged-in .woocommerce-MyAccount-content .cap-dash-hero__logout,
.cap-dash-hero__logout{color:rgba(255,255,255,.9) !important;font:600 13px var(--cap-body);text-decoration:none;flex:none;position:relative;z-index:1;border:1px solid rgba(255,255,255,.35);border-radius:7px;padding:7px 14px}
.cap-dash-hero__logout:hover{color:#fff !important;background:rgba(255,255,255,.14)}

/* dashboard quick-action cards */
.cap-dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cap-dash-card{display:block;background:#fff;border:1px solid var(--cap-border);border-radius:14px;padding:22px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.cap-dash-card:hover{border-color:var(--cap-blue);box-shadow:0 10px 26px rgba(37,99,173,.12);transform:translateY(-2px)}
.cap-dash-card__ic{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--cap-tint);color:var(--cap-blue);margin-bottom:14px}
.cap-dash-card__t{display:block;font:700 16px var(--cap-head);text-transform:uppercase;color:var(--cap-text);letter-spacing:.01em}
.cap-dash-card__d{display:block;font:400 13px var(--cap-body);color:var(--cap-muted);margin-top:5px;line-height:1.5}
.cap-dash-card--accent{background:linear-gradient(150deg,#060f22,#0a1e3d 60%,#163d7a);border-color:transparent}
.cap-dash-card--accent .cap-dash-card__ic{background:rgba(96,165,250,.2);color:#fff}
.cap-dash-card--accent .cap-dash-card__t{color:#fff}
.cap-dash-card--accent .cap-dash-card__d{color:rgba(255,255,255,.72)}
.cap-dash-card--accent:hover{border-color:transparent}

/* ---- Account sub-pages: Orders / Downloads tables ---- */
.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table{border:1px solid var(--cap-border);border-radius:12px;border-collapse:separate;border-spacing:0;width:100%;overflow:hidden;margin:0}
.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table thead th{background:var(--cap-light);font:600 11px var(--cap-body);text-transform:uppercase;letter-spacing:.06em;color:var(--cap-muted);padding:13px 16px;text-align:left;border-bottom:1px solid var(--cap-border)}
.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table tbody th,
.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table tbody td{padding:15px 16px;border-bottom:1px solid var(--cap-border);font:400 14px var(--cap-body);color:var(--cap-text);text-align:left;vertical-align:middle}
.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table tbody tr:last-child th,
.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table tbody tr:last-child td{border-bottom:none}
.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table tbody tr:hover{background:var(--cap-light)}
.woocommerce-orders-table__cell-order-number a{font-weight:600;color:var(--cap-blue) !important;text-decoration:none}
.woocommerce-orders-table__cell-order-total{font-weight:600}

/* order status pill */
.woocommerce-orders-table__cell-order-status{font:600 12px var(--cap-body)}
.woocommerce-orders-table__row .woocommerce-orders-table__cell-order-status{color:var(--cap-text)}
.woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status{color:#059669}
.woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status{color:var(--cap-blue)}
.woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status,
.woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status{color:#c0392b}

/* row action buttons (View / Pay / Cancel) */
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button,
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-orders-table__cell-download-file .button{display:inline-block;background:var(--cap-blue) !important;color:#fff !important;border-radius:7px;padding:8px 16px;font:600 13px var(--cap-body);text-decoration:none;margin:2px 4px 2px 0}
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button.cancel{background:#fff !important;color:var(--cap-text) !important;border:1px solid var(--cap-border) !important}

/* pagination */
.woocommerce-account.logged-in .woocommerce-pagination{display:flex;gap:10px;margin-top:20px}
.woocommerce-account.logged-in .woocommerce-pagination .button{background:#fff !important;color:var(--cap-text) !important;border:1px solid var(--cap-border) !important;border-radius:8px;padding:9px 18px;font:600 13px var(--cap-body);text-decoration:none}
.woocommerce-account.logged-in .woocommerce-pagination .button:hover{border-color:var(--cap-blue) !important;color:var(--cap-blue) !important}

/* ---- Addresses ---- */
.woocommerce-account.logged-in .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.woocommerce-account.logged-in .woocommerce-Address{width:auto;float:none;background:#fff;border:1px solid var(--cap-border);border-radius:14px;padding:24px}
.woocommerce-account.logged-in .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--cap-border)}
.woocommerce-account.logged-in .woocommerce-Address-title h2,
.woocommerce-account.logged-in .woocommerce-Address-title h3{font:700 17px var(--cap-head);text-transform:uppercase;margin:0;color:var(--cap-text)}
.woocommerce-account.logged-in .woocommerce-Address-title .edit{font:600 13px var(--cap-body);color:var(--cap-blue) !important;text-decoration:none;white-space:nowrap}
.woocommerce-account.logged-in .woocommerce-Address address{font:400 14px/1.75 var(--cap-body);color:var(--cap-muted);font-style:normal}

/* ---- Forms: edit account, edit address, lost password ---- */
.woocommerce-account.logged-in .woocommerce-MyAccount-content form .form-row{display:flex;flex-direction:column;margin:0 0 16px}
.woocommerce-account.logged-in .woocommerce-MyAccount-content form label{font:600 12px var(--cap-body);margin:0 0 6px;color:var(--cap-text)}
.woocommerce-account.logged-in .woocommerce-MyAccount-content form .required{color:var(--cap-blue);border:none}
.woocommerce-account.logged-in .woocommerce-MyAccount-content form .input-text,
.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type=text],
.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type=email],
.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type=tel],
.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type=password],
.woocommerce-account.logged-in .woocommerce-MyAccount-content form select,
.woocommerce-account.logged-in .woocommerce-MyAccount-content form .select2-selection{width:100%;border:1px solid var(--cap-border) !important;border-radius:8px !important;min-height:46px;padding:10px 12px;font:400 14px var(--cap-body);box-sizing:border-box;background:#fff}
.woocommerce-account.logged-in .woocommerce-MyAccount-content form .input-text:focus,
.woocommerce-account.logged-in .woocommerce-MyAccount-content form select:focus{outline:none;border-color:var(--cap-blue) !important}
.woocommerce-account.logged-in .woocommerce-MyAccount-content fieldset{border:1px solid var(--cap-border);border-radius:12px;padding:22px;margin:24px 0 0}
.woocommerce-account.logged-in .woocommerce-MyAccount-content fieldset legend{font:700 15px var(--cap-head);text-transform:uppercase;color:var(--cap-text);padding:0 8px}
.woocommerce-account.logged-in .woocommerce-MyAccount-content form .button,
.woocommerce-account.logged-in .woocommerce-MyAccount-content form button[type=submit]{background:var(--cap-blue) !important;color:#fff !important;border:none;border-radius:8px;padding:13px 30px;font:600 15px var(--cap-body);cursor:pointer;margin-top:8px}
.woocommerce-account.logged-in .woocommerce-MyAccount-content form .button:hover{background:var(--cap-blue-dark) !important}
.woocommerce-account.logged-in .woocommerce-MyAccount-content em{font:400 12px var(--cap-body);color:var(--cap-muted);font-style:normal;display:block;margin-top:5px}

/* ---- View order / order details ---- */
.woocommerce-account.logged-in .woocommerce-order-details,
.woocommerce-account.logged-in .woocommerce-customer-details{margin-top:26px}
.woocommerce-account.logged-in .woocommerce-column__title,
.woocommerce-account.logged-in .woocommerce-order-details__title{font:700 18px var(--cap-head);text-transform:uppercase;color:var(--cap-text);margin:0 0 14px}
.woocommerce-account.logged-in .woocommerce-columns--addresses{display:grid;grid-template-columns:1fr 1fr;gap:20px}
/* WooCommerce ships a legacy clearfix on .col2-set (::before/::after, display:table). Both address
   wrappers here are grids, and in a grid those pseudo-elements become real grid items — which put
   billing in column 2 and shipping on row 2, staggering the two cards diagonally. Neutralise them. */
.woocommerce-account.logged-in .woocommerce-Addresses::before,
.woocommerce-account.logged-in .woocommerce-Addresses::after,
.woocommerce-account.logged-in .woocommerce-columns--addresses::before,
.woocommerce-account.logged-in .woocommerce-columns--addresses::after{display:none}
.woocommerce-account.logged-in .woocommerce-columns--addresses .woocommerce-column{background:var(--cap-light);border:1px solid var(--cap-border);border-radius:12px;padding:20px;width:auto;float:none}
.woocommerce-account.logged-in .woocommerce-columns--addresses address{font:400 14px/1.75 var(--cap-body);color:var(--cap-muted);font-style:normal}
.woocommerce-account.logged-in table.woocommerce-table--order-details tfoot th{font:600 14px var(--cap-body);text-align:left}
.woocommerce-account.logged-in table.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-account.logged-in table.woocommerce-table--order-details tfoot tr:last-child td{font:700 16px var(--cap-body);color:var(--cap-blue)}

/* ---- Payment methods ---- */
.woocommerce-account.logged-in .woocommerce-MyAccount-paymentMethods{width:100%}

/* ---- Notices / empty states inside the account panel ---- */
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-error{display:flex;flex-wrap:wrap;align-items:center;gap:14px;background:var(--cap-tint);border:none;border-left:3px solid var(--cap-blue);border-radius:0 10px 10px 0;padding:18px 20px;font:400 14px var(--cap-body);color:var(--cap-blue-dark);list-style:none;margin:0}
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-error{background:#fdecea;border-left-color:#c0392b;color:#8f2c22}
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-info:before,
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message:before,
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-error:before{display:none}
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message .button{background:var(--cap-blue) !important;color:#fff !important;border-radius:7px;padding:9px 18px;font:600 13px var(--cap-body);text-decoration:none;margin-left:auto}

@media(max-width:860px){
	.woocommerce-account.logged-in .woocommerce{grid-template-columns:minmax(0,1fr);row-gap:24px}
	/* release the desktop row/column pinning so the panels stack instead of colliding */
	.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{grid-column:1;grid-row:auto}
	.woocommerce-account.logged-in .woocommerce-MyAccount-content{grid-column:1;grid-row:auto}
	.cap-account-nav{position:static}
	.cap-dash-grid{grid-template-columns:1fr}
	.cap-dash-hero{flex-direction:column}
	.woocommerce-account.logged-in .woocommerce-Addresses,
	.woocommerce-account.logged-in .woocommerce-columns--addresses{grid-template-columns:1fr}
	.woocommerce-account.logged-in .woocommerce-MyAccount-content{padding:24px 20px}
}

/* ============================================================
   Product Documents + imported Specifications
   ============================================================ */
.cap-doclist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.cap-doclist li{margin:0}
.cap-doclist a{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:1px solid var(--cap-border);border-radius:10px;color:var(--cap-text) !important;text-decoration:none;font:500 14px var(--cap-body);transition:border-color .15s,box-shadow .15s}
.cap-doclist a:hover{border-color:var(--cap-blue);box-shadow:0 6px 18px rgba(37,99,173,.12);color:var(--cap-blue) !important}
.cap-doc-ic{flex:none;width:30px;height:30px;border-radius:7px;background:var(--cap-tint);position:relative}
.cap-doc-ic:before{content:"PDF";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 9px var(--cap-body);color:var(--cap-blue);letter-spacing:.03em}

.woocommerce div.product table.cap-specs{margin-top:18px;width:100%;border-collapse:collapse}
.woocommerce div.product table.cap-specs th,
.woocommerce div.product table.cap-specs td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--cap-border);font:400 14px var(--cap-body)}
.woocommerce div.product table.cap-specs th{width:38%;font-weight:600;color:var(--cap-text);background:var(--cap-light)}
.woocommerce div.product table.cap-specs td{color:var(--cap-muted)}

/* Imported description content */
.woocommerce div.product .woocommerce-Tabs-panel--description h4{font:700 16px var(--cap-head);text-transform:uppercase;color:var(--cap-text);margin:22px 0 10px}
.woocommerce div.product .woocommerce-Tabs-panel--description ul{margin:0 0 14px 20px;color:var(--cap-muted);font-size:14px;line-height:1.8}
.woocommerce div.product .woocommerce-Tabs-panel--description table{width:100%;border-collapse:collapse;margin:14px 0}
.woocommerce div.product .woocommerce-Tabs-panel--description table th,
.woocommerce div.product .woocommerce-Tabs-panel--description table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--cap-border);font-size:14px}

/* Single-product placeholder — same category icon as the shop cards, at gallery scale. */
.cap-ph-single{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;border:1px solid var(--cap-border);border-radius:14px;background:linear-gradient(150deg,#EEF3FA,#E3EBF6)}
.cap-ph-single .cap-ph{color:var(--cap-blue);opacity:.30;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.cap-ph-single .cap-ph svg{width:38%;height:38%;max-width:150px;max-height:150px}
@supports not (aspect-ratio:4/3){.cap-ph-single{height:340px}}

/* ============================================================
   Homepage "Featured Products" — real product loop, 3 across
   (the shop grid is 6 across; scope it down here only)
   ============================================================ */
.cap-featured{max-width:1240px;margin:0 auto}
.cap-featured ul.products{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:24px}
/* Homepage featured cards are the first product imagery a visitor sees, so the
   photo panel runs hero-scale: much taller than the shop grid's 170px, with
   breathing room so the product fills the frame without touching the edges. */
.cap-featured .cap-pcard .cap-pcard-img{height:360px}
.cap-featured .cap-pcard .cap-pcard-img.has-img{padding:28px}
.cap-featured .cap-pcard .cap-ph svg{max-width:120px;max-height:120px}
.cap-featured .cap-pcard .cap-pnm{font-size:15px;min-height:0}
@media(max-width:900px){.cap-featured ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.cap-featured .cap-pcard .cap-pcard-img{height:300px}}
@media(max-width:560px){.cap-featured ul.products{grid-template-columns:1fr !important}.cap-featured .cap-pcard .cap-pcard-img{height:260px}}

/* Sub-categories indented under their parent in the shop sidebar. */
.cap-shop-side .cap-catlink--sub{padding-left:14px;font-size:13.5px;position:relative}
.cap-shop-side .cap-catlink--sub::before{
  content:"";position:absolute;left:2px;top:50%;width:6px;height:1px;background:var(--cap-gutter)}
.cap-shop-side .cap-catlink--sub.on::before{background:var(--cap-blue)}

/* ---- Quote-only products (Event Lighting trailer range) ---- */
.cap-poa{font:600 20px var(--cap-head);color:var(--cap-blue);letter-spacing:.01em}
.cap-quote-cta{margin:18px 0 4px;padding:20px 22px;border:1px solid var(--cap-border);
  border-left:3px solid var(--cap-blue);border-radius:10px;background:var(--cap-light)}
.cap-quote-cta__lead{margin:0 0 8px;font:700 17px var(--cap-head);color:var(--cap-text);
  text-transform:uppercase;letter-spacing:.02em}
.cap-quote-cta__body{margin:0 0 16px;font:400 14px/1.6 var(--cap-body);color:var(--cap-muted)}
.cap-quote-cta__actions{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.cap-quote-btn{display:inline-block;background:var(--cap-blue);color:#fff;text-decoration:none;
  padding:12px 26px;border-radius:7px;font:600 14px var(--cap-body);transition:background .12s ease}
.cap-quote-btn:hover{background:var(--cap-blue-dark);color:#fff}
.cap-quote-tel{font:500 14px var(--cap-body);color:var(--cap-muted);text-decoration:none}
.cap-quote-tel:hover{color:var(--cap-blue)}

/* ---- /shop/ category landing (pristine visit: cards replace the grid) ---- */
.cap-shoplead{color:var(--cap-muted);font:400 14px var(--cap-body);margin:-8px 0 22px}
.cap-catcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:1250px){.cap-catcards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.cap-catcards{grid-template-columns:1fr}}
.cap-ccard{border:1px solid var(--cap-border);border-radius:10px;background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.cap-ccard:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-2px)}
/* White panel + contain: the photography is a mix of transparent PNGs and
   white-boxed JPEGs, so any tinted background would show the JPEG boxes. */
.cap-ccard-img{position:relative;height:200px;display:flex;align-items:center;justify-content:center;background:#fff;padding:18px;border-bottom:1px solid var(--cap-border)}
.cap-ccard-img img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.cap-ccard-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--cap-blue);opacity:.3}
.cap-ccard-ph svg{width:40%;height:40%;max-width:72px;max-height:72px}
.cap-ccard-count{position:absolute;top:10px;right:10px;background:var(--cap-tint);color:var(--cap-blue-dark);font:600 11px var(--cap-body);padding:3px 9px;border-radius:999px}
.cap-ccard-body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column;gap:8px}
.cap-ccard-name{font:700 18px var(--cap-head);color:var(--cap-text);text-decoration:none;text-transform:uppercase;letter-spacing:.01em}
.cap-ccard-name:hover{color:var(--cap-blue)}
.cap-ccard-blurb{margin:0;color:var(--cap-muted);font-size:13px;line-height:1.5}
.cap-ccard-kids{display:flex;flex-wrap:wrap;gap:6px}
.cap-ccard-kids a{font:500 12px var(--cap-body);color:var(--cap-blue-dark);background:var(--cap-light);border:1px solid var(--cap-border);border-radius:999px;padding:4px 11px;text-decoration:none}
.cap-ccard-kids a:hover{border-color:var(--cap-blue);color:var(--cap-blue)}
.cap-ccard-cta{margin-top:auto;padding-top:6px;font:600 13px var(--cap-body);color:var(--cap-blue);text-decoration:none}
.cap-ccard-cta:hover{color:var(--cap-blue-dark)}
