/*
Theme Name: PSP Lockedin Pro
Theme URI: https://powerstrokeproducts.com/
Author: OpenAI
Description: Production-grade locked WooCommerce storefront theme for Powerstroke Products.
Version: 3.4.2
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 8.0
Text Domain: psp-lockedin
*/
:root{
  --psp-bg:#05080c;
  --psp-bg-2:#060b11;
  --psp-surface:#0a1017;
  --psp-surface-2:#0e151f;
  --psp-surface-3:#121b27;
  --psp-line:#1d2835;
  --psp-line-soft:#141c27;
  --psp-line-blue:rgba(37,121,255,.35);
  --psp-text:#f2f6fb;
  --psp-muted:#9ea9b9;
  --psp-muted-2:#78869a;
  --psp-blue:#1f6fff;
  --psp-blue-2:#2b80ff;
  --psp-blue-3:#6ea5ff;
  --psp-red:#eb3e32;
  --psp-red-2:#b92016;
  --psp-max:1280px;
  --psp-radius:18px;
  --psp-radius-md:12px;
  --psp-radius-sm:8px;
  --psp-shadow:0 18px 42px rgba(0,0,0,.34);
  --psp-shadow-sm:0 10px 24px rgba(0,0,0,.26);
  --psp-font-body:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --psp-font-head:"Arial Narrow",Impact,Haettenschweiler,"Franklin Gothic Condensed","Roboto Condensed",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:
  radial-gradient(circle at 18% 12%, rgba(31,111,255,.08), transparent 28%),
  linear-gradient(180deg,#04070b 0%,#06090d 38%,#05080c 100%);
  color:var(--psp-text);font-family:var(--psp-font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
.site{min-height:100vh;overflow-x:hidden}
.container,.narrow{width:min(calc(100% - 36px),var(--psp-max));margin-inline:auto}
.narrow{max-width:1160px}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:
  linear-gradient(90deg, transparent 0%, rgba(39,107,255,.045) 50%, transparent 100%);
  opacity:.55;mix-blend-mode:screen}

.topbar{background:#05080d;border-bottom:1px solid var(--psp-line-soft);position:relative;z-index:42}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#d8dfeb}

.site-header{position:sticky;top:0;z-index:40;background:rgba(7,11,16,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--psp-line-soft)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg, transparent, var(--psp-line-blue), transparent)}
.site-header .container{display:grid;grid-template-columns:230px 1fr 172px;align-items:center;gap:24px;padding:16px 0}
.branding{display:flex;align-items:center;gap:12px;min-width:0}
.branding .custom-logo-link img,.branding img{width:156px;max-width:100%;height:auto}
.primary-nav,.primary-nav > ul{display:flex;align-items:center;justify-content:center;gap:36px;list-style:none;margin:0;padding:0}
.primary-nav a,.primary-nav > ul > li > a{font:800 14px/1 var(--psp-font-head);letter-spacing:.08em;text-transform:uppercase;color:#f5f7fb}
.primary-nav a:hover,.primary-nav a:focus{color:var(--psp-blue-3)}
.header-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.tool-icon{position:relative;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.tool-icon:hover{border-color:rgba(255,255,255,.2);transform:translateY(-1px)}
.tool-icon svg{width:20px;height:20px}
.cart-bubble{position:absolute;top:-3px;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--psp-blue);display:grid;place-items:center;font-size:11px;font-weight:800;color:#fff}
.psp-mobile-toggle{display:none}

.btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:9px;border:1px solid var(--psp-line);background:linear-gradient(180deg,#111a26,#0a1119);color:#fff !important;font:900 14px/1 var(--psp-font-head);text-transform:uppercase;letter-spacing:.08em;box-shadow:var(--psp-shadow-sm);transition:transform .2s ease,border-color .2s ease,background .2s ease}
.btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{transform:translateY(-1px);border-color:#394b61}
.btn-primary,.woocommerce div.product form.cart .button.single_add_to_cart_button,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,#place_order,.woocommerce a.checkout-button{background:linear-gradient(180deg,var(--psp-blue-2),var(--psp-blue)) !important;border-color:transparent !important;box-shadow:0 16px 34px rgba(31,111,255,.28)}
.btn-outline{background:transparent;border-color:#5c6a7c;color:#fff !important;box-shadow:none}
.btn-mech{background:linear-gradient(180deg,#171e28,#0b1118);border-color:#3b4656}

.hero{position:relative;border-bottom:1px solid var(--psp-line-soft);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 38%, rgba(31,111,255,.12), transparent 26%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr);min-height:565px;align-items:stretch}
.hero-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:64px 44px 60px 8px;background:
  linear-gradient(90deg, rgba(5,8,13,1) 0%, rgba(5,8,13,.98) 64%, rgba(5,8,13,.72) 100%),
  linear-gradient(180deg, rgba(16,24,36,.7), rgba(5,8,13,0) 50%)}
.eyebrow{margin:0 0 16px;color:#a9c5ff;font:900 12px/1 var(--psp-font-head);letter-spacing:.24em;text-transform:uppercase}
.hero h1,.section-title,.entry-title,.woocommerce div.product .product_title,.product-hero-title,.shop-archive-title{margin:0;font-family:var(--psp-font-head);font-size:clamp(46px,7vw,78px);line-height:.9;letter-spacing:-.03em;font-weight:900;text-transform:uppercase}
.hero p{margin:18px 0 0;max-width:510px;color:#d8e0eb;font-size:20px;line-height:1.42}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero-media{position:relative;min-height:565px;border-left:1px solid var(--psp-line-soft);background:#0b1118;overflow:hidden}
.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(5,8,13,.08), rgba(5,8,13,.02) 40%, rgba(5,8,13,.18));pointer-events:none}
.hero-frame-lines::before,.hero-frame-lines::after{content:"";position:absolute;left:20px;right:20px;height:1px;background:linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent)}
.hero-frame-lines::before{top:18px}.hero-frame-lines::after{bottom:18px}

.section{padding:22px 0}
.section-header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}
.section-label{display:inline-flex;align-items:center;gap:12px;font:900 14px/1 var(--psp-font-head);text-transform:uppercase;letter-spacing:.12em;color:#f0f4fa}
.section-label::after{content:"";display:block;width:34px;height:2px;border-radius:20px;background:var(--psp-blue)}
.engine-band{padding-top:20px;padding-bottom:20px;border-top:1px solid var(--psp-line-soft);border-bottom:1px solid var(--psp-line-soft);background:linear-gradient(180deg,#05090e,#070b11)}
.engine-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.engine-card{background:linear-gradient(180deg,#0a1118,#0c131c);border:1px solid var(--psp-line);border-radius:14px;min-height:298px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.engine-card:hover{border-color:#2f4157;transform:translateY(-2px)}
.engine-card h3{margin:0;font:900 30px/.95 var(--psp-font-head);letter-spacing:-.04em;text-transform:uppercase}
.engine-meta{margin-top:7px;color:#d8e1ed;font:800 13px/1.4 var(--psp-font-head);letter-spacing:.08em;text-transform:uppercase}
.engine-years{display:block;color:#bcc6d5}
.engine-thumb{margin:18px auto 20px;height:124px;display:flex;align-items:center;justify-content:center}
.engine-thumb img{max-height:124px;width:auto;filter:drop-shadow(0 18px 34px rgba(0,0,0,.5))}
.engine-link{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--psp-line-soft);font:900 13px/1 var(--psp-font-head);letter-spacing:.09em;text-transform:uppercase}
.engine-link span:last-child{color:var(--psp-blue-3)}

.trust-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:18px 0 4px}
.trust-item{display:flex;gap:12px;align-items:flex-start;padding:12px 0}
.trust-icon{width:30px;height:30px;display:grid;place-items:center;color:#fff;flex:0 0 30px}
.trust-item strong,.inline-feature strong{display:block;font:900 15px/1.05 var(--psp-font-head);text-transform:uppercase;letter-spacing:.06em}
.trust-item span,.inline-feature span{display:block;margin-top:5px;color:var(--psp-muted);font-size:13px;line-height:1.35}

.motion-section{padding:20px 0 16px}
.motion-card{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);border:1px solid var(--psp-line);border-radius:16px;overflow:hidden;background:#080d12;box-shadow:var(--psp-shadow)}
.motion-copy{padding:36px 30px;background:linear-gradient(180deg, rgba(10,16,23,.96), rgba(10,16,23,.9)), radial-gradient(circle at 22% 18%, rgba(31,111,255,.12), transparent 28%)}
.motion-copy h2{margin:0;font-family:var(--psp-font-head);font-size:clamp(36px,5vw,60px);line-height:.92;letter-spacing:-.03em;text-transform:uppercase}
.motion-copy p{margin:16px 0 24px;color:#d8e0eb;font-size:17px;line-height:1.5}
.motion-media{position:relative;min-height:288px;background:#0b1118;overflow:hidden}
.motion-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(5,8,13,.15), rgba(5,8,13,.02) 45%, rgba(5,8,13,.18));pointer-events:none}
.motion-media img,.motion-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:90px;height:90px;border-radius:50%;border:3px solid rgba(255,255,255,.62);display:grid;place-items:center;background:rgba(0,0,0,.22)}
.play-badge::before{content:"";display:block;width:0;height:0;border-left:24px solid #fff;border-top:15px solid transparent;border-bottom:15px solid transparent;margin-left:6px}

.shop-shell{padding:16px 0 44px}
.shop-hero{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px}
.shop-archive-title{font-size:clamp(34px,5vw,58px)}
.shop-hero p{margin:8px 0 0;color:var(--psp-muted);font-size:15px}
.shop-layout{display:grid;grid-template-columns:268px minmax(0,1fr);gap:22px;align-items:start}
.shop-sidebar{position:sticky;top:98px;background:linear-gradient(180deg,#0a1017,#080d12);border:1px solid var(--psp-line);border-radius:14px;padding:18px;box-shadow:var(--psp-shadow-sm)}
.shop-sidebar h3{margin:0 0 14px;font:900 13px/1 var(--psp-font-head);text-transform:uppercase;letter-spacing:.12em;color:#fff}
.shop-sidebar h3::before{content:"";display:inline-block;vertical-align:middle;width:10px;height:2px;background:var(--psp-red);margin-right:8px}
.filter-list,.engine-filter-list,.footer-links{list-style:none;margin:0;padding:0}
.filter-list li,.engine-filter-list li{margin:8px 0;color:#dce4f0}
.filter-list a{color:#dce4f0}
.filter-list a:hover{color:#fff}
.price-box{margin-top:16px;padding-top:14px;border-top:1px solid var(--psp-line-soft)}
.fake-slider{position:relative;height:5px;border-radius:999px;background:#151f2c;margin:16px 0 12px}
.fake-slider::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--psp-red),var(--psp-red-2));border-radius:inherit}
.fake-slider::after{content:"";position:absolute;inset:-5px;background:radial-gradient(circle at 0% 50%, #ff4a41 0 5px, transparent 6px), radial-gradient(circle at 100% 50%, #ff4a41 0 5px, transparent 6px)}
.price-labels{display:flex;justify-content:space-between;font-size:13px;color:#d6deea}
.filter-button{width:100%;margin-top:12px;min-height:44px;border-radius:8px;border:1px solid #4b5563;background:transparent;color:#fff;font:900 13px/1 var(--psp-font-head);text-transform:uppercase;letter-spacing:.08em}
.psp-sort{min-width:180px}
.woocommerce-ordering,.woocommerce .woocommerce-result-count{margin:0 0 16px}
.woocommerce-ordering select,.psp-sort select,.woocommerce .quantity .qty,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-account .woocommerce-MyAccount-navigation a,.select2-container--default .select2-selection--single{width:100%;background:#0b1118;color:#fff;border:1px solid var(--psp-line);border-radius:10px;padding:12px 14px}
.select2-container--default .select2-selection--single{height:auto}.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.2;padding:0;color:#fff}.select2-container--default .select2-selection--single .select2-selection__arrow{height:100%}

.psp-grid,.woocommerce ul.products{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none !important}
.woocommerce ul.products li.product,.psp-card{float:none !important;width:auto !important;margin:0 !important;background:linear-gradient(180deg,#0a1017,#0b121b);border:1px solid var(--psp-line);border-radius:14px;overflow:visible;box-shadow:var(--psp-shadow-sm);display:flex;flex-direction:column}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1}
.woocommerce ul.products li.product a img{margin:0 !important;width:100%;aspect-ratio:1/.78;object-fit:contain;background:#fff;padding:16px;border-bottom:1px solid #dbe2ea}
.woocommerce-loop-product__title,.psp-card-title{padding:14px 16px 8px !important;font:900 14px/1.35 var(--psp-font-body) !important;color:#fff;letter-spacing:0}
.woocommerce ul.products li.product .price{padding:0 16px 14px;color:#fff !important;font-size:14px !important;font-weight:800;margin-top:auto}
.woocommerce ul.products li.product .button,.psp-card .button{margin:0 16px 16px !important;align-self:flex-start;min-height:42px;padding:0 14px;border-radius:9px;font-size:13px}
.woocommerce ul.products li.product .star-rating,.woocommerce span.onsale{display:none !important}
.woocommerce .woocommerce-result-count{color:var(--psp-muted)}
.woocommerce nav.woocommerce-pagination{text-align:center;margin-top:24px}
.woocommerce nav.woocommerce-pagination ul{border:none;display:inline-flex;gap:8px;padding:0}
.woocommerce nav.woocommerce-pagination ul li{border:none;float:none}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{width:42px;height:42px;display:grid;place-items:center;background:#0c1118;color:#fff;border:1px solid var(--psp-line);border-radius:8px}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--psp-blue);border-color:transparent}

.newsletter{margin-top:34px;border-top:1px solid var(--psp-line-soft);border-bottom:1px solid var(--psp-line-soft);background:linear-gradient(180deg, rgba(10,16,23,.82), rgba(6,10,15,.92))}
.newsletter .container{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:24px;align-items:center;padding:26px 0}
.newsletter-signup{display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:start}
.newsletter-icon{width:56px;height:56px;border-radius:50%;border:1px solid var(--psp-line);display:grid;place-items:center;background:#0a1017}
.newsletter h3{margin:0;font-family:var(--psp-font-head);font-size:30px;line-height:.95;text-transform:uppercase;letter-spacing:-.03em}
.newsletter p{margin:10px 0 0;color:var(--psp-muted)}
.newsletter-form{display:flex;gap:8px;margin-top:12px}.newsletter-form input{flex:1;min-height:44px;border-radius:8px;border:1px solid var(--psp-line);background:#0b1118;color:#fff;padding:0 14px}.newsletter-form button{min-height:44px;padding:0 18px;border:none;border-radius:8px;background:var(--psp-blue);color:#fff;font:900 13px/1 var(--psp-font-head);text-transform:uppercase;letter-spacing:.08em}
.inline-feature{display:flex;align-items:center;gap:12px}

.site-footer{padding:28px 0 18px}
.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr 1fr;gap:20px}
.footer-brand p{color:var(--psp-muted);max-width:320px;line-height:1.5}
.footer-title{margin:8px 0 12px;font:900 16px/1 var(--psp-font-head);text-transform:uppercase;letter-spacing:.08em}
.footer-links li{margin:8px 0;color:#d5dce8}.footer-links a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:18px;padding-top:12px;border-top:1px solid var(--psp-line-soft);color:var(--psp-muted);font-size:13px}.footer-policy{display:flex;gap:18px;flex-wrap:wrap}

.page-shell,.single-post .site-main,.page .site-main,.search .site-main{padding:38px 0 64px}
.entry-card,.psp-panel,.woocommerce .woocommerce-notices-wrapper + .woocommerce,.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-account .woocommerce,.woocommerce-order-received .woocommerce{background:linear-gradient(180deg,#080d12,#0a1017);border:1px solid var(--psp-line);border-radius:18px;padding:28px;box-shadow:var(--psp-shadow)}
.entry-title{font-size:clamp(34px,5vw,56px);margin-bottom:18px}
.entry-content{color:#d8e0eb;line-height:1.72}.entry-content p:first-child{margin-top:0}
.psp-breadcrumbs{color:var(--psp-muted);font-size:14px;margin-bottom:16px}.psp-breadcrumbs a{color:var(--psp-muted)}.psp-breadcrumbs a:hover{color:#fff}
.screen-reader-text{position:absolute;left:-9999px}

/* single product */
.psp-product-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:28px;align-items:start}
.psp-product-gallery,.psp-product-summary{background:linear-gradient(180deg,#0a1017,#0c131b);border:1px solid var(--psp-line);border-radius:18px;box-shadow:var(--psp-shadow)}
.psp-product-gallery{padding:20px;overflow:hidden}
.woocommerce div.product div.images{float:none !important;width:auto !important;margin:0 !important}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{display:block}
.woocommerce div.product div.images img{border-radius:14px;background:#fff;padding:16px}
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px !important}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto !important}
.woocommerce div.product div.images .flex-control-thumbs img{background:#fff;border-radius:10px;padding:8px;opacity:1;border:1px solid #d9e1ea}
.psp-product-summary{position:sticky;top:96px;padding:24px}
.woocommerce div.product .summary{float:none !important;width:auto !important;margin:0 !important}
.woocommerce div.product .product_title{font-size:clamp(34px,4vw,52px);margin-bottom:12px}
.woocommerce div.product .summary .price{color:#fff !important;font:900 30px/1 var(--psp-font-head) !important;letter-spacing:.02em;margin-bottom:14px}
.woocommerce-product-details__short-description{color:#d8e0eb;line-height:1.6;margin-bottom:18px}
.woocommerce div.product form.cart{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.woocommerce .quantity{margin:0 !important}
.woocommerce div.product form.cart .button.single_add_to_cart_button{flex:1;min-width:220px}
.woocommerce div.product p.stock{margin:0 0 14px;font-weight:800;color:#b7c7df}
.woocommerce div.product .product_meta{padding-top:16px;border-top:1px solid var(--psp-line-soft);font-size:13px;color:var(--psp-muted);display:grid;gap:8px}
.woocommerce div.product .product_meta a{color:#dce4f0}
.woocommerce-product-rating{display:none}
.psp-fitment-callouts{display:grid;gap:10px;margin:18px 0}.psp-fitment-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--psp-line);border-radius:12px;background:#0a1017}.psp-fitment-card svg{flex:0 0 22px;margin-top:2px}.psp-fitment-card strong{display:block;font:900 13px/1 var(--psp-font-head);text-transform:uppercase;letter-spacing:.08em}.psp-fitment-card span{display:block;margin-top:5px;color:#cad4e3;font-size:14px;line-height:1.4}
.psp-related-wrap{margin-top:28px}
.woocommerce-tabs{margin-top:28px}.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:10px;flex-wrap:wrap;padding:0;margin:0 0 16px;border:none}.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none !important}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:none;background:none;padding:0;margin:0;border-radius:0}.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--psp-line);border-radius:9px;background:#0b1118;color:#fff !important;font:900 13px/1 var(--psp-font-head);text-transform:uppercase;letter-spacing:.08em}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{background:linear-gradient(180deg,#152035,#0c1421);border-color:#33465c}.woocommerce-Tabs-panel{padding:22px;border:1px solid var(--psp-line);border-radius:14px;background:#090f15;color:#d8e0eb;line-height:1.65}

/* Cart / Checkout / Account */
.woocommerce table.shop_table{border-collapse:separate;border-spacing:0;border:1px solid var(--psp-line);border-radius:14px;overflow:hidden;background:#0a1017}.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--psp-line) !important;color:#fff;padding:14px}.woocommerce-cart table.cart img{width:90px;border-radius:10px;background:#fff;padding:8px}.woocommerce .cart_totals,.woocommerce .checkout_coupon,.woocommerce form.login,.woocommerce form.register,.woocommerce-checkout-review-order,.woocommerce-checkout-payment,.woocommerce-account .addresses .title,.woocommerce-account .woocommerce-Address,.woocommerce-form-coupon,.woocommerce-form-login,.woocommerce-EditAccountForm{background:#0a1017;border:1px solid var(--psp-line);border-radius:14px;padding:20px}
.woocommerce-info,.woocommerce-message,.woocommerce-error{background:#0c1420;color:#fff;border-top-color:var(--psp-blue)}
.woocommerce form .form-row label{font:900 12px/1.1 var(--psp-font-head);letter-spacing:.1em;text-transform:uppercase;color:#dce4f0;margin-bottom:8px}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px}.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.woocommerce-account .woocommerce-MyAccount-navigation a{display:block}.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{background:linear-gradient(180deg,#152035,#0c1421);border-color:#35506a}.woocommerce-account .woocommerce-MyAccount-content{min-width:0}
.woocommerce ul.order_details{padding:0;display:grid;gap:10px;list-style:none}

/* Search / generic */
.search-results article{margin-bottom:18px}

@keyframes pspSlowZoom{0%{transform:scale(1.02) translate3d(0,0,0)}100%{transform:scale(1.08) translate3d(-1%,0,0)}}

@media (max-width:1180px){
  .psp-grid,.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .engine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .newsletter .container{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1.35fr 1fr 1fr 1fr}
}
@media (max-width:980px){
  .site-header .container{grid-template-columns:1fr auto auto;gap:14px}
  .primary-nav{position:fixed;left:16px;right:16px;top:78px;background:#0b1118;border:1px solid var(--psp-line);border-radius:16px;display:none;padding:18px;box-shadow:var(--psp-shadow);justify-content:flex-start}
  .primary-nav > ul{flex-direction:column;align-items:flex-start;gap:18px}
  .primary-nav.is-open{display:flex}
  .psp-mobile-toggle{display:grid}
  .hero-grid,.motion-card,.psp-product-shell,.woocommerce-account .woocommerce{grid-template-columns:1fr}
  .hero-media{min-height:330px;border-left:none;border-top:1px solid var(--psp-line-soft)}
  .shop-layout{grid-template-columns:1fr}.shop-sidebar,.psp-product-summary{position:static}
  .psp-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .container,.narrow{width:min(calc(100% - 20px),var(--psp-max))}
  .topbar .container{font-size:11px;flex-direction:column;align-items:flex-start}
  .site-header .container{padding:14px 0}
  .hero-copy{padding:40px 8px 34px}.hero p{font-size:17px}
  .engine-grid,.psp-grid,.woocommerce ul.products,.trust-row,.newsletter .container,.footer-grid,.woocommerce div.product div.images .flex-control-thumbs{grid-template-columns:1fr}
  .newsletter-form,.shop-hero{flex-direction:column;align-items:flex-start}
}

/* v2.1 functional overrides */
.site-header .container{grid-template-columns:220px minmax(260px,420px) 1fr auto}
.brand-top .custom-logo-link img,.brand-top img{width:260px;max-width:100%;height:auto}
.header-search-wrap{min-width:0}
.psp-product-search{display:grid;grid-template-columns:minmax(0,1fr) 54px;align-items:stretch;border:1px solid var(--psp-line);background:#0a1017;border-radius:10px;overflow:hidden;box-shadow:var(--psp-shadow-sm)}
.psp-product-search input{min-width:0;border:0;background:transparent;color:#fff;padding:0 16px;height:52px}
.psp-product-search input::placeholder{color:#93a1b7}
.psp-product-search button{border:0;background:linear-gradient(180deg,var(--psp-blue-2),var(--psp-blue));color:#fff;display:grid;place-items:center;cursor:pointer}
.psp-product-search button svg{width:20px;height:20px}
.sidebar-search-wrap .psp-product-search{grid-template-columns:minmax(0,1fr) 48px}
.sidebar-search-wrap .psp-product-search input{height:46px;font-size:14px}
.sidebar-search-wrap .psp-product-search button{min-height:46px}
.motion-card{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr)}
.motion-video{display:block}
.newsletter-logo-stack{display:grid;gap:14px;justify-items:start}
.newsletter-logo-stack .custom-logo-link img{width:210px;max-width:100%;height:auto}
.trust-inline-set{display:grid;gap:10px}
.shop-sidebar > *:first-child{margin-top:0}
.psp-filter-form{display:grid;gap:0}
.price-range-bar{position:relative;height:6px;border-radius:999px;background:#151f2c;margin:12px 0 14px;overflow:hidden}
.price-range-bar span{display:block;width:72%;height:100%;background:linear-gradient(90deg,var(--psp-blue-2),#79adff)}
.price-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.price-field-row label{display:grid;gap:6px;font-size:12px;color:#cad4e3;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.price-field-row input{width:100%;height:42px;border-radius:8px;border:1px solid var(--psp-line);background:#0b1118;color:#fff;padding:0 12px}
.filter-actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:12px}
.filter-button{margin-top:0;background:linear-gradient(180deg,#161f2b,#0b1118);border-color:#324153;cursor:pointer}
.filter-reset{font:900 12px/1 var(--psp-font-head);letter-spacing:.1em;text-transform:uppercase;color:#d4deec}
.engine-radio-list label{display:flex;gap:10px;align-items:center;cursor:pointer}
.engine-radio-list input{accent-color:var(--psp-blue)}
.current-cat > a{color:#fff;font-weight:800}
.woocommerce .woocommerce-ordering{margin:0}
.woocommerce ul.products li.product{min-height:100%}
.woocommerce ul.products li.product .price{order:3}
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product a.added_to_cart{order:4}
.woocommerce ul.products li.product a.added_to_cart{margin:0 16px 16px;color:#d4deec;font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}
.hero-media img{object-fit:contain;padding:28px 20px 18px;filter:drop-shadow(0 26px 34px rgba(0,0,0,.42))}
.hero-copy p{max-width:540px}
@media (max-width:1180px){
  .site-header .container{grid-template-columns:220px minmax(220px,1fr) auto auto;gap:16px}
  .brand-top .custom-logo-link img,.brand-top img{width:220px}
}
@media (max-width:980px){
  .site-header .container{grid-template-columns:1fr auto auto;align-items:center}
  .header-search-wrap{grid-column:1 / -1;order:4}
  .brand-top .custom-logo-link img,.brand-top img{width:190px}
  .tool-icon{width:42px;height:42px}
  .motion-card{grid-template-columns:1fr}
  .motion-media{order:-1;min-height:260px}
}
@media (max-width:640px){
  .site-header .container{grid-template-columns:1fr auto}
  .header-search-wrap{grid-column:1 / -1}
  .filter-actions{grid-template-columns:1fr}
}


/* v2.4 catalog, carousel, and policy upgrades */
.engine-carousel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}
.engine-carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(255px, 290px);gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px;scrollbar-width:none}
.engine-carousel-track::-webkit-scrollbar{display:none}
.engine-carousel .engine-card{scroll-snap-align:start;min-height:100%}
.engine-carousel-arrow{width:44px;height:44px;border-radius:999px;border:1px solid var(--psp-line);background:#0a1017;color:#fff;font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:var(--psp-shadow-sm)}
.engine-family{font:900 11px/1 var(--psp-font-head);letter-spacing:.14em;text-transform:uppercase;color:#77a8ff;margin-bottom:8px}
.shop-utility-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 18px;border:1px solid var(--psp-line);border-radius:16px;background:linear-gradient(180deg,#0d141c,#091017);margin:18px 0 22px}
.results-label{font:900 14px/1 var(--psp-font-head);text-transform:uppercase;letter-spacing:.12em;color:#fff}.utility-copy{color:#aeb9ca;font-size:14px}
.archive-platforms{margin:18px 0 24px}
.shop-sidebar .filter-list a,.engine-radio-list span{font-size:15px}
.engine-radio-list strong{color:#fff;font:900 13px/1 var(--psp-font-head);letter-spacing:.08em;text-transform:uppercase;margin-right:6px}
.woocommerce ul.products li.product.psp-product-card,.psp-product-card{display:flex;flex-direction:column;padding:0;overflow:visible;border-radius:16px;border:1px solid var(--psp-line);background:linear-gradient(180deg,#0d141d,#090f15);min-height:0;box-shadow:var(--psp-shadow-sm)}
.psp-product-thumb-wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:280px;max-height:280px;padding:18px;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.085),transparent 48%),linear-gradient(180deg,#111922,#0c1117);border-bottom:1px solid var(--psp-line-soft);overflow:hidden}
.psp-product-thumb-wrap img{max-width:100%;max-height:240px;width:auto;height:auto !important;object-fit:contain;mix-blend-mode:normal}
.psp-product-copy{display:flex;flex-direction:column;gap:10px;padding:18px 18px 8px;flex:1}
.psp-product-cats{font:800 11px/1.3 var(--psp-font-head);text-transform:uppercase;letter-spacing:.12em;color:#78a9ff}
.woocommerce ul.products li.product .woocommerce-loop-product__title{margin:0;font-size:24px;line-height:1.05}
.woocommerce ul.products li.product .price{font:900 28px/1 var(--psp-font-head) !important;color:#fff !important;margin:8px 0 0}
.psp-product-actions{display:grid;gap:8px;padding:0 18px 18px;margin-top:auto}
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product a.added_to_cart{margin:0 !important;width:100%;justify-content:center}
.woocommerce nav.woocommerce-pagination{margin:28px 0 0}
.woocommerce nav.woocommerce-pagination ul{border:none;display:flex;gap:10px;flex-wrap:wrap}
.woocommerce nav.woocommerce-pagination ul li{border:none;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:grid;place-items:center;min-width:44px;height:44px;border-radius:10px;border:1px solid var(--psp-line);background:#0b1118;color:#fff;font:900 13px/1 var(--psp-font-head);letter-spacing:.08em}
.woocommerce nav.woocommerce-pagination ul li span.current{background:linear-gradient(180deg,#182337,#0d1522);border-color:#3a5370}
.psp-product-topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px;padding:14px 18px;border:1px solid var(--psp-line);background:#0a1017;border-radius:14px}
.psp-product-anchor-nav{display:flex;gap:10px;flex-wrap:wrap}.psp-product-anchor-nav a{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--psp-line);border-radius:999px;background:#0e151e;color:#dbe5f1;font:900 12px/1 var(--psp-font-head);letter-spacing:.1em;text-transform:uppercase}
.psp-product-detail-panel{margin-top:24px;padding:18px 20px;border:1px solid var(--psp-line);border-radius:14px;background:#0a1017;color:#c7d2e3}
.site-footer .footer-grid{grid-template-columns:1.45fr 1fr 1fr 1fr}
.entry-card h2{margin-top:24px}
@media (max-width:980px){
  .engine-carousel{grid-template-columns:1fr}
  .engine-carousel-arrow{display:none}
  .shop-utility-bar,.psp-product-topbar{flex-direction:column;align-items:flex-start}
  .site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .engine-carousel-track{grid-auto-columns:minmax(82vw,82vw)}
  .psp-product-thumb-wrap{min-height:240px;max-height:240px}
  .site-footer .footer-grid{grid-template-columns:1fr}
}


/* v2.5 filter, grid, pagination, cart, and transparent engine upgrades */
.engine-thumb,
.engine-thumb img,
.engine-carousel .engine-thumb,
.engine-carousel .engine-thumb img{
  background:transparent !important;
}
.engine-thumb{
  isolation:isolate;
}
.engine-thumb img{
  display:block;
  object-fit:contain;
  mix-blend-mode:screen;
}
.psp-check-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  cursor:pointer;
}
.psp-check-row input{
  margin-top:4px;
  accent-color:var(--psp-blue);
}
.shop-sidebar .filter-list li,
.shop-sidebar .engine-filter-list li{
  margin:10px 0;
}
.shop-sidebar .filter-list a,
.shop-sidebar .filter-list span,
.shop-sidebar .engine-filter-list span{
  color:#dce4f0;
}
.shop-sidebar .filter-list .current-cat span,
.shop-sidebar .filter-list .current-cat a{
  color:#fff;
  font-weight:800;
}
.psp-home-products,
.front-page .woocommerce ul.products,
.home .woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
}
.front-page .shop-layout > div:last-child,
.home .shop-layout > div:last-child{
  min-width:0;
}
.front-page .woocommerce ul.products li.product,
.home .woocommerce ul.products li.product{
  width:auto !important;
  float:none !important;
}
.front-page .psp-product-thumb-wrap,
.home .psp-product-thumb-wrap{
  min-height:220px;
  max-height:220px;
}
.front-page .woocommerce ul.products li.product .woocommerce-loop-product__title,
.home .woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:20px;
  min-height:52px;
}
.front-page .woocommerce ul.products li.product .price,
.home .woocommerce ul.products li.product .price{
  font-size:22px !important;
}
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.woocommerce nav.woocommerce-pagination ul li::marker{
  content:"";
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  min-width:48px;
  padding:0 14px;
}
.woocommerce nav.woocommerce-pagination ul li .next,
.woocommerce nav.woocommerce-pagination ul li .prev{
  font-size:18px;
}
.woocommerce .price .woocommerce-Price-suffix,
.woocommerce small.woocommerce-price-suffix{
  display:none !important;
}
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals{
  background:#0a1017;
  border:1px solid var(--psp-line);
  border-radius:18px;
  padding:20px;
  box-shadow:var(--psp-shadow);
}
.woocommerce-cart .cart-collaterals{
  margin-top:22px;
}
.woocommerce-cart .cart-collaterals .cart_totals{
  padding:0;
  border:none;
  background:transparent;
}
.woocommerce-cart .coupon{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.woocommerce-cart .coupon #coupon_code{
  min-height:44px;
  min-width:220px;
  border-radius:10px;
  border:1px solid var(--psp-line);
  background:#0b1118;
  color:#fff;
  padding:0 14px;
}
.woocommerce-cart table.shop_table td.actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.woocommerce-cart table.shop_table td.product-name a,
.woocommerce-cart table.shop_table td.product-name,
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal,
.woocommerce-cart table.shop_table td.product-quantity{
  color:#fff !important;
}
.woocommerce-cart table.shop_table td.product-name dl.variation{
  color:#b7c3d4;
}
.woocommerce-cart .quantity .qty{
  max-width:90px;
  min-height:44px;
}
.woocommerce-cart .wc-proceed-to-checkout{
  margin:0;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  margin-bottom:0 !important;
}
@media (max-width:1180px){
  .psp-home-products,
  .front-page .woocommerce ul.products,
  .home .woocommerce ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:980px){
  .psp-home-products,
  .front-page .woocommerce ul.products,
  .home .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:640px){
  .psp-home-products,
  .front-page .woocommerce ul.products,
  .home .woocommerce ul.products{
    grid-template-columns:1fr !important;
  }
  .woocommerce-cart table.shop_table td.actions{
    display:block;
  }
}

.motion-video--fallback{display:block;width:100%;height:100%;object-fit:cover;}


/* v2.6 polish */
.psp-inline-search{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:center}
.psp-inline-search input{width:100%;min-width:0;background:#0b1118;color:#fff;border:1px solid var(--psp-line);border-radius:10px;padding:12px 14px}
.psp-inline-search button{width:44px;height:44px;border-radius:10px;border:1px solid var(--psp-line);background:#0f1620;color:#fff;display:grid;place-items:center}
.psp-inline-search button svg{width:18px;height:18px}
.psp-quick-filter-groups{display:grid;gap:14px;margin:16px 0 18px}
.psp-chip-group{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.psp-chip-group-label{font:900 11px/1 var(--psp-font-head);letter-spacing:.14em;text-transform:uppercase;color:#9fb2c7;margin-right:6px}
.psp-filter-chip{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--psp-line);background:#0b1118;color:#e8eef7;font:800 12px/1 var(--psp-font-head);letter-spacing:.08em;text-transform:uppercase}
.psp-filter-chip:hover{border-color:#355f9c;color:#fff;transform:translateY(-1px)}
.psp-product-actions{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}
.psp-fitment-pills{display:flex;flex-wrap:wrap;gap:8px}
.psp-fitment-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:rgba(31,111,255,.14);border:1px solid rgba(76,140,255,.35);color:#dceaff;font:800 11px/1 var(--psp-font-head);letter-spacing:.08em;text-transform:uppercase}
.psp-fitment-pill--dark{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.09);color:#f6f8fc}
.psp-product-cats{min-height:34px}
.woocommerce ul.products li.product .price{margin-top:auto}
.woocommerce-cart .cart-collaterals{display:block;max-width:720px}
.woocommerce-cart .cart_totals table th,.woocommerce-cart .cart_totals table td{padding:12px 14px !important;vertical-align:top}
.woocommerce-cart .shipping-calculator-form,.woocommerce-checkout .col2-set,.woocommerce-checkout-review-order,.woocommerce-checkout-payment{background:#0a1017;border:1px solid var(--psp-line);border-radius:18px;padding:20px;box-shadow:var(--psp-shadow)}
.woocommerce-checkout .col2-set{margin-bottom:20px}
.select2-container{width:100% !important}
.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple,.woocommerce form .form-row .select2-container .selection{background:#0b1118 !important;border:1px solid var(--psp-line) !important;border-radius:10px !important;min-height:52px !important}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff !important;line-height:52px !important;padding:0 40px 0 14px !important}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:52px !important;right:10px !important}
.select2-dropdown{background:#0b1118 !important;border:1px solid var(--psp-line) !important;color:#fff !important}
.select2-container--default .select2-results__option{color:#fff}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:#17304f !important}
.woocommerce nav.woocommerce-pagination ul li::before,.woocommerce nav.woocommerce-pagination ul::before,.woocommerce nav.woocommerce-pagination ul::after{content:none !important}
.site-header .brand img{max-height:82px;width:auto}
.hero-media img{background:transparent;object-fit:contain;padding:8px}
@media (max-width:1180px){.psp-quick-filter-groups{gap:10px}}


/* v2.7 ajax/filter/cart fixes */
#psp-product-results.is-loading{opacity:.55;pointer-events:none;transition:opacity .18s ease}
#psp-quick-filters .psp-filter-chip{cursor:pointer}
#psp-ordering-wrap.screen-reader-text{position:static!important;left:auto!important;width:0;height:0;overflow:hidden;opacity:0}
.shop-layout > #psp-product-results,.shop-layout > #psp-archive-main{min-width:0}
.psp-product-actions{display:flex;flex-direction:column;gap:12px;padding:0 18px 18px}
.psp-product-copy{padding:18px 18px 0}
.psp-product-copy .woocommerce-loop-product__title{margin:0;font-size:20px;line-height:1.18;min-height:74px}
.psp-product-card .button{width:100%;min-height:44px}
.psp-fitment-pills{order:-1;margin-top:2px}
.woocommerce ul.products li.product .price{margin:0 0 2px!important}
.woocommerce ul.products li.product .button{margin-top:auto!important}
.woocommerce ul.products{align-items:stretch}
.woocommerce ul.products li.product.psp-product-card{height:100%}
.woocommerce-cart .cart_totals table.shop_table td,.woocommerce-cart .cart_totals table.shop_table th{padding:18px 16px}
.woocommerce-cart .cart-collaterals .cart_totals{max-width:100%}
.select2-container--default .select2-selection--single,
.woocommerce form .form-row select,
.woocommerce form .select2-selection,
.select2-dropdown{background:#0a1017!important;color:#fff!important;border:1px solid var(--psp-line)!important;border-radius:10px!important;min-height:52px}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff!important;line-height:50px!important;padding-left:14px!important}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:50px!important}
.select2-search--dropdown .select2-search__field{background:#0a1017!important;color:#fff!important;border:1px solid var(--psp-line)!important}
.select2-results__option{background:#0a1017;color:#fff}
.select2-results__option--highlighted{background:#1f6fff!important;color:#fff!important}
.psp-filter-form .filter-list .psp-check-row,.psp-filter-form .engine-filter-list .psp-check-row{cursor:pointer}
.psp-filter-form .filter-list input,.psp-filter-form .engine-filter-list input{accent-color:var(--psp-blue)}
.brand-top .custom-logo-link img,.brand-top img{width:320px;max-height:94px;object-fit:contain}

.psp-product-copy .psp-fitment-pills{margin:10px 0 12px}
.filter-reset{display:inline-flex;align-items:center;justify-content:center}


/* v2.9 shop + checkout cleanup */
#psp-pagination-wrap{margin-top:24px}
#psp-pagination-wrap:empty{display:none}
.shop-sidebar .price-box:first-of-type{margin-top:0;padding-top:0;border-top:none}
.shop-sidebar{max-height:calc(100vh - 120px);overflow:auto;background:linear-gradient(180deg,#111926,#0d141d)}
.shop-sidebar::-webkit-scrollbar{width:10px}
.shop-sidebar::-webkit-scrollbar-thumb{background:#263548;border-radius:999px}
.shop-sidebar .price-box h3{display:flex;align-items:center;justify-content:space-between}
.shop-sidebar .price-box h3::after{content:"";flex:1;border-top:1px solid rgba(255,255,255,.08);margin-left:10px}
.psp-flow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}
.psp-flow-step{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid #243243;background:linear-gradient(180deg,#141d28,#101823);color:#d9e3ef;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.psp-flow-step em{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:#1a2634;border:1px solid #314254;font-style:normal;font:900 12px/1 var(--psp-font-head);color:#fff}
.psp-flow-step strong{font:900 12px/1 var(--psp-font-head);letter-spacing:.12em;text-transform:uppercase}
.psp-flow-step.is-current{border-color:#4e82c8;background:linear-gradient(180deg,#1d2d42,#172434)}
.psp-flow-step.is-current em,.psp-flow-step.is-complete em{background:var(--psp-blue);border-color:transparent}
.psp-flow-step.is-complete{border-color:#365475}
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-order-received .woocommerce{background:linear-gradient(180deg,#111927,#0d141c);border-color:#243140}
.woocommerce table.shop_table{background:#fff;border-color:#d7e0ea;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{color:#0f1722;border-color:#e4ebf2 !important}
.woocommerce-cart table.cart img{background:#f7fafc;border:1px solid #e1e7ee}
.woocommerce .cart_totals,.woocommerce .checkout_coupon,.woocommerce form.login,.woocommerce form.register,.woocommerce-checkout-review-order,.woocommerce-checkout-payment,.woocommerce-account .addresses .title,.woocommerce-account .woocommerce-Address,.woocommerce-form-coupon,.woocommerce-form-login,.woocommerce-EditAccountForm,.woocommerce-checkout .woocommerce-billing-fields,.woocommerce-checkout .woocommerce-additional-fields{background:linear-gradient(180deg,#fdfefe,#f3f7fb);border:1px solid #d8e1ea;border-radius:16px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.woocommerce .cart_totals h2,.woocommerce-checkout-review-order-table thead th,.woocommerce-checkout #order_review_heading,.woocommerce-billing-fields h3,.woocommerce-additional-fields h3{color:#0f1722;font:900 18px/1 var(--psp-font-head);letter-spacing:.06em;text-transform:uppercase}
.woocommerce-info,.woocommerce-message,.woocommerce-error{background:#edf4ff;color:#12304f;border:1px solid #c7dbf5;border-top:4px solid var(--psp-blue);border-radius:12px}
.woocommerce form .form-row label{color:#334a63}
.woocommerce form .input-text,.woocommerce form select,.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple,.woocommerce textarea{background:#fff !important;color:#0f1722 !important;border:1px solid #cfd9e5 !important;border-radius:10px !important;min-height:48px}
.woocommerce textarea{min-height:120px;padding:14px}
.woocommerce form .input-text:focus,.woocommerce form select:focus,.woocommerce textarea:focus{outline:none;border-color:#6da2eb !important;box-shadow:0 0 0 3px rgba(31,111,255,.12)}
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);gap:22px}
.woocommerce-checkout-review-order-table,.woocommerce-checkout-review-order-table tbody,.woocommerce-checkout-review-order-table tfoot{background:transparent}
.woocommerce-checkout #payment{background:transparent;border:none;padding:0;box-shadow:none}
.woocommerce-checkout-payment ul.payment_methods{padding:0;margin:0 0 16px;list-style:none}
.woocommerce-checkout-payment ul.payment_methods li{background:#fff;border:1px solid #d6e0ea;border-radius:12px;padding:14px 14px 10px;margin-bottom:10px}
.woocommerce-checkout .place-order{display:grid;gap:12px}
.woocommerce-checkout .place-order .button,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{width:100%;min-height:54px}
.woocommerce-cart .cart-collaterals{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);gap:22px;align-items:start}
.woocommerce-cart .cross-sells{order:1}
.woocommerce-cart .cart_totals{order:2;position:sticky;top:108px}
.woocommerce-cart table.cart td.actions{background:#f7fafc}
.woocommerce-cart .coupon{display:flex;gap:10px;flex-wrap:wrap}
.woocommerce-cart .coupon .input-text{min-width:220px;background:#fff !important;color:#0f1722 !important;border:1px solid #cfd9e5 !important}
.woocommerce-checkout .woocommerce-form-coupon-toggle,.woocommerce-checkout .woocommerce-form-login-toggle{margin-bottom:14px}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info{background:#f4f8fd;color:#23415e}
@media (max-width:980px){
  .psp-flow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .woocommerce-checkout .col2-set,.woocommerce-cart .cart-collaterals{grid-template-columns:1fr}
  .woocommerce-cart .cart_totals{position:static}
  .shop-sidebar{max-height:none;overflow:visible}
}
@media (max-width:640px){
  .psp-flow-steps{grid-template-columns:1fr}
}


/* v3.0 homepage/shop cleanup + softer cart/checkout */
:root{
  --psp-bg:#071019;
  --psp-bg-2:#0a1420;
  --psp-surface:#0f1823;
  --psp-surface-2:#14202d;
  --psp-surface-3:#182636;
  --psp-line:#243447;
  --psp-line-soft:#1a2735;
}
body{
  background:radial-gradient(circle at 18% 12%, rgba(31,111,255,.06), transparent 28%), linear-gradient(180deg,#071019 0%,#0a1320 38%,#08111b 100%);
}
.topbar{background:#09121c}
.site-header{background:rgba(10,16,25,.9)}
.wc-block-product-filters,.wp-block-woocommerce-product-filters{display:none !important}
#psp-quick-filters{display:none !important}
.shop-shell .shop-layout{align-items:start}
.hero-media img{background:transparent;object-fit:contain;padding:0}
.motion-media video.motion-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.psp-woocommerce-page .page-shell{padding-bottom:40px}
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-order-received .woocommerce{
  background:transparent;
  border:none;
  box-shadow:none;
}
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart_totals,
.woocommerce-checkout .col2-set,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-payment,
.woocommerce-checkout .woocommerce-form-coupon,
.woocommerce-checkout .woocommerce-form-login{
  background:linear-gradient(180deg,#ffffff,#f4f7fb);
  border:1px solid #d8e1ea;
  border-radius:18px;
  box-shadow:0 16px 34px rgba(5,16,30,.08);
}
.woocommerce-cart .woocommerce-cart-form{padding:0;overflow:visible}
.woocommerce table.shop_table{margin:0;border-collapse:separate;border-spacing:0;background:transparent;box-shadow:none;border:0}
.woocommerce-cart table.cart thead th{
  background:#eef3f8;
  color:#132031;
  font:900 14px/1 var(--psp-font-head);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{padding:18px 18px;border-bottom:1px solid #e3eaf1 !important}
.woocommerce table.shop_table tbody tr:last-child td{border-bottom:none !important}
.woocommerce-cart table.cart td.product-remove{width:54px;text-align:center}
.woocommerce-cart table.cart td.product-thumbnail{width:110px}
.woocommerce-cart table.cart td.product-name,
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal,
.woocommerce-cart table.cart td.product-quantity{color:#132031;vertical-align:middle}
.woocommerce-cart table.cart td.product-name a,
.woocommerce-checkout-review-order-table a,
.woocommerce-cart .product-name dl,
.woocommerce-cart .product-name .variation,
.woocommerce-cart .product-name small{color:#132031 !important}
.woocommerce-cart table.cart img{width:76px;border-radius:12px;padding:6px;background:#fff}
.woocommerce-cart table.cart td.product-name a{font-weight:800;font-size:16px;line-height:1.35}
.woocommerce-cart table.cart .quantity .qty{width:86px;text-align:center;background:#fff !important;color:#132031 !important;border:1px solid #ccd8e4 !important;border-radius:10px}
.woocommerce-cart table.cart td.actions{padding:18px;background:#f4f7fb}
.woocommerce-cart .coupon{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.woocommerce-cart .coupon label{color:#24384d;font-weight:700}
.woocommerce-cart .coupon .input-text{height:48px;padding:0 14px}
.woocommerce-cart .coupon button,
.woocommerce-cart td.actions button[name='update_cart']{min-height:48px}
.woocommerce-cart .cart-collaterals{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:24px;align-items:start;margin-top:24px}
.woocommerce-cart .cross-sells{display:none}
.woocommerce-cart .cart_totals{padding:22px}
.woocommerce-cart .cart_totals h2{margin:0 0 14px}
.woocommerce-cart .cart_totals table{width:100%}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{color:#132031 !important;background:transparent}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td{font-size:22px;font-weight:900}
.woocommerce-cart .wc-proceed-to-checkout{margin:18px 0 0}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{margin-bottom:0}
.woocommerce-cart a.remove{display:inline-flex !important;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#f1f5f9;color:#21364d !important;font-size:20px;font-weight:400}
.woocommerce-cart a.remove:hover{background:#dbe7f4;color:#102033 !important}

.woocommerce-checkout .col2-set,
.woocommerce-checkout #order_review{padding:24px}
.woocommerce-checkout .col2-set{grid-template-columns:minmax(0,1fr) minmax(340px,.92fr)}
.woocommerce-checkout #order_review_heading{margin:0 0 14px}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{color:#132031 !important;background:transparent}
.woocommerce-checkout-payment ul.payment_methods li{background:#fff}
.woocommerce-checkout-payment .payment_box{background:#f5f8fc !important;color:#24384d !important;border-radius:10px}
.woocommerce-checkout-payment .payment_box::before{border-bottom-color:#f5f8fc !important}
.woocommerce-checkout .form-row label{font-weight:700}

@media (max-width:980px){
  .woocommerce-cart .cart-collaterals,
  .woocommerce-checkout .col2-set{grid-template-columns:1fr}
}
@media (max-width:768px){
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart_totals,
  .woocommerce-checkout .col2-set,
  .woocommerce-checkout #order_review{border-radius:16px}
}


/* v3.1 cart + checkout hard override */
.woocommerce-cart .cart-collaterals{
  display:block !important;
  margin-top:28px !important;
}
.woocommerce-cart .cart-collaterals .cross-sells{display:none !important}
.woocommerce-cart .cart-collaterals .cart_totals{
  max-width:460px !important;
  margin-left:auto !important;
  background:linear-gradient(180deg,#ffffff,#f4f7fb) !important;
  border:1px solid #d8e1ea !important;
  border-radius:18px !important;
  box-shadow:0 16px 34px rgba(5,16,30,.08) !important;
  padding:24px !important;
  position:relative !important;
  top:auto !important;
}
.woocommerce-cart .cart_totals h2,
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td,
.woocommerce-cart .cart_totals .amount,
.woocommerce-cart .cart_totals .woocommerce-Price-amount,
.woocommerce-cart .cart_totals .woocommerce-Price-currencySymbol,
.woocommerce-cart .cart_totals .shipping,
.woocommerce-cart .cart_totals .shipping td,
.woocommerce-cart .cart_totals .shipping th,
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods label{
  color:#132031 !important;
  opacity:1 !important;
}
.woocommerce-cart .cart_totals table.shop_table,
.woocommerce-cart .cart_totals table.shop_table tbody,
.woocommerce-cart .cart_totals table.shop_table tfoot,
.woocommerce-cart .cart_totals table.shop_table tr,
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td{
  background:transparent !important;
}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td{
  border-color:#dfe7ef !important;
}
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal,
.woocommerce-cart table.cart td.product-price *,
.woocommerce-cart table.cart td.product-subtotal *,
.woocommerce-cart table.cart td.product-quantity *,
.woocommerce-cart table.cart td.product-name *,
.woocommerce-cart table.cart .amount,
.woocommerce-cart table.cart .woocommerce-Price-amount,
.woocommerce-cart table.cart .woocommerce-Price-currencySymbol{
  color:#132031 !important;
  opacity:1 !important;
}
.woocommerce-cart table.cart td.actions{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  flex-wrap:wrap !important;
}
.woocommerce-cart table.cart td.actions .coupon{
  flex:1 1 320px !important;
}
.woocommerce-cart td.actions button[name='update_cart']{
  flex:0 0 auto !important;
}
.woocommerce-cart .coupon .input-text{
  flex:1 1 220px !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  background:linear-gradient(180deg,var(--psp-blue-2),var(--psp-blue)) !important;
  color:#fff !important;
}
.woocommerce-checkout .col2-set,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-payment,
.woocommerce-checkout .woocommerce-form-coupon,
.woocommerce-checkout .woocommerce-form-login{
  background:linear-gradient(180deg,#ffffff,#f4f7fb) !important;
  border:1px solid #d8e1ea !important;
  color:#132031 !important;
}
.woocommerce-checkout #order_review *,
.woocommerce-checkout .col2-set *,
.woocommerce-checkout .woocommerce-checkout-payment *{
  color:#132031;
}
@media (max-width: 900px){
  .woocommerce-cart .cart-collaterals .cart_totals{
    max-width:100% !important;
    margin-left:0 !important;
  }
  .woocommerce-cart table.cart td.actions{
    align-items:stretch !important;
  }
  .woocommerce-cart td.actions button[name='update_cart'],
  .woocommerce-cart .coupon,
  .woocommerce-cart .coupon .input-text{
    width:100% !important;
  }
}


/* v3.1.1 cart desktop side-by-side */
.woocommerce-cart .woocommerce{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);
  gap:24px;
  align-items:start;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .woocommerce-message,
.woocommerce-cart .woocommerce > .woocommerce-error,
.woocommerce-cart .woocommerce > .woocommerce-info,
.woocommerce-cart .woocommerce > .psp-flow-steps{
  grid-column:1 / -1;
}
.woocommerce-cart .woocommerce > form.woocommerce-cart-form{
  grid-column:1;
  min-width:0;
}
.woocommerce-cart .woocommerce > .cart-collaterals{
  grid-column:2;
  display:block !important;
  margin-top:0 !important;
  min-width:0;
}
.woocommerce-cart .cart-collaterals .cart_totals{
  max-width:none !important;
  margin-left:0 !important;
  width:100%;
  position:sticky !important;
  top:108px !important;
}
@media (max-width: 980px){
  .woocommerce-cart .woocommerce{
    grid-template-columns:1fr;
  }
  .woocommerce-cart .woocommerce > form.woocommerce-cart-form,
  .woocommerce-cart .woocommerce > .cart-collaterals,
  .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
  .woocommerce-cart .woocommerce > .woocommerce-message,
  .woocommerce-cart .woocommerce > .woocommerce-error,
  .woocommerce-cart .woocommerce > .woocommerce-info,
  .woocommerce-cart .woocommerce > .psp-flow-steps{
    grid-column:1;
  }
  .woocommerce-cart .cart-collaterals .cart_totals{
    position:static !important;
  }
}


/* v3.2 cart responsive cleanup */
.woocommerce-cart table.cart{
  table-layout:auto;
  width:100%;
}
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td{
  white-space:normal;
}
.woocommerce-cart table.cart td.product-remove{width:52px;min-width:52px}
.woocommerce-cart table.cart td.product-thumbnail{width:96px;min-width:96px}
.woocommerce-cart table.cart td.product-name{min-width:280px;width:42%}
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-quantity,
.woocommerce-cart table.cart td.product-subtotal{
  white-space:nowrap;
}
.woocommerce-cart table.cart td.product-name a{
  display:block;
  line-height:1.45;
  word-break:break-word;
}
.woocommerce-cart .woocommerce{
  grid-template-columns:minmax(0,1.7fr) minmax(320px,380px);
  gap:28px;
}
.woocommerce-cart .cart-collaterals .cart_totals{
  padding:24px !important;
}
.woocommerce-cart .cart_totals table.shop_table th{
  width:48%;
}
.woocommerce-cart .cart_totals table.shop_table td{
  width:52%;
}
@media (max-width: 1240px){
  .woocommerce-cart .woocommerce{
    grid-template-columns:minmax(0,1fr) minmax(300px,360px);
    gap:20px;
  }
  .woocommerce-cart table.cart td.product-name{min-width:220px;width:auto}
  .woocommerce-cart table.cart td.product-name a{font-size:15px}
}
@media (max-width: 1100px){
  .woocommerce-cart .woocommerce{
    grid-template-columns:1fr;
  }
  .woocommerce-cart .woocommerce > form.woocommerce-cart-form,
  .woocommerce-cart .woocommerce > .cart-collaterals,
  .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
  .woocommerce-cart .woocommerce > .woocommerce-message,
  .woocommerce-cart .woocommerce > .woocommerce-error,
  .woocommerce-cart .woocommerce > .woocommerce-info,
  .woocommerce-cart .woocommerce > .psp-flow-steps{
    grid-column:1;
  }
  .woocommerce-cart .cart-collaterals .cart_totals{
    position:static !important;
    max-width:720px;
  }
}
@media (max-width: 767px){
  .woocommerce-cart table.cart thead{display:none}
  .woocommerce-cart table.cart tbody tr.cart_item{
    display:grid;
    grid-template-columns:40px 84px minmax(0,1fr);
    grid-template-areas:
      "remove thumb name"
      ". . price"
      ". . qty"
      ". . subtotal";
    gap:10px 14px;
    align-items:center;
    padding:16px 14px;
    border-bottom:1px solid #d8e2ec;
  }
  .woocommerce-cart table.cart tbody tr.cart_item td{
    display:block;
    padding:0 !important;
    border:none !important;
    background:transparent !important;
    width:auto !important;
    min-width:0 !important;
  }
  .woocommerce-cart table.cart td.product-remove{grid-area:remove;display:flex;align-items:flex-start;justify-content:center}
  .woocommerce-cart table.cart td.product-thumbnail{grid-area:thumb}
  .woocommerce-cart table.cart td.product-name{grid-area:name}
  .woocommerce-cart table.cart td.product-price{grid-area:price}
  .woocommerce-cart table.cart td.product-quantity{grid-area:qty}
  .woocommerce-cart table.cart td.product-subtotal{grid-area:subtotal}
  .woocommerce-cart table.cart td.product-price::before,
  .woocommerce-cart table.cart td.product-quantity::before,
  .woocommerce-cart table.cart td.product-subtotal::before{
    display:block;
    margin-bottom:4px;
    color:#5b6d80;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .woocommerce-cart table.cart td.product-price::before{content:"Price"}
  .woocommerce-cart table.cart td.product-quantity::before{content:"Quantity"}
  .woocommerce-cart table.cart td.product-subtotal::before{content:"Subtotal"}
  .woocommerce-cart table.cart td.product-name a{font-size:16px}
  .woocommerce-cart table.cart img{width:84px}
  .woocommerce-cart table.cart td.actions{padding:16px !important}
}


/* v3.2.1 cart + checkout alignment fix */
.woocommerce-cart .woocommerce{
  grid-template-columns:minmax(0,1fr) minmax(320px,360px) !important;
  align-items:start !important;
  overflow:visible !important;
}
.woocommerce-cart .woocommerce > form.woocommerce-cart-form,
.woocommerce-cart .woocommerce-cart-form{
  min-width:0 !important;
  overflow:visible !important;
}
.woocommerce-cart .woocommerce > .cart-collaterals,
.woocommerce-cart .cart-collaterals{
  min-width:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
  padding:0 !important;
  margin-top:0 !important;
}
.woocommerce-cart table.cart{
  table-layout:fixed !important;
  width:100% !important;
}
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th{
  overflow:hidden;
}
.woocommerce-cart table.cart td.product-remove{width:52px !important;min-width:52px !important}
.woocommerce-cart table.cart td.product-thumbnail{width:96px !important;min-width:96px !important}
.woocommerce-cart table.cart td.product-name{
  width:auto !important;
  min-width:0 !important;
}
.woocommerce-cart table.cart td.product-name a{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-quantity,
.woocommerce-cart table.cart td.product-subtotal,
.woocommerce-cart table.cart th.product-price,
.woocommerce-cart table.cart th.product-quantity,
.woocommerce-cart table.cart th.product-subtotal{
  width:140px !important;
  white-space:nowrap !important;
}
.woocommerce-cart .cart-collaterals .cart_totals{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  position:sticky !important;
  top:108px !important;
}

.woocommerce-checkout .woocommerce{
  grid-template-columns:minmax(0,1fr) minmax(320px,380px) !important;
  align-items:start !important;
}
.woocommerce-checkout #customer_details{
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  min-width:0 !important;
}
.woocommerce-checkout #order_review_heading{
  grid-column:2 !important;
  grid-row:1 !important;
  align-self:start !important;
  margin:0 0 14px !important;
}
.woocommerce-checkout #order_review{
  grid-column:2 !important;
  grid-row:2 !important;
  align-self:start !important;
  margin-top:0 !important;
}
.woocommerce-checkout #payment{
  margin-top:16px;
}

@media (max-width: 1500px){
  .woocommerce-cart .woocommerce{
    grid-template-columns:1fr !important;
  }
  .woocommerce-cart .woocommerce > .cart-collaterals,
  .woocommerce-cart .woocommerce > form.woocommerce-cart-form,
  .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
  .woocommerce-cart .woocommerce > .woocommerce-message,
  .woocommerce-cart .woocommerce > .woocommerce-error,
  .woocommerce-cart .woocommerce > .woocommerce-info,
  .woocommerce-cart .woocommerce > .psp-flow-steps{
    grid-column:1 !important;
  }
  .woocommerce-cart .cart-collaterals .cart_totals{
    position:static !important;
    max-width:560px !important;
  }
}
@media (max-width: 1180px){
  .woocommerce-checkout .woocommerce{
    grid-template-columns:1fr !important;
  }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{
    grid-column:1 !important;
    grid-row:auto !important;
  }
}


/* v3.3 shop card and hero refinement */
.hero h1 .hero-line{display:inline-block}
.hero h1 .hero-line--subtle{color:#f7fbff}
.hero h1 .hero-line--accent{background:linear-gradient(90deg,#8cc0ff 0%,#ffffff 48%,#58a1ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 10px 28px rgba(31,111,255,.14)}

.woocommerce ul.products{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
.woocommerce ul.products li.product.psp-product-card{height:100%;border-radius:18px}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link{min-height:100%}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.psp-product-copy .woocommerce-loop-product__title{font-size:18px;line-height:1.28;letter-spacing:-.01em}
.psp-product-thumb-wrap{min-height:auto !important;max-height:none !important;aspect-ratio:1 / .82;padding:20px 20px 16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#0f1722,#0a1118);border-bottom:1px solid rgba(255,255,255,.06)}
.psp-product-thumb-wrap img{width:100%;height:100% !important;max-width:100%;max-height:230px;object-fit:contain;object-position:center center;display:block;margin:0 auto}
.psp-product-copy{gap:8px !important;padding:18px 18px 10px !important}
.psp-product-copy .psp-fitment-pills{order:0;margin:0 0 2px}
.psp-product-cats{order:2;min-height:0 !important;color:#95a8bd;font-size:10px;letter-spacing:.14em;opacity:.92}
.woocommerce ul.products li.product .price{font-size:24px !important;line-height:1.05;margin:4px 0 0 !important}
.psp-product-actions{padding:0 18px 18px !important;gap:10px !important}
.psp-product-card .button{min-height:46px;border-radius:12px}
.woocommerce ul.products li.product .added_to_cart{display:none !important}

.shop-layout > #psp-product-results{min-width:0}
#psp-product-results .products{align-items:stretch}

.woocommerce-cart .cart-collaterals::before,
.woocommerce-cart .cart-collaterals::after,
.woocommerce-cart .cart_totals::before,
.woocommerce-cart .cart_totals::after,
.woocommerce-cart .wc-proceed-to-checkout::before,
.woocommerce-cart .wc-proceed-to-checkout::after{display:none !important;content:none !important}

@media (max-width: 1360px){
  .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media (max-width: 980px){
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .psp-product-thumb-wrap{aspect-ratio:1 / .86}
}
@media (max-width: 640px){
  .woocommerce ul.products{grid-template-columns:1fr !important}
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .psp-product-copy .woocommerce-loop-product__title{min-height:0}
}


/* v3.4 product card structure fix */
.psp-product-link{display:flex !important;flex-direction:column;flex:1;min-width:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
/* wiped clamp rule */
.psp-product-copy{min-width:0}
.psp-product-cats{display:block;line-height:1.45;max-height:none;overflow:visible;word-break:break-word}
.psp-product-actions{margin-top:auto}
.psp-product-card .price{display:block;color:#fff !important;font-weight:900;letter-spacing:-.01em}
.psp-loop-button,
.woocommerce ul.products li.product .button.psp-loop-button{
  width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:48px;
}
.woocommerce ul.products li.product a.added_to_cart{display:none !important}
@media (max-width: 980px){
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  /* wiped clamp rule */
}


/* v3.5 card visibility, CTA polish, and home video loop support */
.motion-video{object-fit:cover}
.woocommerce ul.products li.product.psp-product-card,
.psp-product-card{
  display:flex !important;
  /* grid-template-rows removed */
  height:100%;
}
.psp-product-link{
  display:flex !important;
  /* grid-template-rows removed */
  min-height:0;
  color:inherit;
}
.psp-product-thumb-wrap{
  aspect-ratio: 4 / 3 !important;
  min-height:220px !important;
  max-height:none !important;
  padding:22px !important;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link:hover{
  text-decoration:none;
}
.psp-product-copy{
  display:flex !important;
  flex-direction:column;
  align-content:start;
  gap:10px !important;
  min-width:0;
  padding:18px 18px 12px !important;
}
.psp-product-copy > *{
  opacity:1 !important;
  visibility:visible !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
/* wiped clamp rule */
.psp-product-card .price,
.woocommerce ul.products li.product .price{
  display:block !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  font-size:22px !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  margin:0 !important;
}
.psp-product-cats{
  display:block !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  color:#9cb0c6 !important;
  opacity:1 !important;
  visibility:visible !important;
  font-size:11px !important;
  line-height:1.45 !important;
}
.psp-product-actions{
  margin-top:auto !important;
  padding:0 18px 18px !important;
}
.psp-loop-button,
.woocommerce ul.products li.product .button.psp-loop-button,
.front-page .psp-product-card .button,
.home .psp-product-card .button{
  width:100% !important;
  min-height:48px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:12px !important;
  border:1px solid rgba(93,139,255,.30) !important;
  background:linear-gradient(180deg,#142238,#0d1727) !important;
  color:#f4f8ff !important;
  font:900 12px/1 var(--psp-font-head) !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  box-shadow:0 10px 24px rgba(0,0,0,.18) !important;
}
.psp-loop-button:hover,
.woocommerce ul.products li.product .button.psp-loop-button:hover,
.front-page .psp-product-card .button:hover,
.home .psp-product-card .button:hover{
  transform:translateY(-1px);
  border-color:rgba(120,166,255,.48) !important;
  background:linear-gradient(180deg,#1a2d49,#11203a) !important;
}
.front-page .psp-product-card,
.home .psp-product-card{
  background:linear-gradient(180deg,#0d141d,#091018) !important;
}
@media (max-width: 1280px){
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  /* wiped clamp rule */
}
@media (max-width: 640px){
  .psp-product-thumb-wrap{min-height:200px !important;padding:18px !important;}
}


/* v4.0 single product cleanup, stronger video loop, shop card clamp */
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li a::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li a::after{
  display:none !important;
  content:none !important;
}

.woocommerce div.product div.images{position:relative;}
.woocommerce-product-gallery{position:relative;}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{
  position:absolute !important;
  right:18px !important;
  bottom:18px !important;
  left:auto !important;
  top:auto !important;
  width:46px !important;
  height:46px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(8,16,27,.9) !important;
  border:1px solid rgba(92,132,255,.35) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.28) !important;
  color:#f4f8ff !important;
  z-index:9 !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::after{
  content:none !important;
  display:none !important;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger svg,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger i{display:none !important;}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger > *{display:none !important;}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23f4f8ff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:20px 20px !important;
}

.woocommerce div.product div.images .flex-control-thumbs{
  grid-template-columns:repeat(auto-fit,minmax(84px,96px)) !important;
  justify-content:flex-start !important;
  gap:12px !important;
  margin-top:14px !important;
}
.woocommerce div.product div.images .flex-control-thumbs li{
  margin:0 !important;
}
.woocommerce div.product div.images .flex-control-thumbs img{
  padding:6px !important;
  border-radius:12px !important;
  background:#fff !important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.woocommerce div.product div.images .flex-control-thumbs img:hover{
  transform:translateY(-1px);
  border-color:rgba(104,149,255,.65) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.16);
}

/* wiped clamp rule */
@media (max-width: 980px){
  /* wiped clamp rule */
}

/* psp-product-copy min-height removed */
.psp-product-cats{
  /* clamp removed */;
  min-height:1.5em !important;
  max-height:1.5em !important;
}

/* remove stray slider bullets / decorative dots */
.flex-control-nav,
.flex-control-paging,
.woocommerce-product-gallery .flex-direction-nav,
.woocommerce-product-gallery .flex-control-nav li::marker,
.woocommerce-tabs ul.tabs li::marker,
.psp-product-anchor-nav a::before,
.psp-product-anchor-nav a::after{
  list-style:none !important;
}

/* suppress duplicate media repeated inside description panels when content contains only product gallery-style images */
.woocommerce-Tabs-panel--description > p:first-child:has(img) img{
  max-width:100%;
}

/* v4.1 real cleanup: bullets, gallery trigger, thumbnails, card titles */
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.psp-product-anchor-nav,
.psp-product-anchor-nav a,
.woocommerce div.product div.images .flex-control-thumbs,
.woocommerce div.product div.images .flex-control-thumbs li{list-style:none !important;list-style-type:none !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li a::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li a::after,
.psp-product-anchor-nav a::before,
.psp-product-anchor-nav a::after{content:none !important;display:none !important;width:0 !important;height:0 !important;opacity:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs{margin-left:0 !important;padding-left:0 !important;}
.single-product .psp-product-gallery{overflow:visible !important;}
.single-product .woocommerce div.product div.images,.single-product .woocommerce-product-gallery{position:relative !important;overflow:visible !important;}
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper{margin:0 !important;overflow:hidden !important;border-radius:18px !important;}
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__trigger,.single-product .woocommerce-product-gallery__trigger{position:absolute !important;right:18px !important;bottom:18px !important;left:auto !important;top:auto !important;width:48px !important;height:48px !important;min-width:48px !important;min-height:48px !important;border-radius:999px !important;display:flex !important;align-items:center !important;justify-content:center !important;background-color:rgba(7,14,24,.92) !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.8'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3Cpath d='M11 8v6'/%3E%3Cpath d='M8 11h6'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:center !important;background-size:23px 23px !important;border:1px solid rgba(117,157,255,.55) !important;box-shadow:0 14px 34px rgba(0,0,0,.34) !important;text-indent:-9999px !important;overflow:hidden !important;z-index:25 !important;}
.single-product .woocommerce-product-gallery__trigger::before,.single-product .woocommerce-product-gallery__trigger::after{display:none !important;content:none !important;}
.single-product .woocommerce-product-gallery__trigger img,.single-product .woocommerce-product-gallery__trigger span,.single-product .woocommerce-product-gallery__trigger svg{display:none !important;}
.single-product .woocommerce div.product div.images .flex-control-thumbs{display:flex !important;flex-wrap:wrap !important;align-items:center !important;gap:12px !important;margin:14px 0 0 !important;padding:0 !important;position:static !important;}
.single-product .woocommerce div.product div.images .flex-control-thumbs li{float:none !important;width:88px !important;margin:0 !important;padding:0 !important;display:block !important;}
.single-product .woocommerce div.product div.images .flex-control-thumbs img{width:88px !important;height:72px !important;object-fit:contain !important;background:#fff !important;border:1px solid #d7e0ec !important;border-radius:12px !important;padding:6px !important;}
.single-product .woocommerce-Tabs-panel--description > p:has(> img:only-child),.single-product .woocommerce-Tabs-panel--description > figure:has(img),.single-product .woocommerce-Tabs-panel--description > .wp-block-image{display:none !important;}
.woocommerce ul.products li.product.psp-product-card,.psp-product-card{min-height:0 !important;}
.psp-product-copy{padding:16px 16px 8px !important;}
/* title clamp removed */
/* cats clamp removed */
.psp-product-actions{padding:0 26px 26px !important;margin-top:auto !important;}
.psp-loop-button,.woocommerce ul.products li.product .button.psp-loop-button,.front-page .psp-product-actions .psp-loop-button,.home .psp-product-actions .psp-loop-button{display:flex !important;align-items:center !important;justify-content:center !important;width:100% !important;min-height:54px !important;padding:0 18px !important;border-radius:14px !important;font:900 14px/1 var(--psp-font-head) !important;letter-spacing:.16em !important;text-transform:uppercase !important;color:#f8fbff !important;background:linear-gradient(180deg,#172744,#101a2b) !important;border:1px solid rgba(86,128,255,.55) !important;box-shadow:0 12px 28px rgba(0,0,0,.24) !important;text-decoration:none !important;}
@media (max-width:760px){.psp-product-copy{padding:16px 16px 8px !important;}.psp-product-actions{padding:0 16px 14px !important;}}

/* v4.1 real mobile filter drawer, single product media cleanup, home title/button polish */
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  list-style:none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::marker,
.woocommerce div.product .woocommerce-tabs ul.tabs::marker,
.woocommerce div.product .woocommerce-tabs ul.tabs li a::marker{
  content:"" !important;
  display:none !important;
  font-size:0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after{
  content:none !important;
  display:none !important;
}

/* Product descriptions should not repeat giant gallery-style images below the product media. */
.single-product .woocommerce-Tabs-panel--description img,
.single-product #tab-description img,
.single-product .woocommerce-Tabs-panel--description figure,
.single-product #tab-description figure,
.single-product .woocommerce-Tabs-panel--description .wp-block-image,
.single-product #tab-description .wp-block-image,
.single-product .woocommerce-Tabs-panel--description .woocommerce-product-gallery,
.single-product #tab-description .woocommerce-product-gallery{
  display:none !important;
}
.single-product .woocommerce-Tabs-panel--description,
.single-product #tab-description{
  max-width:980px;
}
.single-product .woocommerce-Tabs-panel--description p:empty,
.single-product #tab-description p:empty{
  display:none !important;
}

/* Product gallery: keep thumbnails under the main image, zoom button bottom-right. */
.single-product .woocommerce-product-gallery .flex-control-thumbs{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  margin:14px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li{
  width:82px !important;
  margin:0 !important;
  list-style:none !important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li::marker{display:none !important;content:"" !important;}
.single-product .woocommerce-product-gallery .flex-control-thumbs img{
  width:82px !important;
  height:82px !important;
  object-fit:contain !important;
  background:#fff !important;
  border-radius:12px !important;
  border:1px solid rgba(139,161,184,.22) !important;
  padding:6px !important;
  opacity:.72 !important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1 !important;border-color:rgba(77,132,255,.55) !important;}

/* Home/shop card titles: hide long titles cleanly without cutting letters in half. */
.front-page .woocommerce ul.products li.product .woocommerce-loop-product__title,
.home .woocommerce ul.products li.product .woocommerce-loop-product__title,
.front-page .psp-product-copy .woocommerce-loop-product__title,
.home /* wiped clamp rule */
.front-page .psp-product-copy,
/* wiped clamp rule */
.front-page .psp-product-cats,
/* home psp-product-cats clamp removed */
.front-page .psp-product-actions .psp-loop-button,
.home .psp-product-actions .psp-loop-button{
  min-height:52px !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,#1f6fff,#163a72) !important;
  border-color:rgba(105,158,255,.65) !important;
  box-shadow:0 16px 30px rgba(31,111,255,.18) !important;
}

/* Mobile filter drawer: button only, full filter rail hidden until opened. */
/* =============================================================
   SHOP vs HOME FILTER — final scoping fix
   ============================================================= */

/* ── HOME PAGE: sidebar always visible on desktop, hidden on
      mobile with no FAB. No drawer, no toggle button at all. ── */
.front-page .shop-shell .psp-mobile-filter-toggle,
.home .shop-shell .psp-mobile-filter-toggle,
.front-page .shop-shell .psp-filter-backdrop,
.home .shop-shell .psp-filter-backdrop,
.front-page .shop-shell .psp-filter-drawer-head,
.home .shop-shell .psp-filter-drawer-head {
  display: none !important;
}

/* Home sidebar: sticky column on desktop */
@media (min-width: 981px) {
  .front-page .shop-shell #psp-filter-sidebar,
  .home .shop-shell #psp-filter-sidebar {
    display: block !important;
    position: sticky !important;
    top: 96px !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: none !important;
    overflow: visible !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 5 !important;
  }
}

/* Home sidebar: hidden on mobile (no FAB, no drawer) */
@media (max-width: 980px) {
  .front-page .shop-shell .shop-layout,
  .home .shop-shell .shop-layout {
    display: block !important;
  }
  .front-page .shop-shell #psp-filter-sidebar,
  .home .shop-shell #psp-filter-sidebar {
    display: none !important;
  }
}

/* ── SHOP PAGE: FAB + drawer scoped to .woocommerce-page only ── */

/* Desktop: sidebar sticky, no FAB */
@media (min-width: 981px) {
  .woocommerce-page .shop-shell .shop-layout {
    display: grid !important;
    grid-template-columns: minmax(240px,300px) minmax(0,1fr) !important;
    gap: 28px !important;
    align-items: start !important;
  }
  .woocommerce-page .shop-shell #psp-filter-sidebar,
  .woocommerce-page .shop-shell #psp-filter-sidebar.is-collapsed,
  .woocommerce-page .shop-shell #psp-filter-sidebar.is-open {
    display: block !important;
    position: sticky !important;
    top: 96px !important;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 5 !important;
    transition: none !important;
  }
  .woocommerce-page .shop-shell #psp-filter-sidebar .shop-sidebar {
    max-height: calc(100vh - 120px) !important;
    overflow-y: auto !important;
  }
  .woocommerce-page .shop-shell .psp-mobile-filter-toggle,
  .woocommerce-page .shop-shell .psp-filter-backdrop,
  .woocommerce-page .shop-shell .psp-filter-drawer-head {
    display: none !important;
  }

  /* Shop product grid: 3 cols when sidebar is present */
  .woocommerce-page .shop-shell #psp-product-results .woocommerce ul.products,
  .woocommerce-page .shop-shell #psp-product-results ul.products {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
}

/* Mobile: FAB + slide-in drawer */
@media (max-width: 980px) {
  .woocommerce-page .shop-shell .shop-layout {
    display: block !important;
  }

  /* FAB fixed at bottom */
  .woocommerce-page .shop-shell .psp-mobile-filter-toggle {
    display: flex !important;
    position: fixed !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 18px !important;
    top: auto !important;
    width: auto !important;
    z-index: 4001 !important;
    margin: 0 !important;
  }
  body.psp-filter-open .woocommerce-page .shop-shell .psp-mobile-filter-toggle {
    display: none !important;
  }

  /* Backdrop */
  .woocommerce-page .shop-shell .psp-filter-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 4002 !important;
    background: rgba(0,0,0,.62) !important;
    backdrop-filter: blur(3px) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .24s ease !important;
  }
  body.psp-filter-open .woocommerce-page .shop-shell .psp-filter-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Sidebar: off-screen, slides in */
  .woocommerce-page .shop-shell #psp-filter-sidebar,
  .woocommerce-page .shop-shell #psp-filter-sidebar.is-collapsed {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(92vw, 420px) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 20px !important;
    margin: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    background: #08111d !important;
    border-left: 1px solid rgba(107,151,255,.3) !important;
    border-radius: 0 !important;
    box-shadow: -28px 0 70px rgba(0,0,0,.65) !important;
    z-index: 4003 !important;
    transform: translateX(110%) !important;
    visibility: hidden !important;
    opacity: 1 !important;
    transition: transform .28s ease, visibility .28s ease !important;
  }
  .woocommerce-page .shop-shell #psp-filter-sidebar.is-open {
    transform: translateX(0) !important;
    visibility: visible !important;
  }
  .woocommerce-page .shop-shell #psp-filter-sidebar .shop-sidebar {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Drawer head inside open sidebar */
  .woocommerce-page .shop-shell .psp-filter-drawer-head {
    display: flex !important;
  }

  /* Body padding so FAB clears last product */
  .woocommerce-page { padding-bottom: 90px !important; }

  /* Mobile product grid: 2 cols on shop */
  .woocommerce-page .shop-shell #psp-product-results .woocommerce ul.products,
  .woocommerce-page .shop-shell #psp-product-results ul.products {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width: 540px) {
  /* Single column on very small phones */
  .woocommerce-page .shop-shell #psp-product-results .woocommerce ul.products,
  .woocommerce-page .shop-shell #psp-product-results ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* =============================================================

/* =============================================================
   PSP FINAL — product cards, cart mobile, filter drawer
   Single authoritative block. Nothing below this should touch
   these selectors.
   ============================================================= */

/* ── PRODUCT CARD STRUCTURE ─────────────────────────────────── */
.psp-product-card,
.woocommerce ul.products li.product.psp-product-card {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
.psp-product-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  text-decoration: none !important;
  color: inherit !important;
}
.psp-product-thumb-wrap {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  aspect-ratio: 4 / 3 !important;
  padding: 18px !important;
  background: linear-gradient(180deg, #0f1722, #0a1118) !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  overflow: hidden !important;
}
.psp-product-thumb-wrap img {
  width: 100% !important;
  height: 100% !important;
  max-height: 200px !important;
  object-fit: contain !important;
  display: block !important;
}
.psp-product-copy {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  gap: 6px !important;
  padding: 14px 16px 10px !important;
  min-height: 0 !important;
  overflow: visible !important;
}

/* Fitment pills */
.psp-fitment-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 0 0 4px !important;
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.psp-product-copy .woocommerce-loop-product__title {
  display: block !important;
  color: #f0f5ff !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: -.01em !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: initial !important;
  white-space: normal !important;
  word-break: break-word !important;
  text-overflow: unset !important;
}

/* Categories */
.psp-product-cats {
  display: block !important;
  color: #8fa8c0 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 0 !important;
  opacity: 1 !important;
  -webkit-line-clamp: unset !important;
}

/* Price */
.psp-product-price {
  display: block !important;
  margin-top: 2px !important;
}
.psp-product-price .price,
.psp-product-copy .price,
.woocommerce ul.products li.product .price {
  display: block !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Add to cart button */
.psp-product-actions {
  margin-top: auto !important;
  padding: 0 14px 14px !important;
  flex-shrink: 0 !important;
}
.psp-loop-button,
.woocommerce ul.products li.product .button.psp-loop-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  font: 900 12px/1 var(--psp-font-head) !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #f8fbff !important;
  background: linear-gradient(180deg, #172744, #101a2b) !important;
  border: 1px solid rgba(86,128,255,.55) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.24) !important;
  text-decoration: none !important;
}


/* ── CART PAGE MOBILE: full-width, no inner padding ─────────── */
@media (max-width: 767px) {
  .woocommerce-cart .woocommerce {
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  .woocommerce-cart .page-shell > .container {
    width: calc(100% - 24px) !important;
  }
  .woocommerce-cart .woocommerce-cart-form {
    border-radius: 12px !important;
    overflow: visible !important;
    margin-bottom: 16px !important;
    background: linear-gradient(180deg,#ffffff,#f4f7fb) !important;
    border: 1px solid #d8e1ea !important;
  }
  .woocommerce-cart .cart_totals {
    border-radius: 12px !important;
  }
}


/* ── SHOP PAGE FILTERS (scoped to .woocommerce-shop body class) */

/* Desktop: sidebar sticky, no FAB */
@media (min-width: 981px) {
  .woocommerce-shop .shop-shell .shop-layout,
  .woocommerce-page .shop-shell .shop-layout {
    display: grid !important;
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
  }
  .woocommerce-shop .shop-shell #psp-filter-sidebar,
  .woocommerce-shop .shop-shell #psp-filter-sidebar.is-collapsed,
  .woocommerce-shop .shop-shell #psp-filter-sidebar.is-open,
  .woocommerce-page .shop-shell #psp-filter-sidebar,
  .woocommerce-page .shop-shell #psp-filter-sidebar.is-collapsed,
  .woocommerce-page .shop-shell #psp-filter-sidebar.is-open {
    display: block !important;
    position: sticky !important;
    top: 96px !important;
    width: auto !important;
    max-height: none !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 5 !important;
    transition: none !important;
  }
  .woocommerce-shop .shop-shell #psp-filter-sidebar .shop-sidebar,
  .woocommerce-page .shop-shell #psp-filter-sidebar .shop-sidebar {
    max-height: calc(100vh - 120px) !important;
    overflow-y: auto !important;
  }
  /* Shop grid: 3 columns alongside sidebar */
  .woocommerce-shop .shop-shell #psp-product-results ul.products,
  .woocommerce-page .shop-shell #psp-product-results ul.products {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
  /* Hide mobile-only elements */
  .woocommerce-shop .shop-shell .psp-mobile-filter-toggle,
  .woocommerce-shop .shop-shell .psp-filter-backdrop,
  .woocommerce-shop .shop-shell .psp-filter-drawer-head,
  .woocommerce-page .shop-shell .psp-mobile-filter-toggle,
  .woocommerce-page .shop-shell .psp-filter-backdrop,
  .woocommerce-page .shop-shell .psp-filter-drawer-head {
    display: none !important;
  }
}

/* Mobile: FAB + slide-in drawer */
@media (max-width: 980px) {
  .woocommerce-shop .shop-shell .shop-layout,
  .woocommerce-page .shop-shell .shop-layout {
    display: block !important;
  }

  /* FAB button */
  .woocommerce-shop .shop-shell .psp-mobile-filter-toggle,
  .woocommerce-page .shop-shell .psp-mobile-filter-toggle {
    display: flex !important;
    position: fixed !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 18px !important;
    top: auto !important;
    width: auto !important;
    z-index: 4001 !important;
    margin: 0 !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 16px 20px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #1d3760, #0b1420) !important;
    color: #fff !important;
    border: 1px solid rgba(107,151,255,.55) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.55) !important;
    font: 900 14px/1 var(--psp-font-head) !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
  }
  .woocommerce-shop .shop-shell .psp-mobile-filter-toggle svg,
  .woocommerce-page .shop-shell .psp-mobile-filter-toggle svg {
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
  }
  body.psp-filter-open .woocommerce-shop .shop-shell .psp-mobile-filter-toggle,
  body.psp-filter-open .woocommerce-page .shop-shell .psp-mobile-filter-toggle {
    display: none !important;
  }

  /* Backdrop */
  .woocommerce-shop .shop-shell .psp-filter-backdrop,
  .woocommerce-page .shop-shell .psp-filter-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 4002 !important;
    background: rgba(0,0,0,.62) !important;
    backdrop-filter: blur(3px) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .24s ease !important;
  }
  body.psp-filter-open .woocommerce-shop .shop-shell .psp-filter-backdrop,
  body.psp-filter-open .woocommerce-page .shop-shell .psp-filter-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Sidebar drawer */
  .woocommerce-shop .shop-shell #psp-filter-sidebar,
  .woocommerce-shop .shop-shell #psp-filter-sidebar.is-collapsed,
  .woocommerce-page .shop-shell #psp-filter-sidebar,
  .woocommerce-page .shop-shell #psp-filter-sidebar.is-collapsed {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(92vw, 420px) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 20px !important;
    margin: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    background: #08111d !important;
    border-left: 1px solid rgba(107,151,255,.3) !important;
    border-radius: 0 !important;
    box-shadow: -28px 0 70px rgba(0,0,0,.65) !important;
    z-index: 4003 !important;
    transform: translateX(110%) !important;
    visibility: hidden !important;
    transition: transform .28s ease, visibility .28s ease !important;
  }
  .woocommerce-shop .shop-shell #psp-filter-sidebar.is-open,
  .woocommerce-page .shop-shell #psp-filter-sidebar.is-open {
    transform: translateX(0) !important;
    visibility: visible !important;
  }
  .woocommerce-shop .shop-shell #psp-filter-sidebar .shop-sidebar,
  .woocommerce-page .shop-shell #psp-filter-sidebar .shop-sidebar {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Drawer head — × button inside open panel */
  .woocommerce-shop .shop-shell .psp-filter-drawer-head,
  .woocommerce-page .shop-shell .psp-filter-drawer-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 0 16px !important;
    margin-bottom: 18px !important;
    border-bottom: 1px solid rgba(139,161,184,.2) !important;
    color: #fff !important;
    font: 900 18px/1 var(--psp-font-head) !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }
  .psp-filter-close {
    background: none !important;
    border: none !important;
    color: #fff !important;
    font-size: 28px !important;
    line-height: 1 !important;
    padding: 4px 8px !important;
    cursor: pointer !important;
    opacity: .8 !important;
  }

  /* 2-col product grid on mobile */
  .woocommerce-shop .shop-shell #psp-product-results ul.products,
  .woocommerce-page .shop-shell #psp-product-results ul.products {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  /* Body padding so FAB doesn't cover last row */
  .woocommerce-shop,
  .woocommerce-page { padding-bottom: 90px !important; }
}

@media (max-width: 480px) {
  .woocommerce-shop .shop-shell #psp-product-results ul.products,
  .woocommerce-page .shop-shell #psp-product-results ul.products {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 12px !important;
  }
}

/* ── HOME PAGE: no FAB, sidebar hidden on mobile ─────────────── */
.front-page .shop-shell .psp-mobile-filter-toggle,
.home .shop-shell .psp-mobile-filter-toggle,
.front-page .shop-shell .psp-filter-backdrop,
.home .shop-shell .psp-filter-backdrop,
.front-page .shop-shell .psp-filter-drawer-head,
.home .shop-shell .psp-filter-drawer-head {
  display: none !important;
}
@media (max-width: 980px) {
  .front-page .shop-shell #psp-filter-sidebar,
  .home .shop-shell #psp-filter-sidebar {
    display: none !important;
  }
}

/* Clip image to card border-radius at top only, without hiding copy content */
.psp-product-card .psp-product-thumb-wrap,
.woocommerce ul.products li.product.psp-product-card .psp-product-thumb-wrap {
  border-radius: 14px 14px 0 0 !important;
  overflow: hidden !important;
}
