/* ============================================================
   電材堂 DENZAIDO — 工业风主题
   ============================================================ */

/* 作用域内的盒模型与列表重置（不影响 EC-CUBE 原生组件） */
.dz-topbar,.dz-topbar *,.dz-header,.dz-header *,.dz-footer,.dz-footer *,
.dz-hero,.dz-hero *,.dz-finder,.dz-finder *,.dz-sec,.dz-sec *,
.dz-wrap,.dz-wrap *,.dz-card,.dz-card *,.dz-cat,.dz-b2b,.dz-b2b *{box-sizing:border-box}
.dz-nav ul,.dz-footer ul,.dz-b2b ul,.dz-cats,.dz-grid,.dz-specs,.dz-actions{list-style:none;margin:0;padding:0}
.dz-card__thumb img,.dz-hero__img img,.dz-b2b__img{display:block}
:root{
  --ink:#0F1419; --steel:#39424D; --muted:#6B7684; --muted2:#9BA5B0;
  --line:#DCE1E6; --line2:#EDF0F3; --bg:#F4F6F8; --white:#fff;
  --accent:#F25C05; --accent-dk:#D14E02; --blue:#1257A8;
  --ok:#1B8A4B; --warn:#C98A00;
  --sans:"Noto Sans CJK JP","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --mono:"SF Mono","Roboto Mono","DejaVu Sans Mono",monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
}
body{font-family:var(--sans);color:var(--ink);background:var(--white);font-size:13.5px;line-height:1.7;letter-spacing:.01em;font-variant-numeric:tabular-nums}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.dz-wrap{max-width:1320px;margin:0 auto;padding:0 40px}
.mono{font-family:var(--mono);letter-spacing:.04em}

/* 顶栏 */
.dz-topbar{background:var(--ink);color:#C9D1DA;font-size:11px;height:34px;display:flex;align-items:center;letter-spacing:.06em}
.dz-topbar .dz-wrap{display:flex;justify-content:space-between;width:100%}
.dz-topbar b{color:#fff;font-weight:500}
.dz-topbar .sep{margin:0 12px;color:#4A5563}

/* 头部 */
.dz-header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:60}
.dz-header .dz-wrap{height:74px;display:flex;align-items:center;gap:32px}
.dz-logo{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.dz-logo i{width:30px;height:30px;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-weight:700;font-size:15px}
.dz-logo span{font-size:18px;font-weight:700;letter-spacing:.08em;line-height:1.1}
.dz-logo small{display:block;font-size:8.5px;letter-spacing:.22em;color:var(--muted);font-weight:400}
.dz-search{flex:1 1 auto;display:flex;max-width:520px}
.dz-search select{height:42px;border:1px solid var(--line);border-right:0;background:var(--bg);font-size:12px;padding:0 10px;font-family:var(--sans);color:var(--steel);border-radius:0}
.dz-search input{flex:1;height:42px;border:1px solid var(--line);padding:0 14px;font-size:13px;font-family:var(--sans);outline:none}
.dz-search input:focus{border-color:var(--ink)}
.dz-search button{height:42px;padding:0 22px;background:var(--ink);color:#fff;border:1px solid var(--ink);font-size:12px;letter-spacing:.1em;cursor:pointer;font-family:var(--sans)}
.dz-search button:hover{background:var(--accent);border-color:var(--accent)}
.dz-actions{display:flex;align-items:center;gap:22px;flex:0 0 auto}
.dz-act{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9.5px;color:var(--muted);letter-spacing:.04em;position:relative}
.dz-act svg{width:20px;height:20px;stroke:var(--steel);fill:none;stroke-width:1.4}
.dz-act .num{position:absolute;top:-5px;right:-7px;min-width:15px;height:15px;border-radius:8px;background:var(--accent);color:#fff;font-size:9.5px;line-height:15px;text-align:center;padding:0 3px}

/* 导航 */
.dz-nav{border-bottom:1px solid var(--line);background:#fff}
.dz-nav .dz-wrap{display:flex;gap:0;height:46px;align-items:stretch}
.dz-nav a{display:flex;align-items:center;padding:0 18px;font-size:12.5px;letter-spacing:.04em;color:var(--steel);border-bottom:2px solid transparent;transition:.2s}
.dz-nav a:first-child{padding-left:0;color:var(--ink);font-weight:600}
.dz-nav a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* Hero */
.dz-hero{position:relative;background:var(--bg);overflow:hidden;border-bottom:1px solid var(--line)}
.dz-hero__bg{position:absolute;inset:0;background:url(img/hero.jpg) center/cover no-repeat;opacity:.9}
.dz-hero .dz-wrap{position:relative;display:grid;grid-template-columns:1fr .85fr;gap:60px;align-items:center;padding-top:72px;padding-bottom:72px}
.dz-tag{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;font-size:10.5px;letter-spacing:.16em;padding:6px 12px;margin-bottom:22px}
.dz-hero h1{font-size:42px;line-height:1.35;font-weight:700;letter-spacing:.01em;margin-bottom:20px}
.dz-hero h1 em{font-style:normal;color:var(--accent)}
.dz-hero p{font-size:14px;line-height:1.95;color:var(--steel);margin-bottom:30px;max-width:520px}
.dz-specs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.dz-spec{background:#fff;border:1px solid var(--line);padding:10px 16px;font-size:11.5px;color:var(--steel);display:flex;gap:8px;align-items:baseline}
.dz-spec b{font-size:15px;color:var(--ink);font-weight:700}
.dz-btns{display:flex;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 32px;font-size:13px;letter-spacing:.08em;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;font-family:var(--sans);transition:.25s var(--ease);font-weight:500}
.btn:hover{background:var(--accent);border-color:var(--accent)}
.btn--line{background:#fff;color:var(--ink)}
.btn--line:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--accent{background:var(--accent);border-color:var(--accent)}
.btn--accent:hover{background:var(--accent-dk);border-color:var(--accent-dk)}
.btn--sm{height:42px;padding:0 22px;font-size:12px}
.btn--block{width:100%}
.dz-hero__img{position:relative;background:#fff;border:1px solid var(--line);padding:26px;box-shadow:0 18px 44px rgba(15,20,25,.08)}
.dz-hero__img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.dz-hero__img .plate{position:absolute;left:26px;top:26px;background:var(--ink);color:#fff;font-size:10px;letter-spacing:.16em;padding:5px 10px}

/* 型番検索条 */
.dz-finder{background:var(--ink);color:#fff;padding:20px 0}
.dz-finder .dz-wrap{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.dz-finder h3{font-size:13px;letter-spacing:.1em;font-weight:500;display:flex;align-items:center;gap:10px;flex:0 0 auto}
.dz-finder h3 i{width:3px;height:16px;background:var(--accent);display:block}
.dz-finder form{flex:1;display:flex;min-width:280px;max-width:560px}
.dz-finder input{flex:1;height:44px;border:0;padding:0 16px;font-size:13px;font-family:var(--sans);outline:none}
.dz-finder button{height:44px;padding:0 26px;background:var(--accent);color:#fff;border:0;font-size:12.5px;letter-spacing:.1em;cursor:pointer;font-family:var(--sans)}
.dz-finder .hint{font-size:11px;color:#8C97A3;letter-spacing:.04em}

/* 通用区块 */
.dz-sec{padding:64px 0}
.dz-sec--bg{background:var(--bg)}
.dz-sechead{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px}
.dz-sechead h2{font-size:21px;font-weight:700;letter-spacing:.02em;display:flex;align-items:center;gap:12px}
.dz-sechead h2 i{width:4px;height:20px;background:var(--accent);display:block}
.dz-sechead p{font-size:12px;color:var(--muted);margin-top:6px;padding-left:16px}
.dz-more{font-size:12px;color:var(--steel);letter-spacing:.06em;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.dz-more:hover{color:var(--accent)}

/* 分类 */
.dz-cats{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.dz-cat{background:#fff;padding:22px 14px;display:flex;flex-direction:column;align-items:center;gap:10px;transition:.25s var(--ease);text-align:center}
.dz-cat:hover{background:var(--ink);color:#fff}
.dz-cat svg{width:28px;height:28px;stroke:var(--accent);fill:none;stroke-width:1.5}
.dz-cat:hover svg{stroke:#fff}
.dz-cat span{font-size:11.5px;letter-spacing:.02em;line-height:1.4}
.dz-cat small{font-size:9px;color:var(--muted2);letter-spacing:.14em}
.dz-cat:hover small{color:#8C97A3}

/* 商品卡 */
.dz-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.dz-card{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;transition:.25s var(--ease)}
.dz-card:hover{border-color:var(--ink);box-shadow:0 10px 28px rgba(15,20,25,.08)}
.dz-card__thumb{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--line2)}
.dz-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.dz-card:hover .dz-card__thumb img{transform:scale(1.04)}
.dz-badge{position:absolute;top:10px;left:10px;font-size:9.5px;letter-spacing:.1em;padding:4px 8px;color:#fff}
.dz-badge--new{background:var(--accent)}
.dz-badge--sale{background:var(--blue)}
.dz-stock{position:absolute;bottom:10px;right:10px;font-size:9.5px;letter-spacing:.06em;padding:4px 8px;background:rgba(255,255,255,.95);border:1px solid var(--line);display:flex;align-items:center;gap:5px;color:var(--ok)}
.dz-stock i{width:6px;height:6px;border-radius:50%;background:var(--ok);display:block}
.dz-stock--low{color:var(--warn)}
.dz-stock--low i{background:var(--warn)}
.dz-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.dz-model{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.04em;margin-bottom:6px}
.dz-card h3{font-size:13px;font-weight:500;line-height:1.55;margin-bottom:8px;min-height:40px}
.dz-card:hover h3{color:var(--accent)}
.dz-metas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.dz-meta{font-size:9.5px;color:var(--muted);border:1px solid var(--line);padding:2px 7px;letter-spacing:.02em}
.dz-card__foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--line2)}
.dz-price{font-size:19px;font-weight:700;letter-spacing:-.01em}
.dz-price small{font-size:10px;font-weight:400;color:var(--muted);margin-left:3px}
.dz-card__cart{height:36px;padding:0 14px;background:var(--ink);color:#fff;border:0;font-size:11px;letter-spacing:.08em;cursor:pointer;font-family:var(--sans)}
.dz-card__cart:hover{background:var(--accent)}

/* 法人向け */
.dz-b2b{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;border:1px solid var(--line);background:#fff}
.dz-b2b__img{background:url(img/b2b.jpg) center/cover no-repeat;min-height:340px}
.dz-b2b__body{padding:52px 56px}
.dz-b2b h2{font-size:26px;font-weight:700;line-height:1.5;margin-bottom:16px}
.dz-b2b p{font-size:13px;line-height:1.95;color:var(--steel);margin-bottom:26px}
.dz-b2b ul{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin-bottom:30px}
.dz-b2b li{font-size:12.5px;display:flex;gap:10px;align-items:flex-start;color:var(--steel)}
.dz-b2b li i{width:16px;height:16px;background:var(--accent);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;font-style:normal;flex:0 0 auto;margin-top:3px}

/* メーカー */
.dz-brands{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.dz-brand{background:#fff;height:86px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;letter-spacing:.1em;color:var(--muted);transition:.25s}
.dz-brand:hover{color:var(--ink);background:var(--bg)}

/* 页脚 */
.dz-footer{background:var(--ink);color:#A9B3BE;padding:56px 0 0}
.dz-footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;padding-bottom:44px}
.dz-footer h4{font-size:11px;letter-spacing:.2em;color:#fff;margin-bottom:16px;font-weight:500}
.dz-footer li{margin-bottom:9px}
.dz-footer li a{font-size:12px;color:#8C97A3}
.dz-footer li a:hover{color:#fff}
.dz-footer p{font-size:11.5px;line-height:1.95;color:#8C97A3}
.dz-footer .dz-logo span{color:#fff}
.dz-footer .dz-logo small{color:#6B7684}
.dz-fbottom{border-top:1px solid #222A33;padding:20px 0;display:flex;justify-content:space-between;font-size:10.5px;letter-spacing:.06em;color:#6B7684}

/* 面包屑 */
.dz-crumb{font-size:11px;color:var(--muted);padding:16px 0;border-bottom:1px solid var(--line);letter-spacing:.04em}
.dz-crumb a:hover{color:var(--accent)}
.dz-crumb span{margin:0 8px;color:var(--muted2)}

/* 列表页 */
.dz-pagehead{padding:34px 0 22px;border-bottom:1px solid var(--line)}
.dz-pagehead h1{font-size:26px;font-weight:700;letter-spacing:.02em}
.dz-pagehead .sub{font-size:12px;color:var(--muted);margin-top:6px}
.dz-list{display:grid;grid-template-columns:220px 1fr;gap:32px;padding:28px 0 72px}
.dz-side h4{font-size:11px;letter-spacing:.14em;color:var(--ink);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--ink);font-weight:600}
.dz-side ul{margin-bottom:28px}
.dz-side li a{display:flex;justify-content:space-between;font-size:12.5px;color:var(--steel);padding:7px 0;border-bottom:1px solid var(--line2)}
.dz-side li a:hover,.dz-side li a.on{color:var(--accent);font-weight:500}
.dz-side li a span{color:var(--muted2);font-size:11px}
.dz-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.dz-toolbar select{height:34px;border:1px solid var(--line);background:#fff;padding:0 10px;font-size:12px;font-family:var(--sans);color:var(--steel)}
.dz-grid--3{grid-template-columns:repeat(3,1fr)}
.dz-pager{display:flex;justify-content:center;gap:4px;margin-top:44px}
.dz-pager a{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);font-size:12px;color:var(--steel)}
.dz-pager a:hover,.dz-pager a.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* 详情页 */
.dz-detail{display:grid;grid-template-columns:1.05fr 1fr;gap:52px;padding:34px 0 64px}
.dz-gal__main{aspect-ratio:4/5;border:1px solid var(--line);background:var(--bg);overflow:hidden}
.dz-gal__main img{width:100%;height:100%;object-fit:cover}
.dz-gal__thumbs{display:flex;gap:8px;margin-top:10px}
.dz-gal__thumbs div{width:66px;aspect-ratio:1;border:1px solid var(--line);overflow:hidden;opacity:.65;cursor:pointer}
.dz-gal__thumbs div:hover,.dz-gal__thumbs div.on{opacity:1;border-color:var(--ink)}
.dz-gal__thumbs img{width:100%;height:100%;object-fit:cover}
.dz-info .dz-model{font-size:12px;margin-bottom:10px}
.dz-info h1{font-size:25px;font-weight:700;line-height:1.5;margin-bottom:16px}
.dz-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.dz-chip{font-size:11px;background:var(--bg);border:1px solid var(--line);padding:5px 11px;color:var(--steel)}
.dz-chip b{color:var(--ink);font-weight:600}
.dz-pricebox{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:22px;display:flex;align-items:flex-end;justify-content:space-between}
.dz-pricebox .p{font-size:30px;font-weight:700;letter-spacing:-.02em}
.dz-pricebox .p small{font-size:12px;font-weight:400;color:var(--muted);margin-left:5px}
.dz-pricebox .stock{font-size:11.5px;color:var(--ok);display:flex;align-items:center;gap:6px}
.dz-pricebox .stock i{width:7px;height:7px;border-radius:50%;background:var(--ok)}
.dz-opts{margin-bottom:22px}
.dz-opts label{display:block;font-size:11px;letter-spacing:.1em;color:var(--muted);margin-bottom:8px;font-weight:500}
.dz-opts .row{display:flex;gap:8px;flex-wrap:wrap}
.dz-opts button{height:40px;min-width:74px;padding:0 16px;border:1px solid var(--line);background:#fff;font-size:12.5px;cursor:pointer;font-family:var(--sans);color:var(--steel)}
.dz-opts button:hover{border-color:var(--steel)}
.dz-opts button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.dz-qty{display:inline-flex;align-items:center;border:1px solid var(--line);height:46px}
.dz-qty button{width:42px;height:100%;border:0;background:#fff;font-size:16px;cursor:pointer;color:var(--steel)}
.dz-qty input{width:56px;height:100%;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font-size:13px;font-family:var(--sans)}
.dz-actions{display:flex;gap:10px;margin-top:22px}
.dz-actions .btn{flex:1}
.dz-notes{margin-top:26px;border:1px solid var(--line);background:var(--bg);padding:16px 18px;font-size:11.5px;color:var(--steel);line-height:1.95}
.dz-tabs{margin-top:8px;border-top:1px solid var(--line)}
.dz-tabs .head{display:flex;gap:0;border-bottom:1px solid var(--line)}
.dz-tabs .head button{padding:16px 26px;background:none;border:0;border-bottom:2px solid transparent;font-size:12.5px;color:var(--muted);cursor:pointer;font-family:var(--sans);letter-spacing:.04em}
.dz-tabs .head button.on{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}
.dz-tabs .body{padding:28px 0;font-size:13px;line-height:2;color:var(--steel)}
.dz-spectable{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:8px}
.dz-spectable th,.dz-spectable td{border:1px solid var(--line);padding:10px 14px;text-align:left}
.dz-spectable th{background:var(--bg);width:180px;font-weight:500;color:var(--steel)}

@media (max-width:1200px){
  .dz-wrap{padding:0 24px}
  .dz-cats{grid-template-columns:repeat(4,1fr)}
  .dz-grid{grid-template-columns:repeat(2,1fr)}
  .dz-grid--3{grid-template-columns:repeat(2,1fr)}
  .dz-hero .dz-wrap{grid-template-columns:1fr;gap:32px}
  .dz-b2b{grid-template-columns:1fr}
  .dz-brands{grid-template-columns:repeat(3,1fr)}
  .dz-list,.dz-detail{grid-template-columns:1fr;gap:28px}
  .dz-nav,.dz-search{display:none}
  .dz-footer .cols{grid-template-columns:1fr 1fr}
}


/* ============================================================
   EC-CUBE 原生组件重塑（工业风）
   ============================================================ */
body{font-family:var(--sans)}
.ec-layoutRole{display:block;width:100%;max-width:none;margin:0;padding:0}
.ec-layoutRole__contents{display:block;max-width:1320px;margin:0 auto;padding:0 40px}
.ec-layoutRole__main,.ec-layoutRole__mainWithColumn,.ec-layoutRole__mainBetweenColumn{width:100%;max-width:none;padding:0}
.ec-layoutRole__left,.ec-layoutRole__right{display:none}
.ec-role{max-width:1320px;margin:0 auto;padding:0 40px}

.ec-layoutRole__header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line)}
.ec-headerRole,.ec-headerNaviRole,.ec-headerLink{border:0;background:none;padding:0}
.ec-headerRole .ec-headerRole__navSP,.ec-headerNaviRole .ec-headerNaviRole__search,.ec-headerNaviRole .ec-headerNaviRole__nav{display:none}
.ec-layoutRole__footer{background:var(--ink);color:#A9B3BE}

/* 面包屑 */
.ec-topicpath,.ec-searchnavRole__topicpath{font-size:11px;color:var(--muted);padding:16px 0;border-bottom:1px solid var(--line);margin:0;list-style:none}
.ec-topicpath li{display:inline}
.ec-topicpath__divider{color:var(--muted2);margin:0 8px}

/* 列表页 */
.ec-pageHeader{padding:34px 0 22px;border:0;text-align:left;border-bottom:1px solid var(--line)}
.ec-pageHeader h1{font-size:26px;font-weight:700;border:0;padding:0;margin:0;letter-spacing:.02em}
.ec-searchnavRole{padding:0}
.ec-searchnavRole__infos{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.ec-select select{height:34px;border:1px solid var(--line);background:#fff;padding:0 10px;font-size:12px;font-family:var(--sans);color:var(--steel);border-radius:0}

/* 商品网格 */
.ec-shelfRole{padding:20px 0 0}
.ec-shelfGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0;padding:0;list-style:none;border:0;flex-wrap:nowrap}
.ec-shelfGrid::before,.ec-shelfGrid::after{display:none}
.ec-shelfGrid .ec-shelfGrid__item{width:auto;margin:0;padding:0;border:1px solid var(--line);float:none;display:flex;flex-direction:column;min-width:0;background:#fff;transition:.25s var(--ease)}
.ec-shelfGrid .ec-shelfGrid__item:hover{border-color:var(--ink);box-shadow:0 10px 28px rgba(15,20,25,.08)}
.ec-shelfGrid .ec-shelfGrid__item a{display:block;min-width:0;padding:14px 16px 0}
.ec-shelfGrid .ec-shelfGrid__item-image{margin:0 -16px 12px;aspect-ratio:4/5;overflow:hidden;background:var(--bg);padding:0;border:0;text-align:left;display:block;border-bottom:1px solid var(--line2)}
.ec-shelfGrid .ec-shelfGrid__item-image img{display:block;width:100%;height:100%;max-height:none;max-width:none;object-fit:cover;border:0;padding:0;background:none;display:block;transition:transform .6s var(--ease)}
.ec-shelfGrid .ec-shelfGrid__item a:hover .ec-shelfGrid__item-image img{transform:scale(1.04)}
.ec-shelfGrid .ec-shelfGrid__item p{font-size:13px;color:var(--ink);margin:0 0 8px;line-height:1.55;word-break:break-word;overflow-wrap:anywhere;text-align:left;font-weight:500}
.ec-shelfGrid .ec-shelfGrid__item p.price02-default{font-size:19px;font-weight:700;color:var(--ink);margin-top:10px;padding-top:12px;border-top:1px solid var(--line2);letter-spacing:-.01em}
/* 列表页：规格选择必须可见，否则无法选型/无法加购 */
.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__actions{margin:0 -16px;padding:0 16px 12px}
.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__actions .ec-select{margin:0 0 7px;display:block}
.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__actions .ec-select label{display:block;font-size:9.5px;letter-spacing:.1em;color:var(--muted);margin:0 0 3px;font-weight:500}
.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__actions .ec-select select{width:100%;height:30px;font-size:11.5px;border:1px solid var(--line);border-radius:0;padding:0 6px;background:#fff;font-family:var(--sans);color:var(--ink)}
.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__actions .ec-select select:focus{border-color:var(--ink);outline:none}
.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__actions .ec-select .error{color:#C0392B;font-size:10px;margin-top:3px}
.ec-shelfGrid .ec-shelfGrid__item .ec-numberInput{display:none}
.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__btn{margin:0}
.ec-shelfGrid .ec-shelfGrid__item .ec-blockBtn--action,
.ec-shelfGrid .ec-shelfGrid__item .ec-inlineBtn{height:36px;line-height:34px;font-size:11px;letter-spacing:.08em;width:100%;padding:0;background:var(--ink);border:1px solid var(--ink);color:#fff;border-radius:0;display:block}
.ec-shelfGrid .ec-shelfGrid__item .ec-blockBtn--action:hover,
.ec-shelfGrid .ec-shelfGrid__item .ec-inlineBtn:hover{background:var(--accent);border-color:var(--accent);color:#fff}

/* 分页 */
.ec-pager{display:flex;justify-content:center;gap:4px;margin:44px 0 64px;padding:0;list-style:none;border:0}
.ec-pager__item,.ec-pager__item--active,.ec-pager__item--disable{float:none;margin:0;padding:0;border:0}
.ec-pager__item a,.ec-pager__item--active a,.ec-pager__item span{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);font-size:12px;color:var(--steel);padding:0 8px}
.ec-pager__item a:hover,.ec-pager__item--active a,.ec-pager__item--active span{background:var(--ink);color:#fff;border-color:var(--ink)}

/* 详情页 */
.ec-productRole{padding:34px 0 64px}
.ec-productRole .ec-productRole__img{width:52%;box-sizing:border-box;float:none;padding:0 40px 0 0;display:inline-block;vertical-align:top}
.ec-productRole .ec-productRole__img img{border:1px solid var(--line);background:var(--bg)}
.ec-productRole .ec-productRole__profile{width:47%;box-sizing:border-box;float:none;padding:0;display:inline-block;vertical-align:top}
.ec-productRole .ec-productRole__title h2{font-size:25px;font-weight:700;line-height:1.5;border:0;padding:0;margin-bottom:14px}
.ec-productRole__category,.ec-productRole__category a{font-size:11px;color:var(--muted);margin-bottom:10px;letter-spacing:.04em}
.ec-productRole__price{padding:18px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);margin-bottom:22px}
.ec-productRole .ec-productRole__price .price02-default{font-size:30px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.ec-productRole__price .price02-default span{font-size:12px;font-weight:400;color:var(--muted);margin-left:5px}
.ec-productRole__price,.ec-productRole__price *,.ec-shelfGrid__item .price02-default{color:var(--ink)!important}
.ec-productRole__description{font-size:13px;line-height:1.95;color:var(--steel);padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}
.ec-productRole__actions{padding:0}
.ec-productRole__actions .ec-select,.ec-productRole__actions .ec-input{margin-bottom:18px}
.ec-productRole__actions label{display:block;font-size:11px;letter-spacing:.1em;color:var(--muted);margin-bottom:8px;font-weight:500}
.ec-productRole__btn{margin-top:20px}
.ec-productRole__btn .ec-blockBtn--action{width:100%;display:block}
.ec-productRole__actions .ec-select select{width:100%;height:40px;font-size:12.5px;border:1px solid var(--line);border-radius:0;padding:0 10px;background:#fff;font-family:var(--sans);color:var(--ink)}
.ec-productRole__actions .ec-select select:focus{border-color:var(--ink);outline:none}
.ec-numberInput{display:flex;align-items:center;gap:12px}
.ec-numberInput span{font-size:11px;letter-spacing:.1em;color:var(--muted)}
.ec-numberInput input{width:88px;height:40px;border:1px solid var(--line);border-radius:0;text-align:center;font-size:13px}
.ec-productRole__shop{margin-top:24px;padding:14px 16px;border:1px solid var(--line);background:var(--bg);font-size:11.5px;color:var(--steel);line-height:1.95}

/* 表单 */
.ec-input input,.ec-input textarea,.ec-select select,.ec-halfInput input,.ec-zipInput input,.ec-telInput input{
  border:1px solid var(--line);background:#fff;border-radius:0;font-family:var(--sans);font-size:13px;color:var(--ink);padding:10px 13px;box-shadow:none}
.ec-input input:focus,.ec-input textarea:focus,.ec-select select:focus{border-color:var(--ink);outline:none;box-shadow:none}
.ec-input input,.ec-input textarea{width:100%;box-sizing:border-box}
.ec-halfInput input{width:100%;box-sizing:border-box}
.ec-label,.ec-input label,.ec-halfInput label{font-size:12px;color:var(--steel);font-weight:500}
.ec-required{background:var(--accent);color:#fff;font-size:9.5px;padding:2px 7px;border-radius:0}

/* 按钮 */
.ec-blockBtn--action,.ec-blockBtn--cancel,.ec-inlineBtn,.ec-btn{
  height:50px;line-height:48px;padding:0 32px;border-radius:0;font-size:13px;letter-spacing:.06em;
  font-family:var(--sans);font-weight:500;transition:.25s var(--ease);text-align:center;display:inline-block;
  border:1px solid var(--ink);background:var(--ink);color:#fff}
.ec-blockBtn--action:hover,.ec-inlineBtn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.ec-blockBtn--cancel{background:#fff;color:var(--ink);border-color:var(--line)}
.ec-blockBtn--cancel:hover{background:var(--bg);border-color:var(--steel);color:var(--ink)}

/* 购物车 / 结算 */
.ec-cartRole,.ec-orderRole{padding:28px 0 64px}
.ec-cartRole__title,.ec-orderRole__summary,.ec-orderRole__detail,.ec-rectHeading h2{font-size:19px;font-weight:700;border:0;padding:0;margin-bottom:18px}
.ec-cartTable{border:0;border-collapse:collapse;width:100%}
.ec-cartTable th{border:0;border-bottom:2px solid var(--ink);font-size:11px;letter-spacing:.1em;color:var(--ink);font-weight:600;padding:12px 8px;background:none}
.ec-cartTable td{border:0;border-bottom:1px solid var(--line);padding:16px 8px;font-size:13px;background:none}
.ec-totalBox{background:var(--bg);border:1px solid var(--line);padding:28px 32px}
.ec-totalBox__price{font-size:26px;font-weight:700}
.ec-totalBox__spec{font-size:12px;color:var(--muted)}

/* マイページ */
.ec-mypageRole,.ec-borderedDefs{border:0}
.ec-borderedDefs dt,.ec-definitions dt{font-size:11.5px;color:var(--muted);font-weight:500;border:0;padding:10px 0 4px}
.ec-borderedDefs dd,.ec-definitions dd{border:0;border-bottom:1px solid var(--line);padding:0 0 12px;font-size:13px}
.ec-progress__number{border-radius:0;background:var(--ink);color:#fff;font-size:11px}
.ec-progress__label{font-size:11px;color:var(--muted)}
.ec-alert-warning{background:var(--bg);border:1px solid var(--line);border-radius:0}

@media (max-width:1200px){
  .ec-layoutRole__contents,.dz-wrap{padding:0 20px}
  .ec-shelfGrid{grid-template-columns:repeat(2,1fr)}
  .ec-productRole .ec-productRole__img,.ec-productRole .ec-productRole__profile{width:100%;display:block;padding:0}
}
