:root{
  --jade:#008f84;
  --jade-dark:#006f68;
  --jade-soft:#dff4f1;
  --mint:#eef9f7;
  --ice:#f8fbfb;
  --line:#dce9e8;
  --line-2:#edf3f2;
  --ink:#0d1b22;
  --text:#263d46;
  --muted:#758a93;
  --orange:#ff744f;
  --panel:#ffffff;
  --shadow:0 22px 70px rgba(20,54,62,.10);
  --soft-shadow:0 10px 34px rgba(23,66,74,.07);
}
*{box-sizing:border-box}
html{background:#f8fbfa}
body{margin:0;color:var(--ink);font-family:"Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif;background:
  radial-gradient(circle at 86px 140px,rgba(0,143,132,.05),transparent 320px),
  linear-gradient(180deg,#fbfdfd 0,#f7fbfa 45%,#f3f8f7 100%);letter-spacing:0}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.site-shell{max-width:1920px;margin:0 auto}
.topbar{height:88px;padding:0 42px;display:flex;align-items:center;gap:30px;background:rgba(255,255,255,.88);border-bottom:1px solid var(--line);box-shadow:0 10px 34px rgba(12,42,49,.04);position:sticky;top:0;z-index:50;backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:14px;min-width:242px}
.brand-mark{width:54px;height:54px;border-radius:13px;background:linear-gradient(145deg,#28bdae,#006860);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 14px 26px rgba(0,120,112,.18);position:relative;flex:0 0 auto}
.brand-mark:before{content:"";position:absolute;width:28px;height:31px;left:13px;top:13px;border:4px solid rgba(255,255,255,.92);border-right:0;border-radius:28px 0 0 28px;transform:rotate(-38deg)}
.brand-mark:after{content:"";position:absolute;width:10px;height:10px;right:12px;top:15px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px rgba(255,255,255,.42)}
.brand-mark.logo-image{background:transparent;box-shadow:none;border-radius:0;overflow:visible}
.brand-mark.logo-image:before,.brand-mark.logo-image:after{display:none}
.brand-mark.logo-image img{display:block;width:100%;height:100%;object-fit:contain}
.brand-uploaded-logo{display:block;width:auto;height:58px;max-width:260px;object-fit:contain}
.brand strong{font-size:27px;line-height:.96;font-weight:950;white-space:nowrap}
.brand small{display:block;margin-top:6px;font-size:12px;font-weight:700;color:#506773;letter-spacing:.02em}
.topbar nav{display:flex;gap:48px;justify-content:center;align-items:center;flex:1;font-size:16px;font-weight:800}
.topbar nav a{height:88px;display:flex;align-items:center;border-bottom:4px solid transparent}
.topbar nav a:hover,.topbar nav a.active{color:var(--jade);border-bottom-color:var(--jade)}
.search{width:370px;height:46px;border:1px solid var(--line);border-radius:23px;background:#fff;display:flex;align-items:center;overflow:hidden}
.search:before{content:"";width:17px;height:17px;margin-left:18px;border:2px solid #10232b;border-radius:50%;box-shadow:7px 7px 0 -5px #10232b;transform:rotate(-12deg)}
.search input{border:0;outline:0;flex:1;height:100%;padding:0 14px;background:transparent;color:var(--text)}
.search button{border:0;background:transparent;color:var(--jade);font-weight:900;padding:0 18px}
.safe{min-width:128px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--jade);font-weight:900;padding:9px 17px;line-height:1.18;text-align:center}
main{padding:24px 42px 70px}
.hero{min-height:378px;border:1px solid #cfe3e2;border-radius:18px;overflow:hidden;background:
  radial-gradient(ellipse at 80% 45%,rgba(255,255,255,.86),rgba(255,255,255,0) 43%),
  linear-gradient(105deg,#fff 0,#f3fbfa 42%,#deeeee 100%);display:grid;grid-template-columns:1fr 1.22fr;box-shadow:var(--shadow);position:relative}
.hero:after,.brand-hero:after,.category-hero:after,.compliance:before{content:"";position:absolute;right:44px;bottom:40px;width:360px;height:150px;border:2px solid rgba(0,143,132,.12);border-radius:50%;background:rgba(255,255,255,.25)}
.hero>div:first-child{padding:66px 74px;position:relative;z-index:2}
.hero h1,.page-title h1,.brand-hero h1,.compliance h1{margin:0 0 16px;font-size:42px;line-height:1.05;font-weight:950;letter-spacing:0}
.hero p,.page-title p,.brand-hero p,.compliance>p{margin:0 0 30px;color:#304a55;font-size:21px;line-height:1.55}
.feature-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:28px 0 8px;max-width:720px}
.feature-row span{position:relative;padding-left:42px;color:#23454d;font-weight:950;line-height:1.25}
.feature-row span:before{content:"";position:absolute;left:0;top:1px;width:30px;height:30px;border:2px solid var(--jade);border-radius:9px;background:rgba(255,255,255,.65)}
.feature-row span:after{content:"";position:absolute;left:10px;top:10px;width:10px;height:10px;border-radius:50%;background:var(--jade)}
.feature-row small{display:block;color:#6b8089;font-weight:700;font-size:12px;margin-top:4px}
.hero-actions{display:flex;gap:18px;margin-top:28px}
.primary,.secondary,.product-card footer a,.category-card span,.filters-reset{min-height:44px;border-radius:13px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;border:1px solid var(--jade)}
.primary{background:linear-gradient(135deg,#1ec5b5,#00756d);color:#fff;box-shadow:0 16px 26px rgba(0,143,132,.22)}
.secondary,.product-card footer a,.filters-reset{background:#fff;color:var(--jade)}
.hero-stage{position:relative;display:grid;place-items:center;z-index:2}
.device-art{display:flex;align-items:end;justify-content:center;gap:26px;min-height:245px;position:relative}
.device-art:before{content:"";position:absolute;left:50%;bottom:10px;width:520px;height:110px;margin-left:-260px;border:1px solid rgba(0,143,132,.18);border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(211,239,236,.3));box-shadow:0 18px 30px rgba(5,95,92,.12)}
.device-art i{display:block;position:relative;width:56px;height:216px;border-radius:28px;background:linear-gradient(90deg,#87ded2 0,#dff8f5 48%,#26363c 100%);box-shadow:inset -16px 0 20px rgba(0,0,0,.08),0 20px 48px rgba(16,44,50,.15);z-index:1}
.device-art i:nth-child(2){height:252px;background:linear-gradient(90deg,#fbffff 0,#c8d4d8 74%,#879aa2 100%)}
.device-art i:nth-child(3){height:190px;width:82px;border-radius:30px;background:linear-gradient(90deg,#0d1a21,#33444a)}
.device-art i:before{content:"";position:absolute;left:50%;top:-28px;width:44px;height:54px;margin-left:-22px;border-radius:18px 18px 13px 13px;background:linear-gradient(90deg,rgba(255,255,255,.75),rgba(9,23,29,.85));opacity:.9}
.device-art i:after{content:"";position:absolute;left:50%;bottom:66px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--orange)}
.hero .device-art{transform:scale(1.07)}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:30px 12px 16px}
.section-head h2{font-size:27px;margin:0;font-weight:950}
.section-head a{color:var(--jade);font-weight:900}
.product-grid{display:grid;gap:22px}
.product-grid.four{grid-template-columns:repeat(4,1fr)}
.product-grid.three{grid-template-columns:repeat(4,1fr)}
.product-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--soft-shadow);overflow:hidden}
.product-img{height:224px;background-color:#fff;background-size:contain;background-repeat:no-repeat;background-position:center;display:grid;place-items:center;border-bottom:1px solid var(--line-2)}
.product-card>div{padding:16px 18px 18px}
.product-card h3{margin:0 0 10px;font-size:18px;line-height:1.25;font-weight:950}
.product-card p{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.product-card p span,.pill{font-size:12px;color:var(--jade);background:#dff4ef;border-radius:999px;padding:5px 9px;font-weight:900}
.product-card small{color:#8a9aa2;font-weight:700}
.product-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:6px}
.product-card strong,.price strong{color:var(--jade);font-size:29px;font-weight:950}
.product-card footer a{min-height:36px;border-radius:18px;padding:0 17px;font-size:13px}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.category-card{min-height:240px;padding:30px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(135deg,#e9f8f5,#fff);box-shadow:var(--soft-shadow);position:relative;overflow:hidden}
.category-card h3{margin:0 0 12px;color:#005f59;font-size:29px;font-weight:950}
.category-card p{width:54%;margin:0 0 24px;color:#43616b;line-height:1.75}
.category-card span{position:relative;z-index:2;background:linear-gradient(135deg,#009d91,#006e67);color:#fff;border:0;border-radius:20px;min-height:38px}
.category-card .device-art{position:absolute;right:24px;bottom:-8px;transform:scale(.52);transform-origin:right bottom}
.category-cover{position:absolute;right:18px;bottom:14px;width:46%;height:78%;background:#fff center/contain no-repeat;border-radius:12px}
.brand-strip,.brand-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.brand-chip,.brand-card{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--soft-shadow)}
.brand-chip{min-height:144px;padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.chip-logo{width:54px;height:54px;border-radius:12px;background:linear-gradient(135deg,#94d6c3,#007a72);display:grid;place-items:center;color:#fff;font-size:26px;font-weight:950;margin-bottom:12px}
.brand-chip b{display:block;font-size:22px;margin-bottom:8px}
.brand-chip span{color:#647984;font-weight:700}
.brand-hero{min-height:270px;margin-bottom:20px;border-radius:17px;border:1px solid var(--line);padding:62px 86px;position:relative;overflow:hidden;background:linear-gradient(100deg,#f8fcfc 0,#eef8f6 45%,#dbeceb 100%)}
.brand-hero:before{content:"";position:absolute;right:115px;bottom:10px;width:430px;height:230px;background:linear-gradient(90deg,transparent,rgba(0,143,132,.12));border-left:4px solid rgba(0,143,132,.25);transform:skewX(-8deg)}
.brand-grid{grid-template-columns:repeat(4,1fr)}
.brand-card{padding:26px}
.brand-card .logo{width:78px;height:78px;border-radius:15px;background:linear-gradient(135deg,#94d6c3,#007a72);display:grid;place-items:center;color:#fff;font-size:34px;font-weight:950;margin-bottom:18px}
.brand-logo-img{background-color:#fff;background-size:contain;background-position:center;background-repeat:no-repeat;border:1px solid var(--line)}
.brand-logo-img img{width:100%;height:100%;object-fit:contain;display:block}
.brand-card h3{font-size:24px;margin:0 0 6px}.brand-card b{color:#526a74}.brand-card p{color:#5f737c;line-height:1.7}
.brand-toolbar{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--soft-shadow);padding:18px 22px;margin:18px 0;display:grid;grid-template-columns:320px auto 1fr;align-items:center;gap:24px}
.brand-search input{width:100%;height:44px;border:1px solid var(--line);border-radius:13px;padding:0 16px;outline:0}
.brand-tabs{display:flex;gap:10px}.brand-tabs a{height:44px;padding:0 20px;border-radius:12px;display:inline-flex;align-items:center;font-weight:900}.brand-tabs a.active,.brand-tabs a:hover{background:var(--jade);color:#fff}
.letters{font-size:14px;color:#6a818a;text-align:right}.letters a{display:inline-block;margin-left:10px;font-weight:800}.letters a:hover,.letters a.active{color:var(--jade)}
.page-title{padding:18px 6px 22px}
.catalog-categories{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:18px;box-shadow:var(--soft-shadow)}
.catalog-categories h2{margin:0 0 18px;font-size:24px}
.list-head{display:flex;align-items:center;gap:12px;margin:0 0 18px}.list-head h2{margin:0;font-size:24px}.list-head span{color:#7b8e96;font-weight:800}
.catalog-layout{display:grid;grid-template-columns:268px 1fr;gap:28px}
.filters{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--soft-shadow);padding:24px;align-self:start;position:sticky;top:112px}
.filters h2{margin:0 0 24px;font-size:22px}.filters b{display:block;margin:22px 0 12px}
.filters a{height:39px;display:flex;align-items:center;gap:10px;border-radius:10px;color:#5a707a;padding:0 10px;margin:5px 0}
.filters a:before{content:"";width:14px;height:14px;border-radius:50%;border:1px solid #bdd1d1}
.filters a.active,.filters a:hover{background:#eef8f6;color:var(--jade);font-weight:900}.filters a.active:before{background:var(--jade);box-shadow:inset 0 0 0 4px #fff;border-color:var(--jade)}
.catalog-layout .product-grid.three{grid-template-columns:repeat(6,1fr);gap:18px}
.catalog-layout .product-img{height:172px}.catalog-layout .product-card>div{padding:13px 14px 15px}.catalog-layout .product-card h3{font-size:15px}.catalog-layout .product-card strong{font-size:23px}.catalog-layout .product-card footer a{padding:0 12px}
.crumb{display:flex;gap:10px;align-items:center;margin:2px 0 18px;color:#70868f;font-size:14px}
.crumb a{color:#1c726c;font-weight:800}
.detail-top{display:grid;grid-template-columns:.98fr 1.02fr;gap:24px;align-items:start}
.gallery,.detail-info,.description{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--soft-shadow)}
.gallery{padding:18px;overflow:hidden}.detail-image{height:560px;max-height:62vh;background:#fff center/contain no-repeat;border:1px solid var(--line);border-radius:13px}
.thumbs{display:flex;gap:12px;padding:14px 2px 0;flex-wrap:wrap}.thumbs button{width:96px;aspect-ratio:1/1;height:auto;border:1px solid var(--line);border-radius:10px;background:#fff center/contain no-repeat}
.detail-info{padding:28px}.detail-info h1{font-size:40px;margin:12px 0 8px;line-height:1.15}.detail-info>p{color:#536973;font-size:18px}
.price{margin:20px 0;padding:17px 20px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:space-between}
.spec-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 18px}.spec-buttons button{min-width:128px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#536973;font-weight:900}.spec-buttons button:hover{border-color:var(--jade);color:var(--jade)}
.param-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.param-table th,.param-table td{padding:14px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}.param-table th{width:30%;background:#f2f7f6;color:#657b84}.param-table tr:last-child th,.param-table tr:last-child td{border-bottom:0}
.description{margin-top:24px;padding:30px}.description h2{margin:0 0 14px;font-size:24px}.description article{font-size:17px;line-height:1.95;color:#39525b}.description img{max-width:100%;border-radius:14px}
.compliance{position:relative;overflow:hidden;min-height:760px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(105deg,#fff 0,#eff8f7 56%,#e1eeee 100%);padding:72px 88px;box-shadow:var(--shadow)}
.compliance h1{font-size:72px}.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:80px}.info-cards article{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--soft-shadow)}.info-cards h3{font-size:24px;margin:0 0 10px}
.footer{margin:34px 42px 42px;border-radius:18px;padding:28px 36px;background:linear-gradient(90deg,#183943,#4c7480);color:#fff;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:26px}.footer p,.footer dd{color:#cfe1e3}.footer dl{margin:0}
.admin-layout{min-height:100vh;display:grid;grid-template-columns:312px 1fr;background:#f8fbfb}
.admin-side{background:rgba(255,255,255,.88);border-right:1px solid var(--line);padding:28px 26px;display:flex;flex-direction:column;gap:34px}
.admin-side .brand{min-width:0}.admin-nav{display:grid;gap:10px}.admin-nav button{height:58px;border:0;border-radius:13px;text-align:left;background:transparent;color:#506a75;font-weight:900;padding:0 18px;font-size:16px}.admin-nav button.active,.admin-nav button:hover{background:#eaf7f4;color:var(--jade);box-shadow:inset 4px 0 0 var(--jade)}
.admin-main{padding:0 34px 40px}.admin-top{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin:0 -34px 26px;padding:0 34px;background:rgba(255,255,255,.72)}.admin-top h1{margin:0;font-size:24px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:24px}.stat-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--soft-shadow);display:flex;align-items:center;gap:18px}.stat-grid i{width:58px;height:58px;border-radius:50%;background:#eff8f6;display:grid;place-items:center;color:var(--jade);font-style:normal;font-weight:950}.stat-grid b{font-size:30px;display:block}.stat-grid span{color:#617780}
.admin-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--soft-shadow);margin-bottom:24px}.admin-panel h1,.admin-panel h2{margin:0 0 18px}
.admin-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.admin-table th{height:54px;background:#fbfdfd;color:#536b75}.admin-table th,.admin-table td{padding:14px 18px;border-bottom:1px solid var(--line);text-align:left}.admin-table tr:last-child td{border-bottom:0}
.admin-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0}.admin-actions button,.admin-form button,.danger,.mini-btn{height:39px;border-radius:10px;border:1px solid var(--jade);background:#fff;color:var(--jade);font-weight:900;padding:0 16px}.danger{border-color:#ff6f52;color:#df422b}.admin-form{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.admin-form label{display:grid;gap:8px;color:#405862;font-weight:900}.admin-form input,.admin-form textarea,.admin-form select{border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px 13px;outline:0}.admin-form textarea{min-height:100px}.admin-form .wide{grid-column:1/-1}
.thumb{display:block;border:1px solid var(--line);border-radius:10px;background:#fff center/contain no-repeat;flex:0 0 auto}
.help{color:#738890;line-height:1.65;margin:0 0 14px}
.image-picker-row{display:flex;gap:12px;align-items:center}.image-picker-row input{flex:1}
.inline-upload{display:flex;gap:8px;align-items:center}.inline-upload input{flex:1}
.upload-drop{min-height:86px;border:1px dashed #bfd7d5;border-radius:13px;background:#fbfdfd;color:#65808a;display:grid;place-items:center;font-weight:900;cursor:pointer}.upload-drop input{display:none}
.product-editor{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.product-editor>.editor-card{grid-column:1}.product-editor>.editor-preview{grid-column:2;grid-row:1 / span 6;position:sticky;top:112px}
.editor-card h3{margin:18px 0 12px}.rich-area{width:100%;min-height:260px;border:1px solid var(--line);border-radius:12px;padding:16px;outline:0;line-height:1.8}
.gallery-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.gallery-item{display:grid;grid-template-columns:108px 1fr auto auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px}.gallery-item input,.spec-row input,.param-row input{border:1px solid var(--line);border-radius:10px;padding:11px 12px;outline:0}
.spec-editor,.param-editor{display:grid;gap:12px}.spec-row{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfdfd}.param-row{display:grid;grid-template-columns:1fr 2fr auto;gap:10px;align-items:center}
.editor-preview .preview-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fbfdfd}.editor-preview .preview-card .thumb{width:100%!important;height:240px!important;margin-bottom:14px}.editor-preview h3{font-size:22px;margin:0 0 8px}.editor-preview b{color:var(--jade);font-size:30px}.sticky-actions{position:sticky;bottom:18px;background:#fff;padding-top:12px}
.media-head{display:flex;align-items:center;justify-content:space-between}.media-head h1{margin:0 0 8px}.media-layout{display:grid;grid-template-columns:1fr 360px;gap:24px}.media-tabs{display:flex;gap:10px;margin-bottom:18px}.media-tabs button{height:42px;border:0;border-radius:11px;background:#f0f7f6;color:#526c76;font-weight:900;padding:0 18px}.media-tabs button.active{background:#dff4ef;color:var(--jade)}
.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.media-card{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff;cursor:pointer}.media-card.active{border-color:var(--jade);box-shadow:0 0 0 2px rgba(0,143,132,.12)}.media-preview{aspect-ratio:1/1;background:#fff center/contain no-repeat;border-bottom:1px solid var(--line)}.media-card b{display:block;padding:10px 12px 2px;font-size:14px}.media-card small{display:block;padding:0 12px 12px;color:#78909a}
.media-detail{position:sticky;top:112px}.media-detail img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:12px}.media-detail dl{display:grid;grid-template-columns:80px 1fr;gap:10px;margin:18px 0}.media-detail dt{color:#6a818a}.media-detail dd{margin:0}.media-detail input{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;padding:80px 9vw;background:radial-gradient(circle at 70% 30%,#d8f1ef,transparent 360px),linear-gradient(120deg,#f8fcfc,#eaf6f4)}.login-page:before{content:"目录管理后台\\A 管理产品、规格、图片、分类与品牌资料";white-space:pre-line;font-size:68px;line-height:1.35;font-weight:950;color:var(--ink)}.login-box{width:560px;justify-self:end;background:rgba(255,255,255,.72);border:1px solid rgba(190,220,218,.9);border-radius:28px;padding:56px;box-shadow:0 35px 90px rgba(20,58,65,.18);backdrop-filter:blur(18px)}.login-box h1{text-align:center;font-size:36px;margin:20px 0 30px}.login-box p{text-align:center;color:#657b84}.login-box input{width:100%;height:60px;border:1px solid var(--line);border-radius:12px;padding:0 18px;margin:10px 0 20px}.login-box button{width:100%;height:70px;border:0;border-radius:16px;background:linear-gradient(135deg,#27cabb,#00776f);color:#fff;font-size:22px;font-weight:950;box-shadow:0 20px 36px rgba(0,143,132,.22)}
@media(max-width:1100px){.topbar{height:auto;flex-wrap:wrap;padding:18px}.topbar nav{order:4;width:100%;justify-content:flex-start;overflow:auto}.search,.safe{display:none}main{padding:18px}.hero,.detail-top,.catalog-layout,.footer,.login-page,.product-editor,.media-layout,.brand-toolbar{grid-template-columns:1fr}.product-grid.four,.product-grid.three,.category-grid,.brand-grid,.brand-strip,.info-cards,.stat-grid,.media-grid,.gallery-editor{grid-template-columns:1fr}.hero>div:first-child,.brand-hero,.compliance{padding:34px}.hero h1,.page-title h1{font-size:34px}.admin-layout{grid-template-columns:1fr}.admin-side{display:block}.admin-main{padding:20px}.admin-top{margin:0 -20px 20px;padding:0 20px}.login-page:before{font-size:40px}.login-box{width:100%;justify-self:stretch}.product-editor>.editor-card,.product-editor>.editor-preview{grid-column:1;grid-row:auto;position:static}.spec-row,.gallery-item,.param-row{grid-template-columns:1fr}.media-detail{position:static}.brand-toolbar .letters{text-align:left}}

/* V5 visual alignment: Vapor Mirror design draft */
:root{
  --jade:#008f84;
  --jade-2:#13b6aa;
  --jade-dark:#006e68;
  --mist:#f6fbfa;
  --panel:#fff;
  --line:#d9e7e6;
  --line-2:#edf4f3;
  --ink:#0b1720;
  --text:#334c57;
  --muted:#7f9199;
  --orange:#ff744f;
  --radius:14px;
  --shadow:0 18px 50px rgba(17,54,62,.08);
  --shadow-2:0 34px 90px rgba(17,54,62,.13);
}
body{background:
  linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,251,250,.96) 32%,#f4f9f8),
  radial-gradient(circle at 78% 12%,rgba(0,143,132,.08),transparent 380px);
  color:var(--ink);font-size:15px}
.site-shell{max-width:none}
.topbar{height:82px;padding:0 34px;background:rgba(255,255,255,.94);border-bottom:1px solid #d8e7e6;box-shadow:0 10px 32px rgba(20,48,55,.055)}
.brand{min-width:250px}.brand-mark{width:52px;height:52px;border-radius:12px}.brand strong{font-size:25px;letter-spacing:-.01em}.brand small{font-size:11px;color:#465e69}
.topbar nav{gap:42px;font-size:16px;font-weight:900}.topbar nav a{height:82px;border-bottom-width:3px}.search{width:360px;height:46px;border-radius:18px}.safe{border-radius:14px;padding:8px 18px}
main{padding:20px 34px 64px}
.hero{min-height:388px;border-radius:18px;border-color:#cfe2e0;background:
  linear-gradient(96deg,#fff 0%,#f7fcfb 42%,#e7f4f3 100%);
  box-shadow:0 18px 54px rgba(23,74,82,.10)}
.hero:after{right:62px;bottom:34px;width:430px;height:152px;background:rgba(255,255,255,.42);border-color:rgba(0,143,132,.16);filter:blur(.2px)}
.hero>div:first-child{padding:72px 74px 56px}.hero h1{font-size:42px;letter-spacing:0;margin-bottom:18px}.hero p{font-size:22px;color:#172f38;margin-bottom:28px}
.feature-row{max-width:650px;gap:16px}.feature-row span{font-size:14px}.feature-row span:before{border-radius:8px;background:#fff;box-shadow:0 8px 18px rgba(0,143,132,.08)}
.hero-actions{margin-top:30px}.primary{border:0;background:linear-gradient(135deg,#20c7b7,#008f84 72%,#00756f);box-shadow:0 16px 28px rgba(0,143,132,.24)}.secondary{background:#fff;border-color:#b9d7d4;color:#00796f}
.hero-stage{overflow:hidden;min-height:388px}.hero-glass{position:absolute;right:36px;bottom:36px;width:560px;height:160px;border-radius:50%;border:1px solid rgba(0,143,132,.16);background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(204,236,233,.35));box-shadow:0 24px 42px rgba(12,84,88,.13)}
.hero-products{position:relative;z-index:2;width:100%;height:100%;min-height:340px}.hero-product{position:absolute;bottom:52px;width:150px;height:270px;background:#fff center/contain no-repeat;border-radius:18px;filter:drop-shadow(0 22px 28px rgba(10,49,55,.18));transition:transform .22s ease}.hero-product:hover{transform:translateY(-8px)}
.hero-product-1{right:405px}.hero-product-2{right:300px;height:300px}.hero-product-3{right:198px}.hero-product-4{right:92px;height:250px}.hero-product-5{right:520px;height:210px;opacity:.92}
.section-head{margin:28px 10px 14px}.section-head h2{font-size:25px}.product-grid{gap:22px}.product-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.product-card{border-color:#d9e6e5;border-radius:13px;box-shadow:0 10px 30px rgba(20,60,68,.07);background:#fff}
.product-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(20,60,68,.11)}
.product-img{height:260px;background-color:#fff;background-size:contain;background-position:center;border-bottom:1px solid #eef4f3}
.product-card>div{padding:16px 18px 18px}.product-card h3{font-size:18px;min-height:45px}.product-card p span,.pill{background:#dff4ef;color:#007c73}.product-card footer a{border-color:#9fd2cd;background:#fff}.product-card strong{font-size:30px}
.category-grid{gap:20px}.category-card{min-height:235px;padding:30px;border-radius:14px;background:linear-gradient(135deg,#ecf8f6 0,#f9fdfc 55%,#e3f2f1);box-shadow:0 10px 30px rgba(20,60,68,.07)}
.category-card h3{font-size:27px;color:#005f59}.category-card p{font-size:16px;color:#3b5a65}.category-cover{right:20px;bottom:0;width:46%;height:92%;background-color:transparent}
.brand-strip{grid-template-columns:repeat(6,1fr)}.brand-chip{min-height:154px;border-radius:13px}.chip-logo{width:66px;height:66px}
.brand-hero{min-height:265px;border-radius:17px;background:linear-gradient(100deg,#fff 0,#f2faf9 48%,#dceeed 100%);box-shadow:var(--shadow);padding:60px 84px}
.brand-toolbar{border-radius:16px}.brand-grid{gap:18px}.brand-card{border-radius:14px;min-height:260px}.brand-card .logo{width:82px;height:82px}
.page-title{padding:20px 0 18px}.page-title h1{font-size:36px}.catalog-categories{border-radius:16px;padding:24px}.catalog-layout{grid-template-columns:270px 1fr;gap:26px}.filters{border-radius:15px;padding:24px;top:102px}
.catalog-layout .product-grid.three{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.catalog-layout .product-img{height:205px}.catalog-layout .product-card h3{font-size:16px}.catalog-layout .product-card strong{font-size:25px}
.detail-top{grid-template-columns:1fr 1fr;max-width:1820px;margin:0 auto}.gallery,.detail-info,.description{border-radius:15px}.gallery{padding:18px}.detail-image{height:520px;max-height:none;aspect-ratio:1/1;margin:0 auto;width:100%;background-size:contain}.thumbs button{width:104px}.detail-info{padding:34px}.detail-info h1{font-size:38px}.description{max-width:1820px;margin:24px auto 0;padding:34px}
.footer{margin:34px;border-radius:18px;background:linear-gradient(90deg,#173841,#486f7a);box-shadow:0 18px 50px rgba(18,52,60,.12)}

.admin-layout{grid-template-columns:280px 1fr;background:#f7fbfa}.admin-side{padding:24px 18px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,252,251,.92));box-shadow:8px 0 34px rgba(17,54,62,.045);gap:28px}.admin-side .brand strong{font-size:23px}
.admin-nav{gap:8px}.admin-nav button{height:52px;border-radius:10px;font-size:15px;padding:0 18px;color:#4e6671}.admin-nav button.active{background:#e7f5f2;color:var(--jade);box-shadow:inset 4px 0 0 var(--jade)}
.admin-main{padding:0 28px 36px}.admin-top{height:82px;margin:0 -28px 24px;padding:0 28px;background:rgba(255,255,255,.86);box-shadow:0 8px 28px rgba(18,54,62,.04)}.admin-top h1{font-size:24px}
.stat-grid{gap:20px}.stat-grid article{height:118px;border-radius:14px;padding:22px}.stat-grid i{width:58px;height:58px}.stat-grid b{font-size:30px}
.admin-panel{border-radius:14px;padding:22px;box-shadow:0 12px 36px rgba(18,54,62,.07)}.admin-table{border-radius:12px}.admin-table th{height:50px;background:#fbfdfd;font-size:14px}.admin-table td{padding:12px 16px}
.admin-actions button,.admin-form button,.danger,.mini-btn{height:38px;border-radius:9px}.admin-form input,.admin-form textarea,.admin-form select{border-radius:9px;background:#fff}
.product-editor{grid-template-columns:minmax(0,1fr) 360px;gap:22px}.editor-preview{top:100px}.editor-preview .preview-card{background:#fbfdfd}.editor-preview .preview-card .thumb{height:260px!important}.gallery-item{border-radius:11px}.spec-row{grid-template-columns:1fr 1fr 1fr 1.3fr auto;background:#fbfdfd}
.media-layout{grid-template-columns:1fr 360px}.media-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.media-card{border-radius:12px}.media-detail{top:100px}.media-detail img{border-radius:12px}
.login-page{background:radial-gradient(circle at 70% 30%,rgba(0,143,132,.18),transparent 390px),linear-gradient(120deg,#f8fcfc,#eaf6f4)}.login-page:before{content:"目录管理后台\\A 管理产品、规格、图片、分类与品牌资料"}.login-box{border-radius:24px}

@media(max-width:1500px){.product-grid.four{grid-template-columns:repeat(4,1fr)}.catalog-layout .product-grid.three{grid-template-columns:repeat(4,1fr)}.media-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px){.hero-product{position:relative;right:auto!important;bottom:auto;display:inline-block;width:30%;height:220px}.hero-products{display:flex;align-items:end;justify-content:center;gap:8px}.catalog-layout .product-grid.three{grid-template-columns:1fr}.detail-image{height:auto;aspect-ratio:1/1}.product-img{height:240px}}

/* V6 admin editor and upload guidance */
.hero-uploaded{background-size:cover;background-position:center right}
.hero-empty{position:absolute;right:58px;bottom:58px;width:480px;height:178px;border:1px dashed #a9d3cf;border-radius:18px;background:rgba(255,255,255,.72);display:grid;place-items:center;color:#6f858d;font-weight:900}
.category-card{background-size:cover;background-position:center right}.empty-cover{position:absolute;right:24px;bottom:24px;width:170px;height:110px;border:1px dashed #abd3cf;border-radius:14px;display:grid;place-items:center;color:#7f969d;font-style:normal;background:rgba(255,255,255,.62)}
.brand-hero,.compliance{background-size:cover;background-position:center right}

.product-editor-v2{display:grid;grid-template-columns:minmax(360px,1fr) minmax(360px,1fr) 340px;gap:22px;align-items:start}
.product-editor-v2>.editor-basic{grid-column:1}.product-editor-v2>.editor-main-image{grid-column:2}.product-editor-v2>.editor-preview{grid-column:3;grid-row:1 / span 5}.product-editor-v2>.editor-gallery,.product-editor-v2>.editor-specs,.product-editor-v2>.editor-params,.product-editor-v2>.editor-desc,.product-editor-v2>.editor-seo{grid-column:1 / 3}
.editor-basic .admin-form{grid-template-columns:1fr}.editor-basic textarea{min-height:108px}.editor-basic h2,.editor-main-image h2,.editor-preview h2{font-size:20px;margin-bottom:18px}
.editor-main-image .image-picker{display:block}.editor-main-image .image-picker-row{display:grid;grid-template-columns:1fr;gap:12px}.editor-main-image .image-picker-row .thumb{width:100%!important;height:310px!important;border-radius:13px;background-color:#f7fbfa}.editor-main-image .image-picker-row input{width:100%;height:44px}.editor-main-image .image-picker-row .mini-btn{justify-self:start}
.main-upload-note,.upload-hint{display:block;margin-top:8px;color:#81949c;font-size:12px;line-height:1.6;font-weight:700}
.gallery-editor{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.gallery-item{display:block;padding:0;overflow:hidden;background:#fff}.gallery-item .thumb{width:100%!important;height:auto!important;aspect-ratio:1/1;border:0;border-radius:0;border-bottom:1px solid var(--line)}.gallery-item input{width:calc(100% - 20px);margin:10px}.gallery-item button{margin:0 0 10px 10px}
.gallery-add{min-height:190px;border:1px dashed #b9d8d5;border-radius:12px;background:#fbfdfd;display:grid;place-items:center;color:#66818a;cursor:pointer;text-align:center}.gallery-add span{font-size:34px;color:#6f8991}.gallery-add b{display:block;font-size:14px}.gallery-add:hover{border-color:var(--jade);color:var(--jade)}
.spec-row{grid-template-columns:1.1fr 1fr 1fr 1.35fr auto}.spec-row,.param-row{background:#fff;border-color:#dce9e8}.editor-specs .section-head,.editor-params .section-head,.editor-gallery .section-head{margin:0 0 14px}
.editor-preview{padding:20px}.editor-preview .preview-card{padding:14px;border-radius:14px;background:#fff}.editor-preview .preview-card .thumb{height:260px!important;background-color:#f8fbfa;border-radius:12px}.editor-preview .preview-card h3{font-size:21px;line-height:1.25}.editor-preview .preview-card p{min-height:50px;color:#607780}.editor-preview .preview-card b{display:block;margin-top:10px}
.sticky-actions{gap:10px}.sticky-actions .primary{flex:1}.sticky-actions .mini-btn{flex:1}
.settingsForm .image-picker-row{}

@media(max-width:1400px){.product-editor-v2{grid-template-columns:1fr 1fr}.product-editor-v2>.editor-preview{grid-column:1 / 3;grid-row:auto}.gallery-editor{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.product-editor-v2{grid-template-columns:1fr}.product-editor-v2>.editor-basic,.product-editor-v2>.editor-main-image,.product-editor-v2>.editor-preview,.product-editor-v2>.editor-gallery,.product-editor-v2>.editor-specs,.product-editor-v2>.editor-params,.product-editor-v2>.editor-desc,.product-editor-v2>.editor-seo{grid-column:1}.gallery-editor{grid-template-columns:1fr}}

/* V7 unified site width and full-module image model */
:root{
  --site-width:1500px;
  --site-gutter:32px;
}
.site-shell{max-width:none;width:100%}
.topbar{padding:0;width:100%}
.topbar-inner{width:min(var(--site-width),calc(100vw - var(--site-gutter) * 2));height:100%;margin:0 auto;display:flex;align-items:center;gap:30px}
main{width:min(var(--site-width),calc(100vw - var(--site-gutter) * 2));margin:0 auto;padding:22px 0 64px}
.footer{margin:34px 0 42px;padding:0;background:transparent;box-shadow:none}
.footer-inner{width:min(var(--site-width),calc(100vw - var(--site-gutter) * 2));margin:0 auto;border-radius:18px;padding:28px 36px;background:linear-gradient(90deg,#173841,#486f7a);color:#fff;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:26px;box-shadow:0 18px 50px rgba(18,52,60,.12)}
.footer-inner p,.footer-inner dd{color:#cfe1e3}.footer-inner dl{margin:0}

.hero.has-module-bg,.brand-hero.has-module-bg,.compliance.has-module-bg,.category-card[style*="background-image"]{background-size:cover;background-position:center;background-repeat:no-repeat}
.hero.has-module-bg{min-height:auto;aspect-ratio:1500/520;background-color:#eef6f5}
.hero.has-module-bg>div:first-child,.hero.has-module-bg .hero-stage{visibility:hidden;pointer-events:none}
.brand-hero.has-module-bg{min-height:auto;aspect-ratio:1500/300;padding:0}
.brand-hero.has-module-bg>*{visibility:hidden}
.compliance.has-module-bg{min-height:auto;aspect-ratio:1500/620;padding:0}
.compliance.has-module-bg>*{visibility:hidden}
.category-card[style*="background-image"]{padding:0;aspect-ratio:480/230;min-height:0}
.category-card[style*="background-image"] h3,.category-card[style*="background-image"] p,.category-card[style*="background-image"] span{visibility:hidden}

.detail-top{grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr);gap:28px;align-items:start;width:100%;max-width:none}
.gallery{padding:16px}.detail-image{width:100%;height:auto!important;aspect-ratio:1/1;max-height:none;background-size:contain;background-color:#fff}.thumbs{padding-top:12px}.thumbs button{width:82px}
.detail-info{min-height:auto}.description{max-width:none;width:100%}

@media(max-width:1200px){:root{--site-gutter:24px}.topbar-inner{gap:20px}.topbar nav{gap:24px}.search{width:300px}.detail-top{grid-template-columns:.86fr 1.14fr}.catalog-layout .product-grid.three{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){:root{--site-gutter:18px}.topbar{height:auto}.topbar-inner{padding:16px 0;flex-wrap:wrap}.topbar nav{order:4;width:100%;justify-content:flex-start;overflow:auto}.search{width:100%}.safe{display:none}main{padding-top:18px}.hero.has-module-bg{aspect-ratio:750/520}.brand-hero.has-module-bg{aspect-ratio:750/260}.compliance.has-module-bg{aspect-ratio:750/520}.detail-top{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;padding:24px}.category-grid,.product-grid.four,.product-grid.three,.catalog-layout .product-grid.three{grid-template-columns:1fr}.catalog-layout{grid-template-columns:1fr}}

/* V8 footer centering and independent admin shell */
.footer{width:100%;display:block}
.footer-inner{margin-left:auto;margin-right:auto;text-align:left}
.footer-inner>div,.footer-inner dl{min-width:0}
.footer-inner dl{text-align:center}.footer-inner>div:first-child{text-align:left}
.admin-body{background:#f7fbfa}
.admin-body .admin-layout{max-width:none;width:100%;margin:0;grid-template-columns:280px minmax(0,1fr)}
.admin-body .admin-main{width:100%;max-width:none;padding-left:28px;padding-right:28px}
.admin-body .admin-top{width:auto}
.admin-body .media-layout{grid-template-columns:minmax(0,1fr) 360px}
.admin-body .product-editor-v2{max-width:none}
@media(max-width:900px){.footer-inner dl{text-align:left}.admin-body .admin-layout{grid-template-columns:1fr}.admin-body .admin-main{padding-left:18px;padding-right:18px}.admin-body .media-layout{grid-template-columns:1fr}}

/* V11 catalog filters, brand page and parameter grid */
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0 22px}
.catalog-toolbar .catalog-search{margin:0;width:min(520px,100%)}
.catalog-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.catalog-sort-form select,.view-switch a{height:44px;border:1px solid var(--line);border-radius:13px;background:#fff;color:#0b1720;font-weight:900;padding:0 18px;box-shadow:0 8px 22px rgba(18,54,62,.04)}
.catalog-sort-form select{appearance:auto;min-width:148px}
.view-switch{display:flex;gap:10px}.view-switch a{display:inline-flex;align-items:center;color:#007f76}.view-switch a.active{background:#e7f5f2;border-color:#9fd2cd}
.filter-brand-list{max-height:310px;overflow:auto;padding-right:4px}.filter-brand-list::-webkit-scrollbar{width:5px}.filter-brand-list::-webkit-scrollbar-thumb{background:#bdd8d5;border-radius:999px}
.price-filter{display:grid;gap:10px;margin:8px 0 16px}.price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.price-inputs input{width:100%;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px;text-align:center;color:#526a74;font-weight:800}.price-filter button{height:40px;border:1px solid var(--jade);border-radius:12px;background:#fff;color:var(--jade);font-weight:900}
.filters a.active{background:#e7f5f2;color:var(--jade);font-weight:950}
.product-list-view{display:grid;gap:14px}.product-list-view .product-card{display:grid;grid-template-columns:170px 1fr;min-height:170px}.product-list-view .product-img{height:100%;min-height:170px;border-bottom:0;border-right:1px solid var(--line-2)}.product-list-view .product-card h3{min-height:0;font-size:20px}.product-list-view .product-card footer{justify-content:flex-start;gap:22px}
.brand-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.brand-card{display:flex;flex-direction:column;gap:16px;padding:24px;min-height:260px}
.brand-card-head{display:flex;align-items:center;gap:18px}.brand-card-head .logo{margin:0;flex:0 0 auto}.brand-card .brand-logo-img,.brand-chip .brand-logo-img{background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#fff}
.brand-card h3{font-size:24px;line-height:1.2;margin:0}.brand-card b{display:block;margin-top:4px}
.brand-card p{margin:0;min-height:72px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.brand-meta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line-2);padding-top:12px;color:#657b84}.brand-meta strong{color:#0b1720}
.brand-product-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;min-height:52px}.brand-product-thumbs span{height:52px;border:1px solid var(--line);border-radius:8px;background:#fff center/contain no-repeat;overflow:hidden}.brand-product-thumbs span img{width:100%;height:100%;object-fit:contain;display:block}
.brand-link{height:40px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--jade);font-weight:900;margin-top:auto}
.brand-actions{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:auto}.brand-actions .brand-link{margin-top:0}.brand-filter-link{height:40px;padding:0 14px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#526a74;font-weight:900}
.param-table{display:none}
.param-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.param-item{display:grid;grid-template-columns:42% 58%;min-height:58px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.param-item:nth-child(2n){border-right:0}.param-item span,.param-item strong{display:flex;align-items:center;padding:13px 16px}.param-item span{background:#f2f7f6;color:#657b84;font-weight:900}.param-item strong{font-weight:800;color:#0b1720}
@media(max-width:1200px){.brand-grid{grid-template-columns:repeat(3,1fr)}.catalog-toolbar{align-items:stretch;flex-direction:column}.catalog-tools{justify-content:flex-end}.product-list-view .product-card{grid-template-columns:140px 1fr}}
@media(max-width:760px){.brand-grid{grid-template-columns:1fr}.param-grid{grid-template-columns:1fr}.param-item,.param-item:nth-child(2n){border-right:0}.product-list-view .product-card{grid-template-columns:1fr}.product-list-view .product-img{height:220px;border-right:0;border-bottom:1px solid var(--line-2)}.view-switch{width:100%}.view-switch a{flex:1;justify-content:center}}

/* V9 visual restoration against optimized-v4 drafts */
.hero.has-module-bg,
.brand-hero.has-module-bg,
.compliance.has-module-bg{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero.has-module-bg{
  min-height:388px;
  aspect-ratio:auto;
}
.hero.has-module-bg>div:first-child,
.hero.has-module-bg .hero-stage,
.brand-hero.has-module-bg>*,
.compliance.has-module-bg>*{
  visibility:visible;
  pointer-events:auto;
}
.hero.has-module-bg:before,
.category-card[style*="background-image"]:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.72) 38%,rgba(255,255,255,.08) 72%);
  pointer-events:none;
}
.hero.has-module-bg>div:first-child{
  position:relative;
  z-index:2;
}
.hero.has-module-bg .hero-stage{
  position:relative;
  z-index:1;
}
.hero-empty{
  background:rgba(255,255,255,.74);
}

.product-img{
  height:auto;
  aspect-ratio:1/1;
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
}
.catalog-layout .product-img{
  height:auto;
  aspect-ratio:1/1;
}
.product-card{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.product-card>div{
  flex:1;
  display:flex;
  flex-direction:column;
}
.product-card h3{
  min-height:0;
}
.product-card footer{
  margin-top:auto;
}

.category-card[style*="background-image"]{
  padding:30px;
  aspect-ratio:auto;
  min-height:235px;
  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
}
.category-card[style*="background-image"] h3,
.category-card[style*="background-image"] p,
.category-card[style*="background-image"] span{
  visibility:visible;
  position:relative;
  z-index:2;
}
.category-card[style*="background-image"] p{
  max-width:54%;
}

.catalog-categories{
  padding:26px;
  margin-bottom:22px;
}
.catalog-toolbar{
  display:grid;
  grid-template-columns:minmax(320px,520px) 1fr;
  align-items:center;
  gap:22px;
  margin:8px 0 18px;
}
.catalog-search{
  width:100%;
  justify-self:start;
}
.catalog-search button{
  color:#09222b;
  font-size:20px;
  line-height:1;
}
.catalog-tools{
  display:flex;
  justify-content:flex-end;
  gap:14px;
}
.catalog-tools button{
  min-height:46px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  color:#203842;
  padding:0 20px;
  font-weight:800;
}
.catalog-tools button.active{
  color:var(--jade);
}
.catalog-categories .category-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.catalog-layout{
  align-items:start;
}
.filters{
  padding:24px 22px;
}
.filters h2{
  font-size:24px;
}
.filters a{
  height:42px;
  border-radius:11px;
  font-size:15px;
}
.filter-search{
  width:100%;
  height:38px;
  border:1px solid var(--line);
  border-radius:10px;
  outline:0;
  padding:0 12px;
  color:var(--text);
}
.filter-range{
  position:relative;
  height:6px;
  border-radius:999px;
  background:#cfe9e5;
  margin:4px 4px 10px;
}
.filter-range i{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:linear-gradient(90deg,#0aa095,#1bbbac);
}
.filter-range:before,
.filter-range:after{
  content:"";
  position:absolute;
  top:50%;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--jade);
  transform:translateY(-50%);
}
.filter-range:before{left:0}
.filter-range:after{right:0}
.filter-prices{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.filter-prices span{
  min-height:36px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:#506a74;
  display:grid;
  place-items:center;
}
.filters .filters-reset{
  width:100%;
  margin-top:18px;
  color:var(--jade);
}
.catalog-layout .product-grid.three{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.catalog-layout .product-card h3{
  font-size:16px;
  line-height:1.28;
}
.catalog-layout .product-card>div{
  padding:14px 16px 16px;
}
.catalog-layout .product-card footer a{
  min-height:34px;
}

.admin-body .media-layout{
  grid-template-columns:minmax(0,1fr) 320px;
}
.media-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.media-preview{
  aspect-ratio:1/1;
}
.media-card b{
  font-size:13px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.media-card small{
  font-size:12px;
}
.media-detail img{
  max-height:280px;
}

.spec-buttons button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;white-space:nowrap;text-align:center}
.spec-buttons button i{display:none}
.spec-color-field{height:52px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;gap:10px;padding:0 12px}
.spec-color-field input{border:0!important;height:auto!important;padding:0!important;min-width:0;background:transparent!important}
.spec-color-dot{width:22px;height:22px;border-radius:999px;border:1px solid #a7c9c5;box-shadow:inset 0 1px 2px rgba(255,255,255,.75);flex:0 0 auto}
.preview-specs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 4px}
.preview-specs span{border-radius:999px;background:#def4ef;color:var(--jade);font-size:13px;font-weight:900;padding:6px 10px}

/* V14 brand detail page */
.brand-detail-hero{min-height:310px;border:1px solid var(--line);border-radius:18px;padding:44px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:34px;align-items:center;background:linear-gradient(100deg,#fff 0,#f7fcfb 56%,#eef8f6 100%);box-shadow:var(--shadow);overflow:hidden}
.brand-detail-main{display:grid;grid-template-columns:128px minmax(0,1fr);gap:28px;align-items:center;max-width:980px}
.brand-detail-logo{width:128px;height:128px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#8fd3c6,#008f86);color:#fff;font-size:58px;font-weight:950;box-shadow:0 20px 40px rgba(0,143,132,.16);background-size:contain;background-position:center;background-repeat:no-repeat}
.brand-detail-main h1{font-size:54px;line-height:1;margin:12px 0 8px}.brand-detail-main b{display:block;color:#526a74;font-size:20px;margin-bottom:14px}.brand-detail-main p{max-width:660px;color:#405b65;font-size:18px;line-height:1.75;margin:0}
.brand-detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.brand-detail-actions a{height:44px;border-radius:13px;padding:0 22px;display:inline-flex;align-items:center;font-weight:950}.brand-detail-actions .primary{background:linear-gradient(135deg,#20bdb3,#008f86);color:#fff;box-shadow:0 14px 28px rgba(0,143,132,.2)}.brand-detail-actions .secondary{border:1px solid var(--line);color:var(--jade);background:#fff}
.brand-detail-stats{display:none}
.brand-summary-card{position:relative;min-height:230px;border:1px solid rgba(187,218,214,.9);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 20px 50px rgba(18,54,62,.08);padding:24px;overflow:hidden}
.brand-summary-card h2{position:relative;z-index:2;margin:0 0 18px;font-size:24px;color:#071923}
.brand-summary-card dl{position:relative;z-index:2;display:grid;gap:10px;margin:0}
.brand-summary-card dl div{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;border-bottom:1px solid rgba(205,226,223,.86)}
.brand-summary-card dl div:last-child{border-bottom:0}
.brand-summary-card dt{color:#657b84;font-weight:900}
.brand-summary-card dd{margin:0;text-align:right;color:#071923;font-weight:950}
.brand-summary-watermark{position:absolute;right:-18px;bottom:-22px;width:154px;height:154px;opacity:.12;filter:saturate(.8)}
.brand-summary-logo{width:154px;height:154px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(135deg,#8fd3c6,#008f86);color:#fff;font-size:68px;font-weight:950;background-size:contain;background-position:center;background-repeat:no-repeat}
.brand-feature-panel{margin:24px 0;border:1px solid var(--line);border-radius:18px;background:#fff;padding:24px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:center;box-shadow:var(--soft-shadow)}.brand-feature-panel h2{font-size:28px;margin:0 0 8px}.brand-feature-panel p{margin:0;color:#607780}
.brand-feature-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.brand-feature-thumbs a{height:124px;border:1px solid var(--line);border-radius:12px;background:#fff center/contain no-repeat;position:relative;overflow:hidden}.brand-feature-thumbs span{position:absolute;left:0;right:0;bottom:0;padding:8px 10px;background:rgba(255,255,255,.9);font-size:13px;font-weight:900;color:#12323c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-product-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-6px 0 22px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--soft-shadow)}
.brand-product-filter a{height:40px;border:1px solid var(--line);border-radius:12px;padding:0 18px;display:inline-flex;align-items:center;color:#526a74;font-weight:900;background:#fff}
.brand-product-filter a.active{border-color:#8bd1ca;background:#def4ef;color:var(--jade)}
.empty-state{border:1px solid var(--line);border-radius:16px;background:#fff;padding:46px;text-align:center;color:#607780;box-shadow:var(--soft-shadow)}

/* V13 page hero alignment: uploaded images are visual backdrops, HTML owns text and icons */
.brand-hero.has-module-bg{
  min-height:auto;
  aspect-ratio:1500/286;
  padding:54px 84px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  background-position:center right;
}
.brand-hero.has-module-bg>*{
  visibility:visible;
  pointer-events:auto;
  position:relative;
  z-index:2;
}
.brand-hero.has-module-bg:before,
.brand-hero.has-module-bg:after{
  display:none;
}
.brand-hero.has-module-bg h1{
  margin:0 0 12px;
  font-size:54px;
  line-height:1;
  letter-spacing:0;
}
.brand-hero.has-module-bg p{
  margin:0;
  font-size:25px;
  color:#203b45;
}
.brand-hero.has-module-bg p:after{
  content:"";
  display:block;
  width:86px;
  height:5px;
  border-radius:999px;
  margin-top:42px;
  background:linear-gradient(90deg,#19c2b4,#007f76);
}

.compliance.has-module-bg{
  min-height:auto;
  aspect-ratio:1500/600;
  padding:70px 72px 62px;
  background-position:center right;
  display:grid;
  grid-template-rows:auto auto 1fr auto;
}
.compliance.has-module-bg>*{
  visibility:visible;
  pointer-events:auto;
  position:relative;
  z-index:2;
}
.compliance.has-module-bg:before{
  display:none;
}
.compliance.has-module-bg h1{
  margin:0 0 18px;
  font-size:70px;
  line-height:1;
  letter-spacing:0;
}
.compliance.has-module-bg>p{
  max-width:760px;
  margin:0;
  color:#18323d;
  font-size:25px;
  line-height:1.55;
}
.compliance.has-module-bg>p:after{
  content:"";
  display:block;
  width:86px;
  height:5px;
  border-radius:999px;
  margin-top:34px;
  background:linear-gradient(90deg,#19c2b4,#007f76);
}
.compliance.has-module-bg .info-cards{
  align-self:end;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  margin:0 0 24px;
}
.compliance.has-module-bg .info-cards article{
  min-height:136px;
  display:grid;
  grid-template-columns:96px 1fr;
  align-items:center;
  gap:20px;
  padding:26px 30px;
  border-radius:18px;
  border:1px solid rgba(176,211,207,.9);
  background:rgba(255,255,255,.86);
  box-shadow:0 20px 45px rgba(18,54,62,.08);
}
.info-icon{
  width:74px;
  height:74px;
  border-radius:999px;
  border:1px solid #b7ddd8;
  background:rgba(239,249,247,.86);
  position:relative;
  display:inline-block;
}
.info-icon:before,.info-icon:after{
  content:"";
  position:absolute;
  box-sizing:border-box;
}
.age-icon:before{
  width:24px;
  height:24px;
  border:4px solid #007f76;
  border-radius:999px;
  left:24px;
  top:14px;
}
.age-icon:after{
  width:38px;
  height:24px;
  border:4px solid #007f76;
  border-top:0;
  border-radius:0 0 22px 22px;
  left:18px;
  top:42px;
}
.document-icon:before{
  width:34px;
  height:42px;
  border:4px solid #007f76;
  border-radius:5px;
  left:20px;
  top:16px;
}
.document-icon:after{
  width:24px;
  height:4px;
  background:#007f76;
  box-shadow:0 10px 0 #007f76,0 20px 0 #007f76;
  left:25px;
  top:27px;
}
.shield-icon:before{
  width:38px;
  height:44px;
  border:4px solid #007f76;
  border-radius:18px 18px 22px 22px;
  transform:rotate(45deg);
  left:18px;
  top:14px;
}
.shield-icon:after{
  width:23px;
  height:13px;
  border-left:4px solid #007f76;
  border-bottom:4px solid #007f76;
  transform:rotate(-45deg);
  left:27px;
  top:31px;
}
.compliance.has-module-bg .info-cards h3{
  margin:0 0 8px;
  color:#071923;
  font-size:26px;
  line-height:1.15;
}
.compliance.has-module-bg .info-cards p{
  margin:0;
  color:#405b65;
  font-size:17px;
  line-height:1.55;
}
.compliance-statement{
  min-height:78px;
  display:grid;
  grid-template-columns:64px 150px 1fr;
  align-items:center;
  gap:18px;
  padding:14px 34px;
  border-radius:16px;
  border:1px solid rgba(176,211,207,.9);
  background:rgba(255,255,255,.86);
}
.compliance-statement .info-icon{
  width:50px;
  height:50px;
}
.compliance-statement .shield-icon:before{
  width:26px;
  height:30px;
  border-width:3px;
  left:12px;
  top:9px;
}
.compliance-statement .shield-icon:after{
  width:16px;
  height:9px;
  border-left-width:3px;
  border-bottom-width:3px;
  left:18px;
  top:20px;
}
.compliance-statement strong{
  color:#007f76;
  font-size:24px;
}
.compliance-statement p{
  margin:0;
  color:#324d58;
  font-size:18px;
}

@media(max-width:900px){
  .brand-hero.has-module-bg{aspect-ratio:auto;min-height:230px;padding:36px 28px;background-position:center right}
  .brand-hero.has-module-bg h1{font-size:40px}
  .brand-hero.has-module-bg p{font-size:20px}
  .brand-detail-hero{grid-template-columns:1fr;padding:28px}.brand-detail-main{grid-template-columns:1fr}.brand-detail-logo{width:96px;height:96px;font-size:42px}.brand-detail-main h1{font-size:38px}.brand-summary-card{min-height:auto}.brand-product-filter a{flex:1;justify-content:center}
  .compliance.has-module-bg{aspect-ratio:auto;min-height:760px;padding:38px 26px}
  .compliance.has-module-bg h1{font-size:46px}
  .compliance.has-module-bg>p{font-size:20px}
  .compliance.has-module-bg .info-cards{grid-template-columns:1fr;margin-top:36px}
  .compliance-statement{grid-template-columns:52px 1fr;gap:12px}
  .compliance-statement p{grid-column:1 / -1}
}

/* V48: move catalog badges out of image artwork */
.product-card.has-card-badge::before{
  content:"";
  position:absolute;
  z-index:4;
  top:0;
  left:0;
  right:0;
  height:3px;
  pointer-events:none;
}
.product-card.badge-new::before{background:#20b5a7}
.product-card.badge-hot::before{background:#ff6b57}
.product-card p .product-card-badge,
.preview-card-badges .product-card-badge{
  position:static;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  box-shadow:none;
  font-size:11px;
  line-height:1;
}
.product-card p .product-card-badge.is-new,
.preview-card-badges .product-card-badge.is-new{
  border-color:rgba(0,127,118,.18);
  background:#dff4ef;
  color:#007f76;
}
.product-card p .product-card-badge.is-hot,
.preview-card-badges .product-card-badge.is-hot{
  border-color:#ffb7a5;
  background:#ff6b57;
  color:#fff;
}
.preview-card-badges{display:flex;gap:7px;margin:8px 0}
@media(max-width:760px){
  .home-products-grid>.product-card:nth-child(n+13){display:none}
}

@media(max-width:1500px){
  .catalog-layout .product-grid.three{grid-template-columns:repeat(4,minmax(0,1fr))}
  .media-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:1200px){
  .catalog-toolbar{grid-template-columns:1fr}
  .catalog-tools{justify-content:flex-start}
  .catalog-layout .product-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .media-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
  .hero.has-module-bg{min-height:360px;aspect-ratio:auto}
  .hero.has-module-bg:before{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.58))}
  .category-card[style*="background-image"] p{max-width:none}
  .catalog-categories .category-grid,
  .catalog-layout .product-grid.three,
  .media-grid{grid-template-columns:1fr}
}

/* V17 hero icons, compliance expansion and QR footer */
.feature-row{max-width:760px;gap:18px}
.feature-chip{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:10px;row-gap:4px;align-items:start;color:#23454d}
.feature-chip strong{display:block;font-size:16px;line-height:1.15;font-weight:950}
.feature-chip small{display:block;color:#6b8089;font-weight:700;font-size:12px;line-height:1.4}
.feature-icon{grid-row:1 / span 2;position:relative;width:30px;height:30px;border:2px solid var(--jade);border-radius:9px;background:rgba(255,255,255,.72);box-shadow:0 8px 18px rgba(0,143,132,.08)}
.feature-icon:after{content:"";position:absolute;left:9px;top:9px;width:10px;height:10px;border-radius:50%;background:var(--jade)}

.compliance.has-module-bg{
  min-height:980px;
  aspect-ratio:auto;
  grid-template-rows:auto auto auto auto auto;
}
.compliance-lower{
  display:grid;
  grid-template-columns:1.05fr 1.25fr;
  gap:24px;
  margin:0 0 24px;
}
.compliance-panel{
  min-height:222px;
  border-radius:18px;
  border:1px solid rgba(176,211,207,.9);
  background:rgba(255,255,255,.88);
  box-shadow:0 20px 45px rgba(18,54,62,.08);
  padding:28px 30px;
}
.compliance-panel h3{
  margin:0 0 18px;
  font-size:28px;
  color:#071923;
}
.compliance-contact-body{
  display:grid;
  grid-template-columns:158px 1fr;
  gap:22px;
  align-items:center;
}
.compliance-qr{
  width:158px;
  height:158px;
  border-radius:18px;
  border:1px dashed #b8dbd7;
  background:#f7fbfa;
  display:grid;
  place-items:center;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  color:#6d8790;
  font-size:14px;
  font-weight:800;
  text-align:center;
  line-height:1.5;
  padding:14px;
}
.compliance-qr.has-image{
  border-style:solid;
  border-color:#dce9e8;
  background-color:#fff;
  color:transparent;
}
.compliance-contact-meta{
  display:grid;
  gap:12px;
}
.compliance-contact-meta p{
  margin:0;
  color:#38515c;
  font-size:17px;
  line-height:1.6;
}
.compliance-company dl{
  display:grid;
  gap:10px;
  margin:0;
}
.compliance-company dl div{
  display:grid;
  grid-template-columns:132px 1fr;
  gap:16px;
  min-height:42px;
  align-items:center;
  border-bottom:1px solid rgba(220,233,232,.95);
}
.compliance-company dl div:last-child{border-bottom:0}
.compliance-company dt{color:#607780;font-weight:900}
.compliance-company dd{margin:0;color:#0d1b22;font-weight:800}

.footer-inner{
  grid-template-columns:1.5fr .9fr 1fr;
  align-items:start;
  gap:30px;
  padding:30px 40px;
}
.footer-brand p{max-width:560px;line-height:1.8}
.footer-contact dd:first-of-type{display:flex;justify-content:center}
.footer-qr{
  width:132px;
  height:132px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  display:grid;
  place-items:center;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  color:#dcebea;
  font-size:13px;
  font-weight:800;
  line-height:1.5;
  text-align:center;
  padding:12px;
}
.footer-qr.has-image{
  background-color:#fff;
  border-color:rgba(255,255,255,.25);
  color:transparent;
}

@media(max-width:900px){
  .feature-row{grid-template-columns:1fr 1fr}
  .compliance-lower{grid-template-columns:1fr}
  .compliance-contact-body{grid-template-columns:1fr}
  .compliance-qr{width:148px;height:148px}
  .compliance-company dl div{grid-template-columns:1fr}
}

@media(max-width:640px){
  .feature-row{grid-template-columns:1fr}
}

/* V18 text cleanup and tighter layout alignment */
.hero.has-module-bg>div:first-child{
  max-width:720px;
}
.feature-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(126px,1fr));
  gap:22px;
  max-width:760px;
  margin:28px 0 8px;
}
.feature-row .feature-chip{
  position:relative;
  padding-left:0;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:12px;
  row-gap:4px;
  align-items:start;
  color:#23454d;
  line-height:1.25;
}
.feature-row .feature-chip:before,
.feature-row .feature-chip:after{
  display:none!important;
  content:none!important;
}
.feature-row .feature-chip strong{
  display:block;
  font-size:16px;
  line-height:1.15;
  font-weight:950;
  white-space:nowrap;
}
.feature-row .feature-chip small{
  display:block;
  margin:0;
  color:#607780;
  font-size:13px;
  line-height:1.35;
  font-weight:800;
}
.feature-icon{
  grid-row:1 / span 2;
  width:34px;
  height:34px;
  border:3px solid var(--jade);
  border-radius:10px;
  background:rgba(255,255,255,.82);
  box-shadow:0 10px 22px rgba(0,143,132,.08);
}
.feature-icon:after{
  left:10px;
  top:10px;
  width:10px;
  height:10px;
}

.compliance.has-module-bg{
  min-height:900px;
  padding:68px 72px 54px;
}
.compliance.has-module-bg .info-cards{
  margin:0 0 22px;
}
.compliance-lower{
  grid-template-columns:.82fr 1.18fr;
  gap:24px;
  margin-bottom:22px;
}
.compliance-panel{
  min-height:196px;
  padding:26px 30px;
}
.compliance-panel h3{
  font-size:26px;
}
.compliance-contact-body{
  grid-template-columns:146px 1fr;
  gap:22px;
}
.compliance-qr{
  width:146px;
  height:146px;
}
.compliance-contact-meta strong{
  display:block;
  color:#0d1b22;
  font-size:20px;
  margin-bottom:8px;
}
.compliance-company dl{
  gap:0;
}
.site-about-text{
  margin:16px 0 0;
  color:#405b65;
  font-size:16px;
  line-height:1.75;
}

.footer{
  margin:26px 0 32px;
}
.footer-inner{
  min-height:0;
  grid-template-columns:1.8fr .7fr .9fr;
  align-items:center;
  gap:22px;
  padding:22px 34px;
  border-radius:16px;
}
.footer-inner b,
.footer-inner dt{
  font-size:17px;
}
.footer-brand p{
  max-width:620px;
  margin:10px 0 0;
  line-height:1.65;
}
.footer-inner dd{
  margin:5px 0 0;
  line-height:1.45;
}
.footer-contact dd:first-of-type{
  margin-top:8px;
}
.footer-qr{
  width:92px;
  height:92px;
  border-radius:14px;
  font-size:12px;
  padding:8px;
}
.footer-company{
  text-align:center;
}

@media(max-width:980px){
  .feature-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compliance-lower{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr;text-align:left}
  .footer-inner dl,.footer-company{text-align:left}
  .footer-contact dd:first-of-type{justify-content:flex-start}
}
/* V19 compliance spacing and admin login stability */
.compliance.has-module-bg{
  aspect-ratio:1500/690;
  padding:76px 72px 54px;
  grid-template-rows:auto auto 150px auto auto auto;
}
.compliance.has-module-bg .info-cards{
  align-self:start;
  margin:0 0 22px;
}
.compliance-lower{
  margin-top:0;
}
.compliance-statement{
  margin-top:22px;
}
.login-page{
  min-height:100vh;
}
.login-page .brand-mark{
  margin:0 auto;
}
@media(max-width:1100px){
  .compliance.has-module-bg{
    aspect-ratio:auto;
    min-height:980px;
    grid-template-rows:auto auto 80px auto auto auto;
  }
}

/* V27: site warning, product tags, brand-detail tag filters */
.site-warning{
  width:100%;
  min-height:36px;
  padding:8px 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#7a4328;
  background:linear-gradient(90deg,#fff7ed,#fffdf8 48%,#eef9f7);
  border-bottom:1px solid #f0dccb;
  font-size:14px;
  font-weight:800;
  line-height:1.45;
}
.site-warning:before{
  content:"!";
  width:18px;
  height:18px;
  margin-right:8px;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  color:#fff;
  background:#ff744f;
  font-size:12px;
  font-weight:950;
}
.preview-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:10px 0;
}
.preview-tags span{
  padding:4px 8px;
  border-radius:999px;
  color:var(--jade);
  background:#dff4ef;
  font-size:12px;
  font-weight:900;
}
.brand-product-filter.tag-filter{
  justify-content:flex-start;
  overflow-x:auto;
  scrollbar-width:thin;
}
.brand-product-filter.tag-filter a{
  flex:0 0 auto;
}
.brand-summary-card dd{
  word-break:break-word;
}
@media(max-width:900px){
  .site-warning{
    padding:8px 16px;
    font-size:12px;
  }
}
@media(max-width:760px){
  .compliance.has-module-bg{
    min-height:0;
    padding:34px 22px;
    grid-template-rows:auto;
  }
  .compliance.has-module-bg .info-cards{
    margin-top:34px;
  }
}

/* V20 mobile responsive overhaul */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}
img,
video,
iframe{
  max-width:100%;
}
@media(max-width:900px){
  :root{
    --site-gutter:16px;
  }
  body{
    background:linear-gradient(180deg,#fbfdfd 0,#f4faf8 100%);
  }
  main{
    width:min(var(--site-width),calc(100vw - var(--site-gutter) * 2));
    padding:16px 0 26px;
  }
  .topbar{
    position:sticky;
    top:0;
    height:auto;
    padding:0;
  }
  .topbar-inner{
    width:calc(100vw - var(--site-gutter) * 2);
    min-height:76px;
    padding:12px 0 10px;
    gap:10px 14px;
    flex-wrap:wrap;
  }
  .brand{
    min-width:0;
    flex:1 1 auto;
    gap:10px;
  }
  .brand-mark{
    width:44px;
    height:44px;
    border-radius:11px;
  }
  .brand-mark:before{
    width:23px;
    height:25px;
    left:10px;
    top:11px;
    border-width:3px;
  }
  .brand-mark:after{
    width:8px;
    height:8px;
    right:10px;
    top:13px;
  }
  .brand strong{
    font-size:21px;
    line-height:1;
  }
  .brand small{
    font-size:10px;
    margin-top:4px;
  }
  .topbar nav{
    order:3;
    width:100%;
    display:flex;
    gap:8px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    padding:4px 0 2px;
    scrollbar-width:none;
  }
  .topbar nav::-webkit-scrollbar{
    display:none;
  }
  .topbar nav a{
    height:38px;
    flex:0 0 auto;
    padding:0 13px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    font-size:14px;
  }
  .topbar nav a.active,
  .topbar nav a:hover{
    border-color:var(--jade);
    background:#e7f7f4;
  }
  .search{
    order:2;
    width:100%;
    height:42px;
    border-radius:14px;
  }
  .safe{
    display:none!important;
  }
  .crumb{
    overflow-x:auto;
    white-space:nowrap;
    padding-bottom:2px;
    font-size:13px;
  }
  .section-head{
    margin:22px 0 12px;
    gap:12px;
  }
  .section-head h2,
  .list-head h2{
    font-size:22px;
  }
  .hero,
  .hero.has-module-bg{
    min-height:0;
    aspect-ratio:auto;
    border-radius:16px;
    background-position:center right;
  }
  .hero.has-module-bg>div:first-child,
  .hero.has-module-bg .hero-stage{
    visibility:visible;
    pointer-events:auto;
  }
  .hero.has-module-bg:before{
    background:linear-gradient(90deg,rgba(255,255,255,.94) 0,rgba(255,255,255,.84) 48%,rgba(255,255,255,.18) 100%);
  }
  .hero>div:first-child,
  .hero.has-module-bg>div:first-child{
    max-width:100%;
    padding:34px 22px 30px;
  }
  .hero h1{
    max-width:70%;
    font-size:30px;
    line-height:1.12;
  }
  .hero p{
    max-width:68%;
    font-size:17px;
    line-height:1.55;
  }
  .feature-row{
    max-width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:18px 0 0;
  }
  .feature-row .feature-chip{
    min-height:54px;
    grid-template-columns:28px minmax(0,1fr);
    column-gap:8px;
    padding:8px;
    border-radius:12px;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(190,220,218,.88);
  }
  .feature-icon{
    width:26px;
    height:26px;
    border-radius:8px;
    border-width:2px;
  }
  .feature-row .feature-chip strong{
    font-size:13px;
    white-space:normal;
  }
  .feature-row .feature-chip small{
    font-size:11px;
    line-height:1.25;
  }
  .hero-actions{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    margin-top:18px;
  }
  .hero-actions a{
    width:min(220px,100%);
  }
  .product-grid,
  .product-grid.four,
  .product-grid.three,
  .catalog-layout .product-grid.three,
  .category-grid,
  .brand-strip,
  .brand-grid{
    grid-template-columns:1fr!important;
    gap:14px;
  }
  .product-card{
    border-radius:14px;
  }
  .product-img,
  .catalog-layout .product-img{
    height:auto!important;
    aspect-ratio:1/1;
    background-size:contain;
    background-color:#fff;
  }
  .product-card>div,
  .catalog-layout .product-card>div{
    padding:14px 15px 16px;
  }
  .product-card h3,
  .catalog-layout .product-card h3{
    min-height:0;
    font-size:17px;
  }
  .product-card footer{
    gap:12px;
  }
  .product-card footer a{
    white-space:nowrap;
  }
  .category-card{
    min-height:170px;
    padding:22px;
    border-radius:14px;
    background-position:center right;
  }
  .category-card h3{
    font-size:24px;
  }
  .category-card p{
    max-width:58%;
    font-size:15px;
  }
  .catalog-toolbar{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  .catalog-search{
    width:100%;
  }
  .catalog-tools{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .catalog-sort-form,
  .catalog-sort-form select,
  .view-switch{
    width:100%;
  }
  .view-switch{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .view-switch a{
    justify-content:center;
    text-align:center;
    min-width:0;
    padding:0 8px;
  }
  .catalog-categories{
    padding:18px;
    border-radius:16px;
  }
  .catalog-layout{
    grid-template-columns:1fr!important;
    gap:16px;
  }
  .filters{
    position:static;
    padding:18px;
    border-radius:16px;
    max-height:none;
  }
  .filters h2{
    margin-bottom:12px;
    font-size:24px;
  }
  .filters b{
    margin:18px 0 10px;
  }
  .filters a{
    height:42px;
    font-size:15px;
  }
  .price-inputs{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .price-filter button,
  .filters-reset{
    width:100%;
  }
  .product-list-view{
    gap:14px;
  }
  .product-list-view .product-card{
    grid-template-columns:1fr!important;
  }
  .product-list-view .product-img{
    min-height:0;
    border-right:0;
    border-bottom:1px solid var(--line-2);
  }
  .detail-top{
    grid-template-columns:1fr!important;
    gap:16px;
  }
  .gallery,
  .detail-info,
  .description{
    padding:16px;
    border-radius:16px;
  }
  .detail-image{
    width:100%;
    height:auto!important;
    aspect-ratio:1/1;
    max-height:none;
    background-size:contain;
  }
  .thumbs{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
  }
  .thumbs button{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1;
  }
  .detail-info h1{
    font-size:28px;
    line-height:1.15;
  }
  .detail-info>p{
    font-size:15px;
  }
  .price{
    align-items:center;
    padding:14px 16px;
  }
  .price strong{
    font-size:32px;
  }
  .spec-buttons{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .spec-buttons button{
    width:100%;
    min-width:0;
    height:44px;
    padding:0 10px;
    font-size:15px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .param-grid{
    grid-template-columns:1fr;
  }
  .param-item,
  .param-item:nth-child(2n){
    border-right:0;
  }
  .description article{
    font-size:15px;
    line-height:1.8;
    overflow-wrap:anywhere;
  }
  .brand-hero,
  .brand-hero.has-module-bg{
    min-height:190px;
    aspect-ratio:auto;
    padding:28px 22px;
    border-radius:16px;
    background-position:center right;
  }
  .brand-hero.has-module-bg>*{
    visibility:visible;
  }
  .brand-hero h1,
  .brand-hero.has-module-bg h1{
    font-size:34px;
  }
  .brand-toolbar{
    padding:14px;
    border-radius:16px;
  }
  .brand-tabs,
  .letters{
    overflow-x:auto;
    white-space:nowrap;
    padding-bottom:4px;
  }
  .brand-detail-hero{
    grid-template-columns:1fr!important;
    padding:22px;
    min-height:0;
    border-radius:16px;
  }
  .brand-detail-main{
    grid-template-columns:80px minmax(0,1fr)!important;
    gap:16px;
  }
  .brand-detail-logo{
    width:80px!important;
    height:80px!important;
    font-size:32px!important;
  }
  .brand-detail-main h1{
    font-size:36px;
  }
  .brand-detail-main p{
    grid-column:1 / -1;
    font-size:15px;
  }
  .brand-summary-card{
    min-height:0;
  }
  .brand-product-filter{
    display:flex;
    overflow-x:auto;
    gap:8px;
    padding-bottom:4px;
  }
  .brand-product-filter a{
    flex:0 0 auto!important;
    min-width:112px;
  }
  .compliance,
  .compliance.has-module-bg{
    aspect-ratio:auto;
    min-height:0;
    padding:30px 18px;
    border-radius:16px;
    background-position:center top;
    grid-template-rows:auto;
  }
  .compliance.has-module-bg h1,
  .compliance h1{
    font-size:42px;
    line-height:1.05;
  }
  .compliance.has-module-bg>p,
  .compliance>p{
    max-width:100%;
    font-size:17px;
  }
  .compliance.has-module-bg .info-cards,
  .info-cards{
    grid-template-columns:1fr;
    gap:12px;
    margin-top:260px;
  }
  .compliance.has-module-bg .info-cards article{
    grid-template-columns:58px 1fr;
    min-height:0;
    padding:16px;
    gap:12px;
  }
  .info-icon{
    width:50px;
    height:50px;
  }
  .compliance.has-module-bg .info-cards h3{
    font-size:20px;
  }
  .compliance-lower{
    grid-template-columns:1fr;
    gap:12px;
  }
  .compliance-panel{
    padding:18px;
  }
  .compliance-contact-body{
    grid-template-columns:1fr;
  }
  .compliance-statement{
    grid-template-columns:48px 1fr;
    padding:14px 16px;
  }
  .compliance-statement p{
    grid-column:1 / -1;
  }
  .footer{
    margin:24px 0 28px;
  }
  .footer-inner{
    width:calc(100vw - var(--site-gutter) * 2);
    grid-template-columns:1fr;
    gap:18px;
    padding:22px;
    border-radius:16px;
  }
  .footer-inner dl,
  .footer-company{
    text-align:left;
  }
  .footer-contact dd:first-of-type{
    justify-content:flex-start;
  }
}
@media(max-width:640px){
  :root{
    --site-gutter:12px;
  }
  .hero h1{
    max-width:100%;
    font-size:28px;
  }
  .hero p{
    max-width:100%;
  }
  .hero.has-module-bg:before{
    background:linear-gradient(180deg,rgba(255,255,255,.96) 0,rgba(255,255,255,.78) 62%,rgba(255,255,255,.08) 100%);
  }
  .feature-row{
    grid-template-columns:1fr;
  }
  .category-card p{
    max-width:100%;
  }
  .thumbs{
    grid-template-columns:repeat(3,1fr);
  }
  .catalog-categories .category-grid{
    grid-template-columns:1fr!important;
  }
  .brand-detail-main{
    grid-template-columns:1fr!important;
  }
  .compliance.has-module-bg .info-cards,
  .info-cards{
    margin-top:180px;
  }
}
@media(max-width:420px){
  .brand strong{
    font-size:19px;
  }
  .topbar nav a{
    height:36px;
    padding:0 11px;
    font-size:13px;
  }
  .product-card footer{
    align-items:flex-start;
    flex-direction:column;
  }
  .product-card footer a{
    width:100%;
  }
  .catalog-tools{
    gap:8px;
  }
  .price-inputs{
    grid-template-columns:1fr;
  }
  .detail-info h1{
    font-size:25px;
  }
  .price{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
  .compliance.has-module-bg .info-cards,
  .info-cards{
    margin-top:120px;
  }
}

/* V21 refined mobile layout: folded nav, compact hero, 2-up products, 3-up brands */
.nav-toggle,
.nav-toggle-label{
  display:none;
}
@media(max-width:900px){
  .topbar{
    overflow:visible;
  }
  .topbar-inner{
    position:relative;
    min-height:64px;
    align-items:center;
  }
  .nav-toggle{
    position:absolute;
    inline-size:1px;
    block-size:1px;
    opacity:0;
    pointer-events:none;
  }
  .nav-toggle-label{
    width:42px;
    height:42px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    box-shadow:0 10px 24px rgba(20,54,62,.08);
  }
  .nav-toggle-label span{
    width:20px;
    height:2px;
    border-radius:999px;
    background:#0d1b22;
    transition:transform .18s ease,opacity .18s ease;
  }
  .nav-toggle:checked + .nav-toggle-label span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  .nav-toggle:checked + .nav-toggle-label span:nth-child(2){
    opacity:0;
  }
  .nav-toggle:checked + .nav-toggle-label span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
  .topbar nav{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:calc(100% + 10px);
    width:100%;
    padding:10px;
    border:1px solid var(--line);
    border-radius:16px;
    background:rgba(255,255,255,.98);
    box-shadow:0 24px 60px rgba(12,42,49,.14);
    backdrop-filter:blur(16px);
    overflow:visible;
    z-index:80;
  }
  .nav-toggle:checked ~ nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .topbar nav a{
    width:100%;
    height:42px;
    justify-content:center;
    border-radius:12px;
  }
  .topbar .search{
    display:none;
    order:4;
    margin-top:8px;
  }
  .nav-toggle:checked ~ .search{
    display:flex;
  }
  .brand{
    flex:1 1 0;
  }
  .brand strong{
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .hero,
  .hero.has-module-bg{
    min-height:0;
    height:auto;
    border-radius:14px;
  }
  .hero.has-module-bg{
    height:clamp(178px,42vw,260px);
    aspect-ratio:auto;
    background-position:center;
  }
  .hero.has-module-bg>div:first-child,
  .hero.has-module-bg .hero-stage{
    visibility:hidden;
    pointer-events:none;
  }
  .hero:not(.has-module-bg)>div:first-child{
    padding:28px 20px;
  }
  .hero:not(.has-module-bg) h1{
    max-width:100%;
    font-size:28px;
  }
  .hero:not(.has-module-bg) p{
    max-width:100%;
    font-size:16px;
  }
  .feature-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .product-grid,
  .product-grid.four,
  .product-grid.three,
  .catalog-layout .product-grid.three{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px;
  }
  .product-card{
    border-radius:12px;
  }
  .product-img,
  .catalog-layout .product-img{
    aspect-ratio:1/1;
    min-height:0;
  }
  .product-card>div,
  .catalog-layout .product-card>div{
    padding:10px 10px 12px;
  }
  .product-card h3,
  .catalog-layout .product-card h3{
    font-size:14px;
    line-height:1.25;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .product-card p{
    gap:5px;
    margin-bottom:8px;
  }
  .product-card p span,
  .pill{
    font-size:11px;
    padding:4px 7px;
  }
  .product-card small{
    font-size:11px;
  }
  .product-card strong,
  .catalog-layout .product-card strong{
    font-size:22px;
  }
  .product-card footer{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
  .product-card footer a{
    width:100%;
    min-height:34px;
    padding:0 10px;
    font-size:12px;
  }
  .catalog-categories .category-grid,
  .category-grid{
    grid-template-columns:1fr!important;
  }
  .catalog-layout{
    grid-template-columns:1fr!important;
  }
  .filters{
    display:none!important;
  }
  .catalog-toolbar{
    gap:10px;
  }
  .catalog-tools{
    grid-template-columns:1fr 1fr;
    align-items:center;
  }
  .view-switch{
    grid-template-columns:1fr;
  }
  .brand-strip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px;
  }
  .brand-chip{
    min-height:108px;
    padding:12px 8px;
    border-radius:12px;
  }
  .chip-logo,
  .brand-chip .logo{
    width:44px;
    height:44px;
    border-radius:11px;
    font-size:22px;
  }
  .brand-chip b{
    max-width:100%;
    margin:8px 0 3px;
    font-size:13px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .brand-chip span{
    max-width:100%;
    font-size:11px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .brand-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px;
  }
  .brand-card{
    min-height:0;
    padding:12px;
    gap:8px;
  }
  .brand-card-head{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .brand-card .logo,
  .brand-card-head .logo{
    width:46px;
    height:46px;
    border-radius:11px;
    font-size:22px;
  }
  .brand-card h3{
    font-size:14px;
  }
  .brand-card b,
  .brand-card p,
  .brand-meta,
  .brand-product-thumbs{
    display:none;
  }
  .brand-actions{
    margin-top:auto;
  }
  .brand-link{
    width:100%;
    min-height:32px;
    font-size:12px;
  }
  .brand-filter-link{
    display:none;
  }
  .brand-hero.has-module-bg{
    height:clamp(132px,31vw,210px);
    min-height:0;
    aspect-ratio:auto;
    padding:0;
    background-size:cover;
    background-position:center;
  }
  .brand-hero.has-module-bg>*{
    visibility:hidden;
  }
  .brand-hero:not(.has-module-bg){
    min-height:160px;
    padding:24px 20px;
  }
  .brand-hero:not(.has-module-bg) h1{
    font-size:30px;
  }
  .brand-toolbar{
    grid-template-columns:1fr;
    gap:10px;
  }
}
@media(max-width:640px){
  .product-grid,
  .product-grid.four,
  .product-grid.three,
  .catalog-layout .product-grid.three{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .brand-grid,
  .brand-strip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .catalog-tools{
    grid-template-columns:1fr;
  }
}
@media(max-width:380px){
  .product-grid,
  .product-grid.four,
  .product-grid.three,
  .catalog-layout .product-grid.three{
    gap:9px;
  }
  .brand-grid,
  .brand-strip{
    gap:8px;
  }
  .brand-chip{
    padding:10px 6px;
  }
  .product-card h3,
  .catalog-layout .product-card h3{
    font-size:13px;
  }
}

/* V46: equal footer columns and consistent editorial links */
@media(min-width:981px){
  .footer-inner{
    grid-template-columns:repeat(4,minmax(0,1fr));
    column-gap:clamp(28px,3vw,56px);
    align-items:start;
  }
  .footer-inner>div,
  .footer-inner>dl{
    width:100%;
    min-width:0;
  }
  .footer-inner>dl{
    justify-self:stretch;
    text-align:center;
  }
  .footer-inner dt{
    margin:0 0 12px;
    line-height:1.4;
  }
  .footer-contact dd:first-of-type{
    justify-content:center;
  }
  .footer-brand p{
    max-width:none;
  }
}
.description article a,
.description article a:visited,
.post-content a,
.post-content a:visited{
  color:#007f76;
  font-weight:800;
  text-decoration-line:underline;
  text-decoration-color:rgba(0,127,118,.42);
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
  transition:color .18s ease,text-decoration-color .18s ease;
}
.description article a:hover,
.description article a:focus-visible,
.post-content a:hover,
.post-content a:focus-visible{
  color:#005f59;
  text-decoration-color:currentColor;
}

/* V44: full-width article body and four-column footer */
.footer-inner{
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:start;
  gap:clamp(28px,3vw,56px);
}
.footer-brand p{max-width:none}
.footer-partners a{
  color:#fff;
  text-decoration:none;
  transition:opacity .18s ease;
}
.footer-partners a:hover{opacity:.72}
.footer-partners dd,.footer-nav dd{overflow-wrap:anywhere}
@media(max-width:980px){
  .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
}
@media(max-width:640px){
  .footer-inner{grid-template-columns:1fr;gap:18px}
  .post-content{padding-left:18px;padding-right:18px}
}

/* V42: news center, article pages and post administration */
.post-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.post-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line-2);
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 30px rgba(15,54,59,.07);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.post-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,143,132,.32);
  box-shadow:0 18px 38px rgba(15,54,59,.12);
}
.post-cover{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  border-bottom:1px solid var(--line-2);
  background:#f5f9f8;
}
.post-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.post-card:hover .post-cover img{transform:scale(1.025)}
.post-cover-empty{
  display:grid;
  width:100%;
  height:100%;
  place-items:center;
  color:var(--jade);
  font-weight:950;
  background:linear-gradient(145deg,#f8fbfb,#e2f4f1);
}
.post-card-body{padding:16px}
.post-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:0 0 10px;
  color:#789098;
  font-size:12px;
}
.post-meta span{
  display:inline-flex;
  min-height:24px;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  background:#def4ef;
  color:var(--jade);
  font-weight:900;
}
.post-card h3{
  min-height:50px;
  margin:0 0 8px;
  font-size:18px;
  line-height:1.4;
  letter-spacing:0;
}
.post-card h3 a{color:#0e1c23;text-decoration:none}
.post-excerpt{
  display:-webkit-box;
  min-height:58px;
  margin:0 0 14px;
  overflow:hidden;
  color:#657b84;
  font-size:14px;
  line-height:1.65;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.post-more{color:var(--jade);font-size:13px;font-weight:950;text-decoration:none}
.news-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:30px;
  margin-bottom:16px;
  padding:34px 38px;
  border:1px solid var(--line-2);
  border-radius:8px;
  background:linear-gradient(110deg,#fff 0%,#f4fbfa 60%,#ddf2ef 100%);
}
.eyebrow{
  display:inline-flex;
  min-height:26px;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  background:#def4ef;
  color:var(--jade);
  font-size:13px;
  font-weight:950;
  text-decoration:none;
}
.news-hero h1{margin:10px 0 8px;font-size:38px;letter-spacing:0}
.news-hero p{max-width:760px;margin:0;color:#58717a;line-height:1.8}
.news-hero>strong{color:var(--jade);font-size:48px;line-height:1;text-align:right}
.news-hero>strong small{display:block;margin-top:8px;color:#789098;font-size:13px}
.news-category-tabs{
  display:flex;
  gap:8px;
  margin-bottom:18px;
  padding:10px;
  overflow:auto;
  border:1px solid var(--line-2);
  border-radius:8px;
  background:#fff;
}
.news-category-tabs a{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  flex:0 0 auto;
  padding:0 16px;
  border:1px solid var(--line-2);
  border-radius:7px;
  color:#526a73;
  font-weight:850;
  text-decoration:none;
}
.news-category-tabs a.active,.news-category-tabs a:hover{border-color:var(--jade);background:#e6f6f3;color:var(--jade)}
.news-list-section{padding:22px;border:1px solid var(--line-2);border-radius:8px;background:#fff}
.empty-state{padding:50px;text-align:center;color:#789098}
.single-post{
  overflow:hidden;
  border:1px solid var(--line-2);
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 42px rgba(15,54,59,.08);
}
.single-post-head{
  max-width:1180px;
  margin:0 auto;
  padding:54px 40px 34px;
  text-align:center;
}
.single-post-head h1{margin:16px 0 12px;font-size:42px;line-height:1.25;letter-spacing:0}
.single-post-head p{margin:0 auto 14px;color:#617882;font-size:17px;line-height:1.8}
.single-post-head time{color:#8aa0a7;font-size:13px}
.single-post-cover{max-width:1320px;margin:0 auto;padding:0 40px}
.single-post-cover img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}
.post-content{max-width:none;width:100%;box-sizing:border-box;margin:0;padding:46px 40px 64px;color:#30464f;font-size:17px;line-height:1.95}
.post-content h1,.post-content h2,.post-content h3,.post-content h4{margin:1.8em 0 .7em;color:#0e1c23;letter-spacing:0}
.post-content h1{font-size:34px}.post-content h2{font-size:28px}.post-content h3{font-size:23px}.post-content h4{font-size:19px}
.post-content a{color:var(--jade);font-weight:800;text-underline-offset:3px}
.post-content p{margin:0 0 1.25em}
.post-content img{display:block;max-width:100%;height:auto;border-radius:6px}
.post-content figure{max-width:100%;margin:28px auto}
.post-content figure.align-center{text-align:center}
.post-content figure.align-center img{margin-left:auto;margin-right:auto}
.post-content figure.align-left{margin-left:0;margin-right:auto}
.post-content figure.align-right{margin-left:auto;margin-right:0}
.post-content figcaption{margin-top:8px;color:#8aa0a7;font-size:13px;text-align:center}
.post-editor{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.post-editor-main,.post-editor-side{display:grid;gap:18px}
.post-editor-side{position:sticky;top:18px}
.post-preview img{width:100%;max-height:220px;object-fit:cover;border-radius:7px}
.post-preview h3{margin:14px 0 8px;font-size:22px}
.post-preview p{color:#657b84;line-height:1.65}

@media(max-width:1100px){
  .post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .post-editor{grid-template-columns:1fr}
  .post-editor-side{position:static}
}
@media(max-width:760px){
  .post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .post-card-body{padding:11px}
  .post-meta{align-items:flex-start;flex-direction:column;font-size:10px}
  .post-card h3{min-height:42px;font-size:14px}
  .post-excerpt{display:none}
  .post-more{font-size:12px}
  .news-hero{grid-template-columns:1fr;padding:24px 20px}
  .news-hero h1{font-size:30px}
  .news-hero>strong{display:none}
  .news-list-section{padding:12px}
  .single-post-head{padding:32px 20px 24px}
  .single-post-head h1{font-size:30px}
  .single-post-cover{padding:0 16px}
  .post-content{padding:30px 20px 44px;font-size:16px}
}

/* V22 mobile: keep uploaded hero text readable, hide view-mode switch on small screens */
@media(max-width:900px){
  .hero.has-module-bg{
    height:auto;
    min-height:360px;
    padding:16px;
    display:flex;
    align-items:flex-start;
    background-position:center right;
  }
  .hero.has-module-bg>div:first-child{
    visibility:visible!important;
    pointer-events:auto!important;
    max-width:min(100%,560px);
    margin:0;
    padding:20px;
    border:1px solid rgba(207,227,226,.9);
    border-radius:16px;
    background:linear-gradient(120deg,rgba(255,255,255,.96),rgba(255,255,255,.72));
    box-shadow:0 18px 42px rgba(12,42,49,.12);
    backdrop-filter:blur(10px);
  }
  .hero.has-module-bg .hero-stage{
    display:none!important;
  }
  .hero.has-module-bg h1{
    max-width:100%;
    font-size:30px;
    line-height:1.12;
    margin-bottom:10px;
  }
  .hero.has-module-bg p{
    max-width:100%;
    margin-bottom:14px;
    font-size:16px;
    line-height:1.45;
  }
  .hero.has-module-bg .feature-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:16px 0 14px;
  }
  .hero.has-module-bg .feature-chip{
    min-height:54px;
    grid-template-columns:28px minmax(0,1fr);
    gap:6px 8px;
  }
  .hero.has-module-bg .feature-icon{
    width:28px;
    height:28px;
    border-radius:8px;
  }
  .hero.has-module-bg .feature-icon:after{
    width:8px;
    height:8px;
  }
  .hero.has-module-bg .feature-chip strong{
    font-size:13px;
    line-height:1.15;
  }
  .hero.has-module-bg .feature-chip small{
    font-size:11px;
    line-height:1.25;
  }
  .hero.has-module-bg .hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:10px;
  }
  .hero.has-module-bg .hero-actions a{
    min-height:40px;
    padding:0 10px;
    font-size:13px;
    text-align:center;
  }
  .brand-hero.has-module-bg{
    height:auto;
    min-height:176px;
    padding:22px 20px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background-position:center right;
  }
  .brand-hero.has-module-bg>*{
    visibility:visible!important;
    position:relative;
    z-index:2;
  }
  .brand-hero.has-module-bg h1{
    width:max-content;
    max-width:100%;
    margin:0 0 10px;
    padding:6px 10px;
    border-radius:12px;
    background:rgba(255,255,255,.8);
    font-size:32px;
    line-height:1.1;
  }
  .brand-hero.has-module-bg p{
    width:max-content;
    max-width:min(100%,360px);
    margin:0;
    padding:6px 10px;
    border-radius:10px;
    background:rgba(255,255,255,.68);
    font-size:16px;
    line-height:1.45;
  }
  .catalog-tools{
    grid-template-columns:1fr!important;
  }
  .view-switch{
    display:none!important;
  }
}
@media(max-width:520px){
  .hero.has-module-bg{
    min-height:330px;
    padding:12px;
    background-position:62% center;
  }
  .hero.has-module-bg>div:first-child{
    padding:16px;
  }
  .hero.has-module-bg h1{
    font-size:25px;
  }
  .hero.has-module-bg .feature-row{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .hero.has-module-bg .feature-chip{
    grid-template-columns:24px minmax(0,1fr);
  }
  .hero.has-module-bg .feature-icon{
    width:24px;
    height:24px;
    border-radius:7px;
  }
  .hero.has-module-bg .hero-actions{
    grid-template-columns:1fr;
  }
  .brand-hero.has-module-bg{
    min-height:150px;
    padding:18px 16px;
    background-position:58% center;
  }
  .brand-hero.has-module-bg h1{
    font-size:28px;
  }
}

/* V23: 5-up desktop products, distinct hero feature icons, calmer mobile hero/category, compliance spacing */
@media(min-width:1201px){
  .product-grid.four,
  .product-grid.three,
  .catalog-layout .product-grid.three{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
}

.feature-row .feature-chip .feature-icon:before{
  content:"";
  position:absolute;
  inset:auto;
}
.feature-row .feature-chip:nth-child(1) .feature-icon:before{
  left:8px;
  top:7px;
  width:12px;
  height:14px;
  border:2px solid var(--jade);
  border-radius:3px;
  background:
    linear-gradient(var(--jade),var(--jade)) 3px 4px/6px 2px no-repeat,
    linear-gradient(var(--jade),var(--jade)) 3px 8px/6px 2px no-repeat;
}
.feature-row .feature-chip:nth-child(2) .feature-icon:before{
  left:6px;
  top:10px;
  width:16px;
  height:8px;
  border:2px solid var(--jade);
  border-left:0;
  border-right:0;
  transform:skewX(-12deg);
}
.feature-row .feature-chip:nth-child(3) .feature-icon:before{
  left:7px;
  top:8px;
  width:15px;
  height:12px;
  border:2px solid var(--jade);
  border-radius:3px;
  background:
    radial-gradient(circle at 75% 25%,var(--jade) 0 2px,transparent 2.5px),
    linear-gradient(135deg,transparent 50%,rgba(0,143,132,.28) 51%);
}
.feature-row .feature-chip:nth-child(4) .feature-icon:before{
  left:8px;
  top:6px;
  width:13px;
  height:16px;
  border:2px solid var(--jade);
  border-radius:8px 8px 10px 10px;
  clip-path:polygon(50% 0,100% 18%,88% 82%,50% 100%,12% 82%,0 18%);
}
.feature-row .feature-chip:nth-child(2) .feature-icon:after{
  left:10px;
  top:10px;
  width:9px;
  height:9px;
}
.feature-row .feature-chip:nth-child(3) .feature-icon:after,
.feature-row .feature-chip:nth-child(4) .feature-icon:after{
  display:none;
}

@media(min-width:901px){
  .compliance.has-module-bg{
    min-height:940px;
    padding:104px 88px 78px;
  }
  .compliance.has-module-bg .info-cards{
    margin-top:150px;
  }
  .compliance-lower{
    margin-top:28px;
  }
  .compliance-statement{
    margin-top:28px;
  }
}

@media(max-width:900px){
  .hero.has-module-bg{
    min-height:auto;
    padding:24px 16px;
    justify-content:center;
    background-image:none!important;
    background:
      linear-gradient(135deg,#f8fcfc 0%,#eef8f6 58%,#e4f3f1 100%)!important;
  }
  .hero.has-module-bg:before,
  .hero.has-module-bg:after{
    display:none!important;
  }
  .hero.has-module-bg>div:first-child{
    margin:0 auto;
    text-align:center;
    background:rgba(255,255,255,.9);
  }
  .hero.has-module-bg .feature-row{
    max-width:520px;
    margin-left:auto;
    margin-right:auto;
  }
  .hero.has-module-bg .feature-chip{
    text-align:left;
  }
  .hero.has-module-bg .hero-actions{
    max-width:420px;
    margin-left:auto;
    margin-right:auto;
  }
  .category-card,
  .category-card[style*="background-image"]{
    min-height:142px!important;
    aspect-ratio:auto!important;
    padding:18px!important;
    border-radius:13px;
  }
  .category-card h3{
    font-size:22px!important;
    margin-bottom:8px;
  }
  .category-card p{
    width:58%;
    font-size:14px;
    line-height:1.55;
    margin-bottom:14px;
  }
  .category-card span{
    min-height:34px;
    padding:0 16px;
    font-size:13px;
  }
  .empty-cover{
    right:16px;
    bottom:16px;
    width:118px;
    height:78px;
    font-size:13px;
  }
}

@media(max-width:520px){
  .hero.has-module-bg{
    padding:18px 12px;
  }
  .hero.has-module-bg>div:first-child{
    padding:18px 14px;
  }
  .hero.has-module-bg .feature-row{
    grid-template-columns:1fr;
  }
  .hero.has-module-bg .feature-chip{
    min-height:44px;
    align-items:center;
  }
  .category-card,
  .category-card[style*="background-image"]{
    min-height:126px!important;
    padding:16px!important;
  }
  .category-card p{
    width:62%;
    font-size:13px;
  }
  .empty-cover{
    width:96px;
    height:64px;
  }
}

/* V24: fix compliance desktop stacking and center mobile hero icons */
@media(min-width:901px){
  .compliance.has-module-bg{
    display:block!important;
    aspect-ratio:auto!important;
    min-height:auto!important;
    padding:112px 88px 72px!important;
    background-position:center right;
  }
  .compliance.has-module-bg h1,
  .compliance.has-module-bg>p{
    position:relative;
    z-index:2;
  }
  .compliance.has-module-bg .info-cards{
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
    margin:190px 0 0!important;
  }
  .compliance.has-module-bg .info-cards article{
    min-height:136px;
    opacity:1!important;
  }
  .compliance-lower{
    position:relative;
    z-index:4;
    margin-top:30px!important;
  }
  .compliance-statement{
    position:relative;
    z-index:4;
    margin-top:30px!important;
  }
}

@media(max-width:900px){
  .hero.has-module-bg .feature-icon{
    flex:0 0 auto;
    overflow:hidden;
  }
  .hero.has-module-bg .feature-icon:after{
    display:none!important;
  }
  .hero.has-module-bg .feature-row .feature-chip:nth-child(1) .feature-icon:before{
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
  }
  .hero.has-module-bg .feature-row .feature-chip:nth-child(2) .feature-icon:before{
    left:50%;
    top:50%;
    transform:translate(-50%,-50%) skewX(-12deg);
  }
  .hero.has-module-bg .feature-row .feature-chip:nth-child(3) .feature-icon:before{
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
  }
  .hero.has-module-bg .feature-row .feature-chip:nth-child(4) .feature-icon:before{
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
  }
}

/* V25: fine tune compliance spacing on desktop and mobile */
@media(min-width:901px){
  .compliance.has-module-bg{
    padding-top:112px!important;
    padding-bottom:68px!important;
    background-position:center top;
  }
  .compliance.has-module-bg .info-cards{
    margin-top:250px!important;
    gap:24px;
  }
  .compliance.has-module-bg .info-cards article{
    min-height:126px;
    padding:22px 26px;
    background:rgba(255,255,255,.92);
  }
  .compliance-lower{
    margin-top:24px!important;
  }
  .compliance-panel{
    min-height:220px;
    padding:28px 30px;
    background:rgba(255,255,255,.93);
  }
  .compliance-statement{
    margin-top:24px!important;
  }
}

@media(max-width:900px){
  .compliance.has-module-bg{
    min-height:0!important;
    padding:24px 18px 22px!important;
    background-size:cover;
    background-position:58% top;
  }
  .compliance.has-module-bg h1,
  .compliance h1{
    font-size:42px!important;
    line-height:1.05;
    margin:0 0 14px!important;
  }
  .compliance.has-module-bg>p,
  .compliance>p{
    max-width:100%;
    font-size:18px!important;
    line-height:1.5;
    margin:0!important;
  }
  .compliance.has-module-bg>p:after{
    width:68px;
    height:4px;
    margin-top:18px;
  }
  .compliance.has-module-bg .info-cards,
  .info-cards{
    grid-template-columns:1fr!important;
    gap:12px!important;
    margin-top:148px!important;
  }
  .compliance.has-module-bg .info-cards article,
  .info-cards article{
    min-height:0;
    grid-template-columns:58px 1fr!important;
    gap:14px!important;
    padding:16px 18px!important;
    border-radius:16px;
  }
  .compliance.has-module-bg .info-cards .info-icon,
  .info-cards .info-icon{
    width:52px;
    height:52px;
  }
  .compliance.has-module-bg .info-cards h3,
  .info-cards h3{
    font-size:22px!important;
    margin-bottom:4px!important;
  }
  .compliance.has-module-bg .info-cards p,
  .info-cards p{
    font-size:15px!important;
    line-height:1.45!important;
  }
  .compliance-lower{
    gap:12px!important;
    margin-top:12px!important;
  }
  .compliance-panel{
    min-height:0!important;
    padding:18px!important;
    border-radius:16px;
  }
  .compliance-panel h3{
    font-size:22px!important;
    margin-bottom:14px!important;
  }
  .compliance-statement{
    min-height:0;
    margin-top:12px!important;
    padding:14px 16px!important;
    grid-template-columns:42px 1fr!important;
    gap:10px!important;
    border-radius:16px;
  }
  .compliance-statement strong{
    font-size:20px;
  }
  .compliance-statement p{
    grid-column:1 / -1;
    font-size:15px!important;
    line-height:1.45;
  }
}

@media(max-width:520px){
  .compliance.has-module-bg{
    padding:20px 14px 18px!important;
    background-position:54% top;
  }
  .compliance.has-module-bg h1,
  .compliance h1{
    font-size:38px!important;
  }
  .compliance.has-module-bg>p,
  .compliance>p{
    font-size:16px!important;
  }
  .compliance.has-module-bg .info-cards,
  .info-cards{
    margin-top:124px!important;
  }
  .compliance.has-module-bg .info-cards article,
  .info-cards article{
    padding:14px 16px!important;
  }
}

/* V26: tighter compliance mobile spacing and friendlier admin media picking */
@media(min-width:901px){
  .compliance.has-module-bg .info-cards{
    margin-top:310px!important;
  }
}
@media(max-width:900px){
  .compliance.has-module-bg .info-cards,
  .info-cards{
    margin-top:82px!important;
  }
}
@media(max-width:520px){
  .compliance.has-module-bg .info-cards,
  .info-cards{
    margin-top:58px!important;
  }
}

.admin-actions button,
.admin-actions a,
.admin-form button,
.danger,
.mini-btn,
.primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  line-height:1;
  white-space:nowrap;
  vertical-align:middle;
  box-sizing:border-box;
}
.compact-actions{
  margin:0;
  gap:8px;
}
.image-picker-row{
  display:grid;
  grid-template-columns:92px minmax(180px,1fr) auto auto auto;
  gap:10px;
  align-items:center;
}
.image-picker-row input{
  min-width:0;
}
.image-picker-row .mini-btn{
  min-width:86px;
  height:42px;
  padding:0 14px;
}
.inline-upload{
  display:grid;
  grid-template-columns:minmax(140px,1fr) auto auto;
  gap:8px;
  align-items:center;
}
.inline-upload .mini-btn{
  height:40px;
  padding:0 12px;
}
.media-picker-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:28px;
  background:rgba(8,28,35,.42);
  backdrop-filter:blur(12px);
}
.media-picker-dialog{
  width:min(1040px,calc(100vw - 40px));
  max-height:min(780px,calc(100vh - 40px));
  overflow:auto;
  border:1px solid rgba(191,220,217,.95);
  border-radius:18px;
  background:#fff;
  box-shadow:0 34px 90px rgba(10,44,51,.22);
  padding:24px;
}
.media-picker-dialog header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.media-picker-dialog h2{
  margin:0 0 6px;
  font-size:24px;
}
.media-picker-dialog p{
  margin:0;
  color:#6b818a;
  font-weight:700;
}
.media-picker-tabs{
  margin-bottom:18px;
}
.media-picker-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.media-picker-item{
  display:grid;
  gap:8px;
  min-width:0;
  padding:0 0 10px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  overflow:hidden;
  text-align:left;
  cursor:pointer;
}
.media-picker-item:hover{
  border-color:var(--jade);
  box-shadow:0 0 0 2px rgba(0,143,132,.1);
}
.media-picker-item span{
  display:block;
  aspect-ratio:1/1;
  background:#f8fbfb center/contain no-repeat;
  border-bottom:1px solid var(--line);
}
.media-picker-item b{
  padding:0 10px;
  color:#172c35;
  font-size:13px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:1100px){
  .image-picker-row{
    grid-template-columns:76px minmax(0,1fr);
  }
  .image-picker-row .mini-btn{
    width:100%;
  }
  .media-picker-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .media-picker-modal{
    padding:14px;
  }
  .media-picker-dialog{
    width:100%;
    padding:16px;
    border-radius:16px;
  }
  .media-picker-dialog header{
    align-items:stretch;
    flex-direction:column;
  }
  .media-picker-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
}

/* V28: clean page structure, catalog filter cleanup, taller home hero */
@media(min-width:901px){
  .hero.has-module-bg{
    min-height:470px!important;
    aspect-ratio:auto!important;
  }
  .hero.has-module-bg>div:first-child{
    padding-top:88px!important;
    padding-bottom:74px!important;
  }
  .hero.has-module-bg .hero-stage{
    min-height:470px!important;
  }
  .product-grid.four{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}

.feature-row{
  align-items:start;
}
.feature-chip{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px 12px;
  padding-left:0!important;
}
.feature-chip:before,
.feature-chip:after{
  display:none!important;
}
.feature-chip .feature-icon{
  grid-row:1 / span 2;
  width:36px;
  height:36px;
  border:2px solid var(--jade);
  border-radius:10px;
  background:#fff;
  box-shadow:0 10px 20px rgba(0,143,132,.1);
  position:relative;
}
.feature-chip .feature-icon:before,
.feature-chip .feature-icon:after{
  content:"";
  position:absolute;
}
.feature-spec .feature-icon:before{
  inset:9px;
  border:3px solid var(--jade);
  border-radius:5px;
}
.feature-link .feature-icon:before{
  left:8px;
  top:16px;
  width:20px;
  height:5px;
  border-radius:999px;
  background:var(--jade);
}
.feature-link .feature-icon:after{
  right:7px;
  top:10px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--jade);
}
.feature-image .feature-icon:before{
  left:8px;
  top:8px;
  width:20px;
  height:20px;
  border:3px solid var(--jade);
  border-radius:5px;
}
.feature-image .feature-icon:after{
  right:8px;
  bottom:8px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--jade);
}
.feature-safe .feature-icon:before{
  left:10px;
  top:7px;
  width:14px;
  height:18px;
  border:3px solid var(--jade);
  border-top-left-radius:8px;
  border-top-right-radius:8px;
  border-bottom-left-radius:10px;
  border-bottom-right-radius:10px;
}
.feature-safe .feature-icon:after{
  left:16px;
  top:13px;
  width:6px;
  height:10px;
  border-right:3px solid var(--jade);
  border-bottom:3px solid var(--jade);
  transform:rotate(40deg);
}
.feature-chip strong{
  display:block;
  font-size:16px;
  line-height:1.2;
}
.feature-chip small{
  display:block;
  color:#567079;
  font-weight:800;
  line-height:1.35;
}

.compliance-hero-banner{
  min-height:300px!important;
  aspect-ratio:auto!important;
  display:flex;
  align-items:center;
  padding:54px 72px!important;
  margin-bottom:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(105deg,#fff 0,#eff8f7 54%,#dff1ef 100%);
  background-size:cover;
  background-position:center right;
  box-shadow:var(--shadow);
}
.compliance-hero-banner:before,
.compliance-hero-banner:after{
  display:none!important;
}
.compliance-hero-copy{
  max-width:620px;
}
.compliance-hero-copy h1{
  margin:0 0 18px!important;
  font-size:64px!important;
  line-height:1.02!important;
}
.compliance-hero-copy p{
  margin:0!important;
  max-width:620px;
  color:#18323d;
  font-size:24px!important;
  line-height:1.5!important;
}
.accent-line{
  display:block;
  width:86px;
  height:5px;
  margin-top:30px;
  border-radius:999px;
  background:var(--jade);
}
.compliance-content{
  display:grid;
  gap:24px;
}
.compliance-content .info-cards{
  margin-top:0!important;
}
.compliance-content .info-cards article{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:18px;
  align-items:center;
}
.compliance-content .compliance-lower{
  margin-top:0!important;
}
.compliance-content .compliance-statement{
  margin-top:0!important;
}

.catalog-layout .product-grid.three{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.filters .price-filter{
  margin-bottom:8px;
}

@media(max-width:1200px){
  .catalog-layout .product-grid.three{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:900px){
  .hero.has-module-bg{
    min-height:auto!important;
  }
  .catalog-layout .product-grid.three{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .catalog-layout{
    grid-template-columns:1fr;
  }
  .filters{
    display:none;
  }
  .compliance-hero-banner{
    min-height:220px!important;
    padding:30px 24px!important;
    background-position:center right;
  }
  .compliance-hero-copy h1{
    font-size:42px!important;
  }
  .compliance-hero-copy p{
    font-size:17px!important;
  }
  .compliance-content{
    gap:14px;
  }
  .compliance-content .info-cards{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .compliance-content .info-cards article{
    grid-template-columns:58px 1fr;
    padding:16px 18px!important;
  }
  .compliance-lower{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:520px){
  .feature-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .feature-chip{
    grid-template-columns:34px minmax(0,1fr);
    padding:12px 14px!important;
  }
  .feature-chip .feature-icon{
    width:32px;
    height:32px;
  }
  .compliance-hero-banner{
    min-height:190px!important;
    margin-bottom:14px;
  }
  .compliance-content .info-cards article{
    padding:13px 14px!important;
  }
  .compliance-content .info-cards h3{
    font-size:22px!important;
  }
  .compliance-content .info-cards p{
    font-size:15px!important;
  }
}

/* V29 SEO semantic image and category copy polish */
.product-img{
  position:relative;
  overflow:hidden;
}
.product-img img,
.detail-image img,
.thumbs button img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.product-img img{
  box-sizing:border-box;
  padding:10px;
  background:#fff;
}
.detail-image{
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#fff;
}
.detail-image img{
  background:#fff;
}
.thumbs button{
  overflow:hidden;
  padding:0;
}
.thumbs button img{
  box-sizing:border-box;
  padding:6px;
  background:#fff;
}
.category-seo-copy{
  margin:26px 0;
  padding:28px 32px;
  border:1px solid rgba(0,143,134,.14);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  box-shadow:0 20px 55px rgba(10,51,56,.06);
}
.category-seo-copy h2{
  margin:0 0 12px;
  font-size:24px;
}
.category-seo-copy p{
  margin:0;
  color:#49636b;
  line-height:1.9;
}

/* V32 mobile hero/category tightening and admin pagination */
.admin-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 0 0;
  color:#6f858d;
}
.admin-pagination>div{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.admin-pagination button{
  min-width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:#274653;
  font-weight:900;
  cursor:pointer;
}
.admin-pagination button.active{
  border-color:var(--jade);
  background:var(--jade);
  color:#fff;
}
.admin-pagination span{
  display:grid;
  place-items:center;
  min-width:24px;
  color:#7d9097;
}

@media(max-width:900px){
  main{
    padding-left:12px;
    padding-right:12px;
  }
  .hero,
  .hero.has-module-bg{
    width:100%;
    margin-left:auto;
    margin-right:auto;
    padding:10px!important;
    min-height:auto!important;
  }
  .hero.has-module-bg{
    background-image:none!important;
    background:#eff8f7!important;
  }
  .hero.has-module-bg>div:first-child{
    width:100%;
    max-width:none;
    padding:24px 18px!important;
  }
  .hero.has-module-bg h1{
    font-size:30px!important;
    line-height:1.16!important;
    text-align:center;
    margin-bottom:12px!important;
  }
  .hero.has-module-bg p{
    font-size:18px!important;
    line-height:1.45!important;
    text-align:center;
    margin-bottom:18px!important;
  }
  .hero.has-module-bg .feature-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin:0 0 18px!important;
  }
  .hero.has-module-bg .feature-chip{
    min-height:86px;
    grid-template-columns:36px minmax(0,1fr)!important;
    align-items:center;
    padding:12px!important;
    border-radius:14px!important;
  }
  .hero.has-module-bg .feature-icon{
    width:34px!important;
    height:34px!important;
  }
  .hero.has-module-bg .feature-chip strong{
    font-size:15px!important;
    line-height:1.2!important;
  }
  .hero.has-module-bg .feature-chip small{
    font-size:12px!important;
    line-height:1.25!important;
  }
  .hero.has-module-bg .hero-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:10px!important;
  }
  .hero.has-module-bg .hero-actions a{
    min-height:46px;
    padding:0 10px!important;
    font-size:15px!important;
  }
  .catalog-categories .category-grid,
  .category-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .category-card{
    min-height:154px!important;
    padding:22px!important;
    background-size:cover!important;
  }
  .category-card h3{
    font-size:26px!important;
  }
  .category-card p{
    max-width:56%;
    font-size:15px!important;
    line-height:1.5!important;
  }
  .category-card span{
    margin-top:16px!important;
    min-height:38px!important;
    padding:0 18px!important;
  }
}

@media(max-width:520px){
  .hero.has-module-bg{
    margin-top:12px;
  }
  .hero.has-module-bg>div:first-child{
    padding:20px 14px!important;
  }
  .hero.has-module-bg .feature-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .hero.has-module-bg .feature-chip{
    min-height:78px;
    padding:10px!important;
  }
  .hero.has-module-bg .feature-chip strong{
    font-size:14px!important;
  }
  .hero.has-module-bg .feature-chip small{
    font-size:11px!important;
  }
  .admin-pagination{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* V35 pagination, brand tag overflow, admin quick edit and footer columns */
.pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin:28px 0 0;
}
.pager a,.pager span{
  min-width:40px;
  height:40px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:#526a74;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.pager a.active,.pager a:hover{
  border-color:#8bd1ca;
  background:#def4ef;
  color:var(--jade);
}
.pager span{
  border-color:transparent;
  background:transparent;
}
.tag-filter{
  align-items:flex-start;
}
.tag-more{
  display:inline-block;
}
.tag-more summary{
  min-height:40px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  cursor:pointer;
  color:#526a74;
  font-weight:900;
  background:#fff;
  list-style:none;
}
.tag-more summary::-webkit-details-marker{
  display:none;
}
.tag-more div{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}
.brand-summary-watermark{
  display:none!important;
}
.footer-nav dd{
  margin:8px 0;
}
.footer-nav a{
  color:#cfe1e3;
  font-weight:800;
}
.footer-nav a:hover{
  color:#fff;
}
.quick-input{
  width:100%;
  min-width:88px;
  height:38px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:0 10px;
  background:#fff;
  font-weight:800;
  color:#12323c;
}
.quick-input.sort{
  max-width:80px;
}
.quick-check{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:900;
  color:#526a74;
  white-space:nowrap;
}
.admin-table td{
  vertical-align:middle;
}
@media(max-width:760px){
  .pager{
    gap:8px;
  }
  .pager a,.pager span{
    min-width:36px;
    height:36px;
    padding:0 10px;
  }
  .tag-more{
    width:100%;
  }
  .tag-more summary{
    width:100%;
    justify-content:center;
  }
  .brand-product-filter.tag-filter a{
    flex:0 0 auto;
  }
  .footer-nav dd{
    display:inline-block;
    margin:6px 12px 0 0;
  }
  .admin-table{
    min-width:1060px;
  }
}

/* Rich product description editor */
.rich-editor{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fbfdfd;
  overflow:hidden;
  box-shadow:0 14px 30px rgba(11,53,58,.05);
}
.rich-toolbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  padding:12px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fff,#f3fbf9);
}
.rich-toolbar button,
.rich-upload,
.rich-toolbar select{
  min-height:36px;
  border:1px solid #b9ded9;
  border-radius:10px;
  padding:0 12px;
  background:#fff;
  color:#007f77;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.rich-toolbar select{appearance:auto;min-width:138px}
.rich-toolbar button:hover,
.rich-upload:hover,
.rich-toolbar select:hover{
  background:#e6f7f3;
  border-color:#66c7bd;
}
.rich-canvas{
  min-height:360px;
  padding:24px;
  background:#fff;
  outline:0;
  color:#10252d;
  line-height:1.9;
  font-size:16px;
}
.rich-canvas:focus{
  box-shadow:inset 0 0 0 2px rgba(0,150,139,.16);
}
.rich-canvas h1,.rich-canvas h2,.rich-canvas h3,.rich-canvas h4{margin:22px 0 12px;line-height:1.35;letter-spacing:0}
.rich-canvas h1{font-size:32px}.rich-canvas h2{font-size:27px}.rich-canvas h3{font-size:22px}.rich-canvas h4{font-size:18px}
.rich-canvas a{color:var(--jade);font-weight:800;text-underline-offset:3px}
.rich-canvas p{
  margin:0 0 14px;
}
.rich-canvas ul{
  margin:0 0 16px 22px;
}
.rich-canvas figure{
  margin:22px 0;
  max-width:100%;
}
.rich-canvas figure.align-left{
  text-align:left;
}
.rich-canvas figure.align-center{
  text-align:center;
}
.rich-canvas figure.align-right{
  text-align:right;
}
.rich-canvas img{
  max-width:100%;
  height:auto;
  border-radius:14px;
  border:1px solid var(--line);
  box-shadow:0 18px 42px rgba(17,45,52,.1);
  cursor:pointer;
}
.rich-canvas img:hover{
  outline:3px solid rgba(0,150,139,.22);
}
.rich-canvas figcaption{
  min-height:10px;
  color:#78919a;
  font-size:13px;
  margin-top:8px;
}
.rich-source{
  display:block;
  width:100%;
  min-height:360px;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  padding:18px;
  font-family:Consolas,monospace;
  line-height:1.7;
}
.rich-editor.source-mode .rich-canvas{
  display:none;
}
.rich-editor>.help{
  margin:0;
  padding:10px 14px 14px;
  background:#fbfdfd;
}
.image-settings-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(8,24,30,.36);
  display:grid;
  place-items:center;
  padding:24px;
}
.image-settings-dialog{
  width:min(460px,100%);
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:20px;
  box-shadow:0 30px 80px rgba(7,33,39,.24);
}
.image-settings-dialog header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
}
.image-settings-dialog h2{
  margin:0;
}
.image-settings-dialog [data-close]{
  width:36px;
  height:36px;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  font-size:22px;
  cursor:pointer;
}
.image-settings-dialog label{
  display:grid;
  gap:8px;
  margin:12px 0;
  font-weight:900;
  color:#526a74;
}
.image-settings-dialog input,
.image-settings-dialog select{
  height:44px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:0 12px;
  font-weight:800;
  color:#12323c;
}
@media(max-width:760px){
  .rich-toolbar{
    gap:6px;
  }
  .rich-toolbar button,
  .rich-upload,
  .rich-toolbar select{
    min-height:34px;
    padding:0 10px;
    font-size:13px;
  }
  .rich-canvas{
    min-height:280px;
    padding:16px;
  }
}

/* V37 product detail price/contact and compact specs */
.detail-price-row{
  display:flex;
  align-items:center;
  gap:14px;
  margin:18px 0 22px;
  flex-wrap:wrap;
}
.detail-price-row .price{
  margin:0;
  width:auto;
  min-width:300px;
  max-width:440px;
  flex:0 1 auto;
  justify-content:flex-start;
  gap:18px;
  padding:14px 18px;
}
.detail-price-row .price span{
  white-space:nowrap;
}
.detail-price-row .price strong{
  margin-left:0;
}
.contact-btn{
  height:52px;
  border:1px solid var(--jade);
  border-radius:14px;
  padding:0 24px;
  background:linear-gradient(135deg,#20bdb3,#008f86);
  color:#fff;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 14px 26px rgba(0,143,132,.16);
}
.contact-btn:hover{
  filter:saturate(1.08) brightness(1.02);
}
.spec-buttons{
  gap:9px!important;
  max-width:760px;
}
.spec-buttons button{
  min-width:88px!important;
  height:38px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  font-size:14px!important;
  line-height:1.15;
}
.contact-modal[hidden]{
  display:none!important;
}
.contact-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(8,25,31,.42);
}
.contact-modal-card{
  position:relative;
  width:min(380px,100%);
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  padding:28px;
  text-align:center;
  box-shadow:0 30px 90px rgba(5,31,37,.25);
}
.contact-modal-card h2{
  margin:0 0 8px;
  font-size:28px;
}
.contact-modal-card p{
  margin:0 0 18px;
  color:#526a74;
}
.contact-close{
  position:absolute;
  top:12px;
  right:12px;
  width:36px;
  height:36px;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  font-size:22px;
  cursor:pointer;
}
.contact-qr{
  width:210px;
  aspect-ratio:1/1;
  margin:0 auto;
  border:1px dashed #b8deda;
  border-radius:18px;
  background:#f7fbfa center/cover no-repeat;
  display:grid;
  place-items:center;
  color:#6d858d;
  font-weight:900;
}
.contact-qr.has-image{
  border-style:solid;
  color:transparent;
}
body.modal-open{
  overflow:hidden;
}
@media(max-width:760px){
  .detail-price-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    align-items:stretch;
  }
  .detail-price-row .price{
    min-width:0;
    max-width:none;
    width:100%;
    padding:12px 13px;
    gap:10px;
  }
  .detail-price-row .price strong{
    font-size:26px;
  }
  .contact-btn{
    height:auto;
    min-height:48px;
    padding:0 14px;
    border-radius:12px;
    white-space:nowrap;
  }
  .spec-buttons{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
    max-width:none;
  }
  .spec-buttons button{
    min-width:0!important;
    width:100%!important;
    height:34px!important;
    padding:0 5px!important;
    font-size:12px!important;
  }
  .contact-modal-card{
    padding:24px 18px;
  }
}

/* V38 product detail compact contact row and rich-description alignment */
.description article figure{
  max-width:100%;
  margin:24px 0;
}
.description article figure.align-left{
  text-align:left;
}
.description article figure.align-center{
  text-align:center;
}
.description article figure.align-right{
  text-align:right;
}
.description article figure.align-center img,
.description article p[style*="center"] img,
.description article div[style*="center"] img{
  display:block;
  margin-left:auto;
  margin-right:auto;
}
.description article figure.align-right img,
.description article p[style*="right"] img,
.description article div[style*="right"] img{
  display:block;
  margin-left:auto;
  margin-right:0;
}
.description article figure.align-left img,
.description article p[style*="left"] img,
.description article div[style*="left"] img{
  display:block;
  margin-left:0;
  margin-right:auto;
}
.description article figcaption{
  margin-top:8px;
  color:#78919a;
  font-size:13px;
  text-align:center;
}
.detail-price-row{
  align-items:center;
}
.detail-price-row .price{
  min-height:48px;
  border-radius:13px;
}
.contact-btn{
  min-height:44px;
  height:44px;
  border-radius:13px;
  padding:0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
@media(max-width:760px){
  .detail-price-row{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
  }
  .detail-price-row .price{
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start;
    gap:8px;
    min-height:42px;
    padding:10px 12px;
    border-radius:12px;
  }
  .detail-price-row .price span{
    font-size:13px;
    line-height:1;
  }
  .detail-price-row .price strong{
    font-size:22px;
    line-height:1;
    white-space:nowrap;
  }
  .contact-btn{
    min-height:42px;
    height:42px;
    padding:0 13px;
    border-radius:12px;
    font-size:14px;
    box-shadow:0 10px 20px rgba(0,143,132,.14);
  }
}
@media(max-width:420px){
  .detail-price-row .price{
    flex-direction:row!important;
    align-items:center!important;
  }
}

/* V39: richer editor media flow, balanced product CTA row, wider brand summary labels */
.detail-price-row{
  flex-wrap:nowrap;
  gap:12px;
  max-width:560px;
}
.detail-price-row .price{
  flex:0 0 300px;
  width:300px;
  min-width:0;
  max-width:300px;
}
.contact-btn{
  flex:0 0 156px;
  min-width:156px;
}
.brand-summary-card{
  min-width:460px;
}
.brand-summary-card dl div{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  justify-content:stretch;
}
.brand-summary-card dd{
  min-width:0;
}
.brand-summary-card dl div:nth-child(2) dd{
  white-space:nowrap;
  font-size:15px;
}
.media-picker-dialog header .admin-actions{
  flex:0 0 auto;
}
@media(max-width:1100px){
  .brand-summary-card{
    min-width:0;
  }
  .brand-summary-card dl div:nth-child(2) dd{
    white-space:normal;
  }
}
@media(max-width:760px){
  .detail-price-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(118px,.52fr);
    max-width:none;
    gap:8px;
  }
  .detail-price-row .price{
    width:100%;
    max-width:none;
    min-height:42px;
    padding:10px 11px;
    gap:7px;
  }
  .detail-price-row .price span{
    font-size:12px;
  }
  .detail-price-row .price strong{
    font-size:22px;
  }
  .contact-btn{
    width:100%;
    min-width:0;
    padding:0 10px;
    font-size:13px;
  }
}

/* V40: contain brand summary card and equalize product price/contact controls */
.brand-detail-hero{
  grid-template-columns:minmax(0,1fr) minmax(320px,420px);
}
.brand-summary-card{
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.brand-summary-card dl{
  min-width:0;
}
.brand-summary-card dl div{
  grid-template-columns:88px minmax(0,1fr);
  gap:12px;
}
.brand-summary-card dd{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* V45: consistent article rhythm and balanced footer columns */
.post-content > :first-child{
  margin-top:0;
}
.post-content p{
  margin:0 0 24px;
}
.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4{
  margin:36px 0;
}
.post-content h2{
  line-height:1.4;
}
.post-content > :last-child{
  margin-bottom:0;
}

.footer-inner{
  grid-template-columns:minmax(360px,1.65fr) repeat(3,minmax(150px,1fr));
  column-gap:40px;
  align-items:start;
}
.footer-inner > dl{
  width:max-content;
  max-width:100%;
  text-align:left;
}
.footer-contact,
.footer-nav{
  justify-self:center;
}
.footer-partners{
  justify-self:end;
}
.footer-inner dt{
  margin:0 0 16px;
}
.footer-inner dd,
.footer-contact dd:first-of-type,
.footer-nav dd,
.footer-partners dd{
  margin-top:0;
}
.footer-nav dd + dd,
.footer-partners dd + dd{
  margin-top:8px;
}

@media(max-width:980px){
  .footer-inner{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:32px;
  }
  .footer-inner > dl{
    justify-self:start;
  }
}
@media(max-width:640px){
  .post-content h1,
  .post-content h2,
  .post-content h3,
  .post-content h4{
    margin:28px 0;
  }
  .post-content p{
    margin-bottom:20px;
  }
  .footer-inner{
    grid-template-columns:1fr;
    gap:24px;
  }
}
.brand-summary-card dl div:nth-child(2) dd,
.brand-summary-card dl div:nth-child(3) dd{
  white-space:nowrap;
  font-size:14px;
  line-height:1.25;
}
.detail-price-row{
  display:grid;
  grid-template-columns:320px 178px;
  align-items:stretch;
  gap:12px;
  max-width:none;
}
.detail-price-row .price,
.contact-btn{
  height:58px;
  min-height:58px;
  border-radius:14px;
  box-sizing:border-box;
}
.detail-price-row .price{
  width:100%;
  max-width:none;
  flex:none;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:0 18px;
}
.contact-btn{
  width:100%;
  min-width:0;
  flex:none;
  padding:0 18px;
}
@media(max-width:1100px){
  .brand-detail-hero{
    grid-template-columns:1fr;
  }
  .brand-summary-card dl div:nth-child(2) dd,
  .brand-summary-card dl div:nth-child(3) dd{
    white-space:normal;
  }
}
@media(max-width:760px){
  .detail-price-row{
    grid-template-columns:minmax(0,1fr) 124px;
    gap:8px;
  }
  .detail-price-row .price,
  .contact-btn{
    height:50px;
    min-height:50px;
    border-radius:12px;
  }
  .detail-price-row .price{
    padding:0 10px;
    gap:7px;
  }
  .contact-btn{
    padding:0 10px;
    font-size:13px;
  }
}
@media(max-width:380px){
  .detail-price-row{
    grid-template-columns:minmax(0,1fr) 112px;
  }
  .detail-price-row .price span{
    font-size:11px;
  }
  .detail-price-row .price strong{
    font-size:20px;
  }
}

/* V41: compact price/contact row, wrapping brand summary tags, brand parameter links */
.detail-price-row{
  display:inline-grid;
  grid-template-columns:max-content 178px;
  width:auto;
  max-width:100%;
  align-items:stretch;
  gap:12px;
}
.detail-price-row .price{
  width:auto;
  min-width:0;
  max-width:none;
  padding:0 16px;
  gap:12px;
  justify-content:flex-start;
}
.detail-price-row .price span,
.detail-price-row .price strong{
  flex:0 0 auto;
}
.contact-btn{
  width:178px;
  min-width:0;
}
.param-link{
  color:#007f76;
  text-decoration:none;
  border-bottom:1px solid rgba(0,143,132,.34);
  transition:color .18s ease,border-color .18s ease;
}
.param-link:hover{
  color:#005f59;
  border-color:currentColor;
}
.brand-summary-card dd{
  overflow:visible;
  text-overflow:clip;
}
.brand-summary-card dl div:nth-child(3){
  align-items:flex-start;
}
.brand-summary-card dl div:nth-child(3) dd{
  white-space:normal;
}
.brand-summary-tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
  max-width:100%;
}
.brand-summary-tags a{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  max-width:100%;
  padding:0 9px;
  border:1px solid rgba(0,143,132,.18);
  border-radius:999px;
  background:#def4ef;
  color:var(--jade);
  font-size:12px;
  font-weight:950;
  line-height:1;
  text-decoration:none;
}
.brand-summary-tags a.active,
.brand-summary-tags a:hover{
  background:var(--jade);
  color:#fff;
}
@media(max-width:760px){
  .detail-price-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    width:100%;
    max-width:100%;
    gap:8px;
  }
  .detail-price-row .price,
  .contact-btn{
    width:100%;
    height:50px;
    min-height:50px;
    border-radius:12px;
  }
  .detail-price-row .price{
    justify-content:center;
    padding:0 8px;
    gap:7px;
  }
  .detail-price-row .price span{
    font-size:12px;
  }
  .detail-price-row .price strong{
    font-size:22px;
  }
  .contact-btn{
    padding:0 8px;
    font-size:13px;
  }
  .brand-summary-tags{
    justify-content:flex-start;
  }
}
@media(max-width:380px){
  .detail-price-row .price{
    gap:5px;
  }
  .detail-price-row .price span{
    font-size:11px;
  }
  .detail-price-row .price strong{
    font-size:20px;
  }
}

/* V47: sortable product data and catalog card badges */
.product-card{position:relative}
.product-card-badge{
  position:absolute;
  z-index:3;
  top:12px;
  left:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:27px;
  padding:0 11px;
  border:1px solid rgba(0,127,118,.18);
  border-radius:999px;
  box-shadow:0 6px 16px rgba(17,65,66,.12);
  font-size:12px;
  font-weight:900;
  line-height:1;
  letter-spacing:0;
  pointer-events:none;
}
.product-card-badge.is-new{background:#dff4ef;color:#007f76}
.product-card-badge.is-hot{border-color:#ffb7a5;background:#ff6b57;color:#fff}
.preview-product-image{position:relative}
.preview-product-image .product-card-badge{top:10px;left:10px}
.gallery-item,.param-row{position:relative}
.sort-handle{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  min-width:34px;
  margin:0;
  padding:0;
  border:1px solid #cfe1df;
  border-radius:9px;
  background:#f2f9f7;
  color:#498078;
  font-size:17px;
  font-weight:900;
  line-height:1;
  cursor:grab;
  user-select:none;
}
.sort-handle:active{cursor:grabbing}
.param-row{grid-template-columns:34px 1fr 2fr auto}
.gallery-item .gallery-sort-handle{
  position:absolute;
  z-index:4;
  top:8px;
  right:8px;
  margin:0;
  border-color:rgba(0,127,118,.28);
  background:rgba(255,255,255,.94);
  box-shadow:0 5px 14px rgba(17,65,66,.14);
}
.gallery-item.is-dragging,.param-row.is-dragging{
  z-index:8;
  opacity:.58;
  border-color:var(--jade);
  box-shadow:0 12px 28px rgba(0,127,118,.18);
  transform:scale(.985);
}
.gallery-editor.is-sorting,.param-editor.is-sorting{
  outline:2px dashed rgba(0,143,132,.24);
  outline-offset:7px;
  border-radius:10px;
}
@media(max-width:760px){
  .product-card-badge{top:8px;left:8px;min-height:23px;padding:0 8px;font-size:10px}
}
@media(max-width:900px){
  .param-row{grid-template-columns:34px minmax(0,1fr)}
  .param-row [data-param-value],
  .param-row .danger{grid-column:2}
  .param-row .danger{justify-self:start}
}

/* V53: index submission settings and admin feedback */
.admin-toast-wrap{
  position:fixed;
  z-index:9999;
  top:24px;
  right:24px;
  display:grid;
  gap:10px;
  pointer-events:none;
}
.admin-toast{
  min-width:190px;
  max-width:380px;
  padding:12px 16px;
  border-radius:13px;
  background:linear-gradient(135deg,#17b8aa,#007f76);
  color:#fff;
  box-shadow:0 16px 34px rgba(0,87,82,.2);
  font-weight:900;
  line-height:1.45;
  opacity:0;
  transform:translateY(-8px);
  transition:opacity .22s ease,transform .22s ease;
}
.admin-toast.show{
  opacity:1;
  transform:translateY(0);
}
.admin-toast.error{
  background:linear-gradient(135deg,#ff745d,#d83d2a);
  box-shadow:0 16px 34px rgba(216,61,42,.18);
}
.index-submit-box{
  display:grid;
  gap:13px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(135deg,#fbfefd,#f3fbf9);
}
.index-submit-box h3{
  margin:0 0 4px;
  font-size:18px;
}
.index-submit-box p,
.index-submit-box small{
  margin:0;
  color:#607780;
  line-height:1.7;
}
.index-submit-box textarea{
  min-height:132px;
  resize:vertical;
}
.index-submit-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.index-submit-actions select{
  height:44px;
  min-width:180px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  padding:0 14px;
  color:#12323c;
  font-weight:900;
}
.index-submit-actions .primary{
  height:44px;
  min-height:44px;
}
@media(max-width:760px){
  .admin-toast-wrap{
    left:16px;
    right:16px;
    top:16px;
  }
  .admin-toast{
    max-width:none;
  }
  .index-submit-actions select,
  .index-submit-actions .primary{
    width:100%;
  }
}

/* V55: rich-content table styling */
:where(.post-content,.description article) table{
  width:100%;
  margin:28px 0 34px;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 28px rgba(18,54,62,.05);
  font-size:16px;
  line-height:1.75;
}
:where(.post-content,.description article) thead th,
:where(.post-content,.description article) tr:first-child th{
  background:#edf7f5;
  color:#0d605b;
  font-weight:950;
}
:where(.post-content,.description article) th,
:where(.post-content,.description article) td{
  padding:15px 18px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}
:where(.post-content,.description article) th{
  color:#315b65;
  font-weight:900;
  white-space:nowrap;
}
:where(.post-content,.description article) td{
  color:#39525b;
}
:where(.post-content,.description article) tr:last-child > *{
  border-bottom:0;
}
:where(.post-content,.description article) tr > *:last-child{
  border-right:0;
}
:where(.post-content,.description article) tbody tr:nth-child(even) td{
  background:#fbfefd;
}
:where(.post-content,.description article) table p{
  margin:0;
}
@media(max-width:760px){
  :where(.post-content,.description article) table{
    display:block;
    width:100%;
    margin:22px 0 28px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    border-radius:12px;
    font-size:14px;
    line-height:1.65;
  }
  :where(.post-content,.description article) th,
  :where(.post-content,.description article) td{
    min-width:120px;
    padding:12px 13px;
  }
}
