/* PRO3D Industrial Premium — visual layer only
   Intentionally overrides the existing theme without touching shop logic. */
:root{
  --ip-bg:var(--bg,#090b0b);
  --ip-panel:var(--bg-panel,#101313);
  --ip-panel-2:var(--bg-panel-2,#151919);
  --ip-card:#121616;
  --ip-line:var(--line,#262c2b);
  --ip-line-strong:var(--line-bright,#39413f);
  --ip-text:var(--ink,#f2f0e9);
  --ip-muted:var(--ink-dim,#9b9f9a);
  --ip-faint:var(--ink-faint,#626965);
  --ip-orange:var(--accent,#ff741f);
  --ip-orange-2:var(--accent-hover,#ff934b);
  --ip-shadow:0 18px 50px rgba(0,0,0,.34);
}
html{background:var(--ip-bg);}
body{
  background:
    radial-gradient(circle at 78% -10%, rgba(255,116,31,.12), transparent 34%),
    radial-gradient(circle at 0% 20%, rgba(255,255,255,.025), transparent 30%),
    var(--ip-bg) !important;
  color:var(--ip-text) !important;
}
.grid-overlay{opacity:.32;mix-blend-mode:screen;}
header.top{
  min-height:64px;
  padding:10px max(14px,4vw);
  background:rgba(7,9,9,.9) !important;
  border-bottom:1px solid var(--ip-line-strong) !important;
  box-shadow:0 8px 30px rgba(0,0,0,.18);
}
.brand{gap:9px;}
.brand-mark{border-color:var(--ip-orange) !important;background:#0b0d0d;}
.brand-name{font-size:21px;letter-spacing:.08em;}
.brand-sub{color:#777e79;}
nav.top-nav{gap:20px;}
nav.top-nav a{color:#a9ada8 !important;font-size:11px;letter-spacing:.08em;}
nav.top-nav a:hover{color:#fff !important;border-color:var(--ip-orange);}
.mini-cart-btn,.nav-toggle{border-color:var(--ip-line-strong) !important;background:#0d1010 !important;}
.mini-cart-btn:hover,.nav-toggle:hover{border-color:var(--ip-orange) !important;}
.mini-cart-badge{background:var(--ip-orange) !important;color:#111 !important;}
.mini-cart-panel{background:rgba(14,17,17,.98) !important;border-color:var(--ip-line-strong) !important;box-shadow:var(--ip-shadow);}

section{padding:clamp(44px,7vw,92px) max(16px,4vw) !important;border-color:var(--ip-line) !important;}
.hero{
  min-height:min(720px,calc(100vh - 64px));
  padding-top:clamp(44px,8vw,104px) !important;
  padding-bottom:clamp(44px,8vw,90px) !important;
  gap:clamp(26px,5vw,70px);
}
.hero h1{font-size:clamp(42px,6.4vw,76px);line-height:.91;letter-spacing:.015em;}
.hero h1 .accent{color:var(--ip-orange) !important;}
.hero p.lede{max-width:560px;color:#b0b4af;font-size:15px;}
.eyebrow{color:var(--ip-orange) !important;font-size:10px;letter-spacing:.2em;}
.eyebrow::before{background:var(--ip-orange) !important;width:24px;}
.hero-actions{gap:10px;margin-top:26px;}
.btn{
  border-color:var(--ip-line-strong) !important;
  background:#0d1010;
  border-radius:3px !important;
  padding:13px 18px;
  font-size:11px;
  letter-spacing:.08em;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.btn:hover{border-color:var(--ip-orange) !important;transform:translateY(-1px);}
.btn.primary{background:var(--ip-orange) !important;border-color:var(--ip-orange) !important;color:#101010 !important;box-shadow:0 8px 24px rgba(255,116,31,.15);}
.btn.primary:hover{background:var(--ip-orange-2) !important;box-shadow:0 10px 30px rgba(255,116,31,.22);}
.hero-panel{
  background:
    linear-gradient(145deg,rgba(255,255,255,.035),transparent 45%),
    #0e1212 !important;
  border:1px solid var(--ip-line-strong) !important;
  box-shadow:var(--ip-shadow);
  min-height:290px;
  position:relative;
  overflow:hidden;
}
.hero-panel::after{content:'';position:absolute;inset:12px;border:1px solid rgba(255,116,31,.16);pointer-events:none;}
.readout-grid{position:relative;z-index:1;padding:28px;}
.readout{border-color:var(--ip-line) !important;background:rgba(0,0,0,.14);padding:16px !important;}
.readout .k{color:#747b76 !important;}
.readout .v{color:#f5f2e9 !important;}

.how-grid,.products{gap:10px !important;background:transparent !important;border:0 !important;}
.how-step{
  background:linear-gradient(145deg,#141818,#0e1111) !important;
  border:1px solid var(--ip-line) !important;
  padding:20px !important;
  transition:transform .16s,border-color .16s,box-shadow .16s;
}
.how-step:hover{transform:translateY(-3px);border-color:rgba(255,116,31,.65) !important;box-shadow:var(--ip-shadow);}
.how-num{color:var(--ip-orange) !important;}
.trust-strip{background:#0d1010;border-color:var(--ip-line) !important;color:#858c87 !important;}
.section-head h2{font-size:clamp(30px,4vw,48px);}

/* Product cards — new PRO3D card language */
.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.product{
  position:relative;
  min-width:0;
  overflow:hidden;
  padding:0 !important;
  gap:0 !important;
  background:linear-gradient(160deg,#151919,#0f1212) !important;
  border:1px solid var(--ip-line) !important;
  border-radius:4px !important;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.product:hover{transform:translateY(-4px);border-color:rgba(255,116,31,.72) !important;box-shadow:0 18px 45px rgba(0,0,0,.38),0 0 0 1px rgba(255,116,31,.08);}
.product-thumb{
  height:auto !important;
  aspect-ratio:1/1 !important;
  border:0 !important;
  border-bottom:1px solid var(--ip-line) !important;
  background:#0a0d0d !important;
  overflow:hidden;
  position:relative;
}
.product-thumb img{transition:transform .35s ease,filter .35s ease;}
.product:hover .product-thumb img{transform:scale(1.045);filter:brightness(1.06);}
.product-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.28),transparent 40%);pointer-events:none;}
.product .product-category{display:block;margin:12px 14px 0;color:var(--ip-orange);font:500 9px/1.2 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;}
.product h3{font-size:18px !important;line-height:1.05;padding:8px 14px 0;margin:0 !important;}
.product .desc{padding:0 14px;color:#8e9590 !important;font-size:11.5px !important;line-height:1.45;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.product .row{padding:12px 14px 14px;margin:0 !important;gap:8px;align-items:end !important;}
.price{font-size:15px !important;color:var(--ip-orange) !important;}
.product .product-actions{display:flex;gap:7px;align-items:center;padding:0 14px 14px;}
.product .product-action{flex:1;border:1px solid var(--ip-line-strong);background:#0d1010;color:#e9e7df;padding:10px 8px;text-align:center;font:700 9px 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase;border-radius:2px;}
.product .product-action.primary{background:var(--ip-orange);border-color:var(--ip-orange);color:#101010;}
.product .product-fav{width:36px;height:36px;border:1px solid var(--ip-line-strong);background:#0d1010;color:#aeb3ae;display:grid;place-items:center;border-radius:2px;}
.product .product-fav:hover{color:var(--ip-orange);border-color:var(--ip-orange);}
.badge{border-radius:2px !important;border-color:var(--ip-line-strong) !important;font-size:9px !important;}
.badge.ok{color:var(--ip-orange) !important;border-color:rgba(255,116,31,.4) !important;background:rgba(255,116,31,.07) !important;}
.catalog-divider{padding:24px 4px 10px !important;color:var(--ip-text);}

/* Product/detail, generator, quote and checkout panels */
.hud,.quote-summary,.cart-list,.modal-box,.gen-panel,.gen-tabs,.tool-layout>*,.checkout-step,.field,.panel,.card{
  border-color:var(--ip-line-strong) !important;
  background:#101414 !important;
}
.modal-overlay{background:rgba(3,5,5,.9) !important;backdrop-filter:blur(5px);}
.modal-box{box-shadow:var(--ip-shadow);}
.modal-info{padding:clamp(18px,3vw,30px) !important;}
.modal-gallery-main{background:#090c0c !important;}
.gen-tab{background:#101414 !important;color:#929893 !important;}
.gen-tab.active{background:var(--ip-orange) !important;color:#101010 !important;}
input,select,textarea{background:#0c1010 !important;border-color:var(--ip-line-strong) !important;color:#f1efe7 !important;border-radius:3px !important;}
input:focus,select:focus,textarea:focus{border-color:var(--ip-orange) !important;box-shadow:0 0 0 2px rgba(255,116,31,.1) !important;outline:0;}
.swatch.active,.size-pill.active,.custom-pill.active{border-color:var(--ip-orange) !important;color:var(--ip-orange) !important;}
footer{background:#080a0a !important;border-color:var(--ip-line) !important;}

/* Mobile first: compact header, two-column shop, large touch targets */
@media (max-width:860px){
  header.top{grid-template-columns:42px 1fr 42px;padding:10px 12px;min-height:60px;}
  nav.top-nav{top:60px !important;background:#090c0c !important;padding:8px 16px 18px !important;box-shadow:0 18px 30px rgba(0,0,0,.3);}
  nav.top-nav a{padding:14px 2px !important;font-size:11px !important;}
  .brand-name{font-size:17px;}
  .brand-sub{font-size:8px;}
  .brand-mark{width:29px;height:29px;}
  .hero{grid-template-columns:1fr !important;min-height:auto;gap:24px !important;}
  .hero h1{font-size:clamp(42px,13vw,62px);}
  .hero p.lede{font-size:14px;}
  .hero-panel{min-height:220px;}
  .readout-grid{padding:20px;grid-template-columns:1fr 1fr;}
  .readout{padding:13px !important;}
  .readout .v{font-size:17px;}
  .how-grid{grid-template-columns:1fr 1fr !important;}
  .how-step{padding:16px !important;}
  .how-step h3{font-size:17px;}
  .trust-strip{font-size:10px;gap:10px;justify-content:flex-start;}
  .section-head{margin-bottom:22px;}
}
@media (max-width:480px){
  section{padding-left:14px !important;padding-right:14px !important;}
  .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important;}
  .product h3{font-size:15px !important;}
  .product .desc{font-size:10px !important;}
  .product .row{padding:9px 10px 8px !important;}
  .product .product-category{margin:10px 10px 0;font-size:8px;}
  .product .product-actions{padding:0 10px 10px;gap:5px;}
  .product .product-action{padding:9px 5px;font-size:8px;}
  .product .product-fav{width:32px;height:32px;}
  .price{font-size:13px !important;}
  .hero-actions{display:grid;grid-template-columns:1fr;}
  .hero-actions .btn{width:100%;justify-content:center;}
  .how-grid{grid-template-columns:1fr !important;}
  .readout-grid{grid-template-columns:1fr 1fr !important;gap:8px;}
}
@media (min-width:700px){
  .products{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (min-width:1100px){
  .products{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
}
