/* 06-page-layouts — Per-page layouts: home, marketplace, product, supplier, membership, dashboard, category, RFQ, blog, contact, about, help.
   Loaded on every page in file-name order (see inc/core/assets.php). */

/* ============ SPA layout ============ */
#app{min-height:60vh;}
body.route-dashboard{background:var(--bg-alt);}
body.route-dashboard #site-header,body.route-dashboard #site-footer{display:none;}
/* ============ HOME ============ */
.hero{position:relative; overflow:hidden; padding:64px 0 40px;}
.hero-bg{position:absolute; inset:0; z-index:0; background:radial-gradient(1200px 600px at 78% 8%, rgba(62,111,242,0.12), transparent 60%),radial-gradient(900px 500px at 12% 90%, rgba(22,128,111,0.08), transparent 60%);}
.hero-grid{max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); display:grid; grid-template-columns:1.05fr 0.95fr; gap:40px; align-items:center; position:relative; z-index:2;}
.hero h1{font-size:clamp(34px,4.6vw,60px); line-height:1.03; font-weight:800; letter-spacing:-.03em;}
.hero h1 em{font-style:normal; background:linear-gradient(120deg,var(--blue),var(--teal)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.hero-sub{font-size:17px; color:var(--text-soft); line-height:1.6; margin:20px 0 26px; max-width:520px;}
.hero .ctas{display:flex; gap:12px; margin-bottom:22px; flex-wrap:wrap;}
.hero-trust{display:flex; gap:8px; flex-wrap:wrap;}
.hero-trust span{display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:550; color:var(--text-soft); background:var(--surface); border:1px solid var(--line); padding:8px 13px; border-radius:var(--r-pill); box-shadow:var(--shadow-sm);}
.hero-trust svg{width:15px; height:15px; stroke:var(--green); fill:none; stroke-width:2.2;}
.globe-wrap{position:relative; height:460px; display:flex; align-items:center; justify-content:center;}
#globe{width:100%; height:100%; cursor:grab;}
.globe-badge{position:absolute; background:var(--glass-strong); backdrop-filter:blur(14px); border:1px solid var(--line); border-radius:14px; padding:10px 14px; box-shadow:var(--shadow-md); font-size:12px; display:flex; align-items:center; gap:9px;}
.globe-badge b{font-size:13px;}
.globe-badge .gb-ico{width:30px; height:30px; border-radius:9px; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.globe-badge .gb-ico svg{width:16px; height:16px; stroke:#fff; fill:none; stroke-width:2;}
.gb-1{top:26px; left:-6px; animation:floatY 8s ease-in-out infinite;}
.gb-2{bottom:44px; right:-8px; animation:floatY2 10s ease-in-out infinite;}
.gb-3{bottom:8px; left:34px; animation:floatY 11s ease-in-out infinite;}
.aisearch{max-width:820px; margin:34px auto 0; position:relative; z-index:3;}
.aisearch-bar{display:flex; align-items:center; gap:6px; background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-pill); padding:8px 8px 8px 20px; box-shadow:var(--shadow-md);}
.aisearch-bar:focus-within{border-color:var(--blue); box-shadow:0 0 0 5px var(--blue-pale),var(--shadow-md);}
.aisearch-bar .sp{width:20px; height:20px; stroke:var(--blue); fill:none; stroke-width:2;}
.aisearch-bar input{flex:1; border:none; outline:none; background:transparent; font-family:inherit; font-size:15.5px; color:var(--text);}
.aisearch-bar input::placeholder{color:var(--muted-2);}
.aisearch-bar .tool{width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--text-soft); transition:background var(--fast);}
.aisearch-bar .tool:hover{background:var(--cream-2); color:var(--blue);}
.aisearch-bar .tool svg{width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:1.9;}
.aichips{display:flex; gap:8px; justify-content:center; margin-top:14px; flex-wrap:wrap;}
.aichips .chip{cursor:pointer;}
.aichips .chip:hover{border-color:var(--blue); color:var(--blue);}
.aichips .lbl{font-size:12px; color:var(--text-mut); align-self:center;}
.ledger{max-width:var(--maxw); margin:44px auto 0; padding:0 var(--gutter); display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.stat{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); padding:22px; box-shadow:var(--shadow-sm); text-align:center;}
.stat .num{font-size:30px; font-weight:800; letter-spacing:-.02em; background:linear-gradient(120deg,var(--blue-deep),var(--blue)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.stat .lbl{font-size:12.5px; color:var(--text-mut); margin-top:4px;}
.timeline{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.tl-step{position:relative; padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-sm);}
.tl-step .tl-n{width:40px; height:40px; border-radius:12px; background:linear-gradient(150deg,var(--blue),var(--blue-deep)); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; margin-bottom:14px; box-shadow:var(--shadow-blue);}
.tl-step h4{font-size:16px; margin-bottom:6px;}
.tl-step p{font-size:13px; color:var(--text-mut); line-height:1.6;}
.ctaband{max-width:var(--maxw); margin:0 auto; border-radius:var(--r-xl); display:flex; justify-content:space-between; color:#fff; box-shadow:var(--shadow-lg);}
.ctaband::before{content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.06) 1.5px,transparent 1.5px); background-size:22px 22px;}
.ctaband h3{ position:relative;}
.ctaband p{opacity:.82; max-width:520px; position:relative;}
.catgrid{display:grid; grid-template-columns:repeat(6,1fr);}
.compgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.svcgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.rfqgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.storyrail{display:flex; overflow-x:auto; scroll-snap-type:x mandatory;}
body.route-home .bloggrid{display:grid; grid-template-columns:2fr 1fr 1fr; gap:20px;}
/* ============ shared prod-grid default + route overrides ============ */
.prod-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
body.route-marketplace .prod-grid{grid-template-columns:repeat(3,1fr);}
/* ============ MARKETPLACE ============ */
.mk-head{background:var(--bg-alt); border-bottom:1px solid var(--line); padding:20px 0 26px;}
.mk-layout{display:grid; grid-template-columns:270px 1fr; gap:28px; align-items:start; padding:28px 0 70px;}
.filters{position:sticky; top:96px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:22px; box-shadow:var(--shadow-sm);}
.filters h5{font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--text-mut); margin:18px 0 10px;}
.filters h5:first-child{margin-top:0;}
.fopt{display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--text-soft); padding:6px 0; cursor:pointer;}
.fopt input{accent-color:var(--blue); width:16px; height:16px;}
.fopt .cnt{margin-left:auto; font-size:11.5px; color:var(--muted-2);}
.range{width:100%; accent-color:var(--blue); margin-top:6px;}
.mk-toolbar{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; flex-wrap:wrap;}
.mk-toolbar .cnt{font-size:13.5px; color:var(--text-mut);}
.mk-toolbar .cnt b{color:var(--text);}
.chipsrow{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px;}
/* ============ PRODUCT ============ */
.pd-top{display:grid; grid-template-columns:1.05fr 1fr; gap:40px; padding:12px 0 50px;}
.pd-gallery .main{height:420px; border-radius:var(--r-lg); position:relative; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-md);}
.pd-gallery .main svg{width:120px; height:120px; stroke:rgba(255,255,255,.9); fill:none; stroke-width:1.2;}
.pd-thumbs{display:flex; gap:12px; margin-top:14px;}
.pd-thumbs .t{width:82px; height:72px; border-radius:12px; cursor:pointer; border:2px solid transparent; transition:border-color var(--fast);}
.pd-thumbs .t.active{border-color:var(--blue);}
.pd-info h1{font-size:30px; line-height:1.15;}
.pd-badges{display:flex; gap:8px; flex-wrap:wrap; margin:12px 0 18px;}
.pd-price-box{background:var(--bg-alt); border:1px solid var(--line); border-radius:var(--r-lg); padding:20px; margin:18px 0;}
.pd-tiers{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:14px;}
.pd-tier{background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:12px; text-align:center;}
.pd-tier b{display:block; font-size:16px; color:var(--ink);}
.pd-tier span{font-size:11.5px; color:var(--text-mut);}
.pd-attrs{display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; margin:20px 0;}
.pd-attrs .a{display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--line); font-size:13.5px;}
.pd-attrs .a .l{color:var(--text-mut);}
.pd-attrs .a .v{font-weight:650;}
.pd-cta{display:flex; gap:10px; flex-wrap:wrap; margin-top:8px;}
.supbox{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:20px; box-shadow:var(--shadow-sm); margin-top:22px;}
.supbox .row-top{display:flex; align-items:center; gap:14px;}
.supbox .slogo{width:56px; height:56px; border-radius:14px; background:linear-gradient(135deg,var(--teal),#0f5a4d); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:22px;}
.pd-tabs-wrap{padding:10px 0 70px;}
/* ============ SUPPLIER ============ */
.sp-cover{height:240px; position:relative; border-radius:0 0 var(--r-xl) var(--r-xl); overflow:hidden;}
.sp-cover::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent,rgba(4,9,26,.35));}
.sp-header{max-width:var(--maxw); margin:-70px auto 0; padding:0 var(--gutter); position:relative; z-index:2;}
.sp-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-md); padding:24px; display:flex; gap:22px; align-items:center; flex-wrap:wrap;}
.sp-logo{width:96px; height:96px; border-radius:22px; background:linear-gradient(135deg,var(--teal),#0f5a4d); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:38px; box-shadow:var(--shadow-md); flex-shrink:0;}
.sp-meta{flex:1; min-width:240px;}
.sp-meta h1{font-size:26px;}
.sp-loc{font-size:13px; color:var(--text-mut); margin-top:4px; display:flex; gap:14px; flex-wrap:wrap;}
.sp-loc span{display:inline-flex; align-items:center; gap:5px;}
.sp-loc svg{width:14px; height:14px; stroke:var(--muted); fill:none; stroke-width:2;}
.sp-actions{display:flex; gap:10px; flex-wrap:wrap;}
.sp-strip{display:grid; grid-template-columns:repeat(5,1fr); gap:0; border-top:1px solid var(--line); margin-top:20px; padding-top:18px;}
.sp-strip .s{text-align:center; border-right:1px solid var(--line);}
.sp-strip .s:last-child{border-right:none;}
.sp-strip .s b{display:block; font-size:20px;}
.sp-strip .s span{font-size:11.5px; color:var(--text-mut);}
.sp-body{max-width:var(--maxw); margin:0 auto; padding:34px var(--gutter) 70px;}
.cert-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.cert{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); padding:20px; text-align:center; box-shadow:var(--shadow-sm);}
.cert .ci{width:48px;height:48px;border-radius:12px;background:var(--blue-pale);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.cert .ci svg{width:24px;height:24px;stroke:var(--blue-deep);fill:none;stroke-width:1.8;}
.factory-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.factory-grid .f{height:180px; border-radius:var(--r-md); box-shadow:var(--shadow-sm);}
/* ============ MEMBERSHIP ============ */
.mm-hero{text-align:center; padding:56px 0 30px; position:relative; overflow:hidden;}
.mm-hero h1{font-size:clamp(30px,4vw,48px); letter-spacing:-.03em;}
.mm-hero p{color:var(--text-soft); font-size:16px; max-width:560px; margin:16px auto 0;}
.plans{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; align-items:start; padding:20px 0 40px;}
.compare{ box-shadow:var(--shadow-sm);}
.compare th,.compare td{ font-size:13.5px;}
.compare th{background:var(--bg-alt); font-weight:700;}
.compare td:first-child,.compare th:first-child{ font-weight:600;}
.compare tr:last-child td{border-bottom:none;}
.compare svg{width:17px;height:17px;stroke:var(--green);fill:none;stroke-width:2.6;}
.compare .no{color:var(--muted-2);}
/* ============ DASHBOARD ============ */
.dash-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; flex-wrap:wrap; gap:14px;}
.dash-top h1{font-size:24px;}
.dash-brand{display:flex; align-items:center; gap:10px; margin-bottom:8px;}
.dash-brand .mark{width:40px;height:40px;border-radius:50%;background:conic-gradient(from 210deg,var(--blue),var(--blue-deep) 35%,var(--teal) 70%,var(--blue));display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-blue);}
.dash-brand .mark::after{content:"M";color:#fff;font-weight:600;font-size:17px;}
.dash-brand b{font-size:17px;}
.panels{display:grid; grid-template-columns:1.6fr 1fr; gap:20px; margin-top:22px;}
.panel{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:22px; box-shadow:var(--shadow-sm);}
.panel h3{font-size:16px; margin-bottom:4px;}
table.dt{width:100%; border-collapse:collapse; font-size:13px;}
table.dt th{text-align:left; color:var(--text-mut); font-weight:600; font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; padding:10px 10px; border-bottom:1px solid var(--line);}
table.dt td{padding:12px 10px; border-bottom:1px solid var(--line);}
table.dt tr:last-child td{border-bottom:none;}
.lead-item{display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--line);}
.lead-item:last-child{border-bottom:none;}
.lead-item .li-ico{width:38px;height:38px;border-radius:10px;background:var(--blue-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lead-item .li-ico svg{width:18px;height:18px;stroke:var(--blue-deep);fill:none;stroke-width:1.9;}
.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--blue) 0 42%,var(--teal) 42% 68%,var(--gold) 68% 86%,var(--cream-2) 86% 100%);display:flex;align-items:center;justify-content:center;margin:0 auto;}
.donut .hole{width:96px;height:96px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;}
.legend{display:flex;flex-direction:column;gap:8px;margin-top:16px;font-size:12.5px;}
.legend .lg{display:flex;align-items:center;gap:8px;}
.legend .sw{width:11px;height:11px;border-radius:3px;}
/* ============ CATEGORY ============ */
.cat-hero{position:relative; border-radius:0 0 var(--r-xl) var(--r-xl); overflow:hidden; padding:52px 0 46px; color:#fff;}
.cat-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(4,9,26,.55),rgba(4,9,26,.15));z-index:0;}
.cat-hero .wrap{position:relative;z-index:1;}
.cat-hero h1{font-size:clamp(28px,4vw,44px);}
.cat-hero p{max-width:520px;opacity:.9;margin-top:10px;line-height:1.6;}
.cat-stats{display:flex;gap:26px;margin-top:22px;flex-wrap:wrap;}
.cat-stats .cs b{font-size:24px;display:block;}
.cat-stats .cs span{font-size:12.5px;opacity:.85;}
.subcats{display:flex;gap:10px;overflow-x:auto;padding:22px 0;}
.subcats a{white-space:nowrap;font-size:13.5px;font-weight:600;color:var(--text-soft);padding:9px 16px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);}
.subcats a.active{background:var(--ink);color:#fff;border-color:var(--ink);}
/* categories index */
.cat-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-sm);margin-bottom:20px;}
.cat-block .cb-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.cat-block .cb-ico{width:52px;height:52px;border-radius:14px;background:linear-gradient(150deg,var(--blue-pale),var(--cream-2));display:flex;align-items:center;justify-content:center;}
.cat-block .cb-ico svg{width:26px;height:26px;stroke:var(--blue-deep);fill:none;stroke-width:1.8;}
.cat-block h3{font-size:18px;}
.cat-block .cb-head span{font-size:12.5px;color:var(--text-mut);}
.subchips{display:flex;flex-wrap:wrap;gap:8px;}
.subchips a{font-size:13px;color:var(--text-soft);padding:8px 14px;border:1px solid var(--line);border-radius:var(--r-pill);transition:all var(--fast);}
.subchips a:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-pale);}
.cols{columns:2;column-gap:20px;}
.cols > *{break-inside:avoid;}
/* ============ RFQ ============ */
.rfq-layout{display:grid;grid-template-columns:1.1fr 0.9fr;gap:34px;align-items:start;padding:24px 0 70px;}
.rfq-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;box-shadow:var(--shadow-md);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.rfq-feed .rfq{margin-bottom:14px;}
/* ============ BLOG ============ */
.feat{display:grid;grid-template-columns:1.3fr 1fr;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:30px;}
.feat .fimg{min-height:340px;}
.feat .fbody{padding:38px;}
.feat .fbody h2{font-size:30px;line-height:1.15;margin:12px 0;}
.blogcats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
body.route-blog .bloggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
/* ============ CONTACT ============ */
.ct-layout{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start;padding:24px 0 70px;}
.office{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;}
.office .o{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:18px;box-shadow:var(--shadow-sm);}
.office .o b{font-size:14px;}
.office .o span{font-size:12.5px;color:var(--text-mut);line-height:1.6;display:block;margin-top:4px;}
/* ============ ABOUT ============ */
.ab-hero{text-align:center;padding:56px 0 30px;position:relative;overflow:hidden;}
.ab-hero h1{font-size:clamp(30px,4.4vw,52px);letter-spacing:-.03em;max-width:820px;margin:0 auto;}
.ab-hero p{color:var(--text-soft);font-size:17px;max-width:600px;margin:18px auto 0;line-height:1.6;}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.val{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-sm);}
.val .vi{width:50px;height:50px;border-radius:14px;background:linear-gradient(150deg,var(--ink),var(--blue-deep));display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:var(--shadow-blue);}
.val .vi svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.8;}
.val h4{font-size:17px;margin-bottom:7px;}
.val p{font-size:13.5px;color:var(--text-mut);line-height:1.6;}
.bignum{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.bignum .b{text-align:center;}
.bignum .b .n{font-size:38px;font-weight:800;background:linear-gradient(120deg,var(--blue-deep),var(--blue));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.bignum .b span{font-size:13px;color:var(--text-mut);}
/* ============ HELP ============ */
.help-hero{text-align:center;padding:52px 0 34px;position:relative;overflow:hidden;}
.help-hero h1{font-size:clamp(28px,4vw,44px);}
.help-search{max-width:600px;margin:22px auto 0;}
.help-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px;}
.hc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;text-align:center;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--med) var(--ease),box-shadow var(--med);}
.hc:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.hc .hi{width:48px;height:48px;border-radius:13px;background:var(--blue-pale);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.hc .hi svg{width:24px;height:24px;stroke:var(--blue-deep);fill:none;stroke-width:1.8;}
.hc b{font-size:14.5px;}
.hc span{font-size:12px;color:var(--text-mut);display:block;margin-top:3px;}
/* ============ responsive (SPA) ============ */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr; text-align:center;} .globe-wrap{height:360px; order:-1;}
  .hero-sub,.hero .ctas,.hero-trust{margin-left:auto; margin-right:auto; justify-content:center;}
  .ledger{grid-template-columns:repeat(2,1fr);} .timeline{grid-template-columns:repeat(2,1fr);}
  .prod-grid{grid-template-columns:repeat(2,1fr)!important;} .ctaband{flex-direction:column; align-items:flex-start; padding:32px;}
  .compgrid,.rfqgrid,.svcgrid{grid-template-columns:1fr 1fr;} body.route-home .bloggrid,body.route-blog .bloggrid{grid-template-columns:1fr;}
  .mk-layout{grid-template-columns:1fr;} .filters{position:static;} .pd-top{grid-template-columns:1fr;} .pd-gallery .main{height:320px;}
  .sp-strip{grid-template-columns:repeat(2,1fr); gap:16px;} .sp-strip .s{border-right:none;} .factory-grid{grid-template-columns:1fr 1fr;}
  .cert-grid{grid-template-columns:repeat(2,1fr);} .plans{grid-template-columns:1fr 1fr;} .compare{display:block; overflow-x:auto;}
  .panels{grid-template-columns:1fr;} .rfq-layout{grid-template-columns:1fr;} .form-row{grid-template-columns:1fr;}
  .feat{grid-template-columns:1fr;} .ct-layout{grid-template-columns:1fr;} .office{grid-template-columns:1fr;}
  .vals{grid-template-columns:1fr;} .bignum{grid-template-columns:1fr 1fr;} .help-cats{grid-template-columns:1fr 1fr;}
  .catgrid{grid-template-columns:repeat(3,1fr);} .cols{columns:1;}
}
@media (max-width:560px){
  .ledger{grid-template-columns:repeat(2,1fr);} .timeline{grid-template-columns:1fr;} .prod-grid{grid-template-columns:1fr!important;}
  .catgrid{grid-template-columns:repeat(2,1fr);} .pd-tiers{grid-template-columns:1fr;} .pd-attrs{grid-template-columns:1fr;} .bignum{grid-template-columns:1fr;} .help-cats{grid-template-columns:1fr;} .plans{grid-template-columns:1fr;}
}
/* Category page: product-type dropdown + sort sit together on the right of the toolbar. */
.cat-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.cat-tools .select{width:auto;padding:9px 30px 9px 14px;max-width:260px;}
@media(max-width:600px){
  .cat-tools{width:100%;}
  .cat-tools .select{flex:1 1 140px;max-width:none;}
}