:root {
  --g1: #0c2e1b; --g2: #1f5a37; --g3: #2d7a4f; --g4: #3d9966;
  --g-lt: #edf7f1; --g-md: #c8ecd5; --white: #ffffff;
  --gray50: #f7f9f8; --gray100: #eef1ef; --gray200: #dde3de;
  --gray400: #8fa898; --gray600: #445c4a; --gray800: #1a2b1e;
  --shadow: 0 1px 3px rgba(12,46,27,.08), 0 4px 16px rgba(12,46,27,.06);
  --shadow-lg: 0 8px 32px rgba(12,46,27,.16);
  --shadow-xl: 0 24px 64px rgba(12,46,27,.22);
  --radius: 12px;
}
.hero-band{background:linear-gradient(135deg, var(--g1) 0%, var(--g2) 60%, var(--g3) 100%);padding:56px 40px 48px;position:relative;overflow:hidden;margin-top:72px;}
.hero-band::before{content:'';position:absolute;right:-200px;top:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%);}
.hero-inner{margin:0 auto;max-width:1100px;display:flex;align-items:center;justify-content:space-between;gap:48px;position:relative;z-index:2;}
.hero-visual{margin-left:-32px;}
.hero-tag{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;padding:4px 12px;border-radius:20px;margin-bottom:16px;}
.hero-band h1{font-size:clamp(28px,3.5vw,44px);font-weight:700;color:#fff;line-height:1.15;letter-spacing:-.4px;margin-bottom:12px;}
.hero-band h1 span{color:rgba(255,255,255,.6);}
.hero-band p{font-size:15px;color:rgba(255,255,255,.65);line-height:1.7;max-width:420px;margin-bottom:0;}
.hero-stats{display:flex;gap:32px;margin-top:28px;}
.hstat strong{display:block;font-size:24px;font-weight:700;color:#fff;font-family:'DM Mono',monospace;}
.hstat span{font-size:11px;color:rgba(255,255,255,.5);font-weight:500;text-transform:uppercase;letter-spacing:.5px;}

.material-tabs{max-width:1100px;margin:0 auto;padding:32px 20px 0;text-align:center;}
.tab-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gray400);margin-bottom:14px;}
.tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.tab{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 20px;background:#fff;border:1.5px solid var(--gray200);border-radius:12px;cursor:pointer;transition:all .2s;min-width:90px;}
.tab:hover{border-color:var(--g3);background:var(--g-lt);}
.tab.active{border-color:var(--g2);background:var(--g-lt);box-shadow:0 0 0 3px rgba(31,90,55,.1);}
.tab-icon{font-size:22px;line-height:1;}
.tab-name{font-size:12px;font-weight:600;color:var(--gray800);}
.tab-sub{font-size:10px;color:var(--gray400);}

.calc-grid{max-width:1100px;margin:0 auto;padding:24px 20px 64px;display:grid;grid-template-columns:1fr 380px;gap:24px;align-items:start;}
.left-panel{display:flex;flex-direction:column;gap:20px;}
.quality-card{background:#fff;border:1px solid var(--gray200);border-radius:var(--radius);padding:24px;}
.card-title{font-size:13px;font-weight:700;color:var(--gray800);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.card-title-icon{width:24px;height:24px;background:var(--g-lt);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;}
.quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.quality-opt{border:1.5px solid var(--gray200);border-radius:10px;padding:14px;cursor:pointer;transition:all .2s;background:var(--gray50);}
.quality-opt:hover{border-color:var(--g3);background:var(--g-lt);}
.quality-opt.active{border-color:var(--g2);background:var(--g-lt);box-shadow:0 0 0 3px rgba(31,90,55,.1);}
.qo-name{font-size:13px;font-weight:700;color:var(--gray800);margin-bottom:3px;}
.qo-desc{font-size:11px;color:var(--gray400);line-height:1.5;}
.qo-badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:3px 8px;border-radius:999px;margin-top:8px;border:1px solid transparent;}
.badge-std{background:rgba(31,90,55,.08);color:var(--g2);border-color:rgba(31,90,55,.25);}
.badge-prem{background:rgba(31,90,55,.06);color:var(--g1);border-color:rgba(31,90,55,.25);}
.badge-sp{background:rgba(234,179,8,.08);color:#a16207;border-color:rgba(234,179,8,.25);}

.dims-card{background:#fff;border:1px solid var(--gray200);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);}
.dim-row{display:grid;gap:12px;margin-bottom:14px;align-items:end;}
.dim-row.dim-3{grid-template-columns:1.2fr .8fr 1fr;}
.dim-row.dim-2{grid-template-columns:1fr 1fr;}
.dim-row:last-of-type{margin-bottom:0;}
.fg{background:var(--gray50);border:1px solid var(--gray200);border-radius:10px;padding:10px;}
.fg label{display:block;font-size:11px;font-weight:600;color:var(--gray400);letter-spacing:.3px;text-transform:uppercase;margin-bottom:6px;}
.fg input,.fg select{width:100%;background:#fff;border:1.5px solid var(--gray200);color:var(--gray800);padding:10px 14px;font-size:15px;font-weight:500;border-radius:8px;outline:none;transition:all .15s;}
.fg input:focus,.fg select:focus{border-color:var(--g2);background:#fff;box-shadow:0 0 0 3px rgba(31,90,55,.1);}
.fg select{font-size:13px;cursor:pointer;}
h6{margin-top:0;margin-bottom:8px;font-size:12px;}

.right-panel{display:flex;flex-direction:column;gap:20px;position:sticky;top:90px;}
.result-card{background:linear-gradient(145deg,var(--g1),var(--g2));border-radius:var(--radius);padding:28px;color:#fff;box-shadow:var(--shadow-xl);position:relative;overflow:hidden;}
.rc-label{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:6px;}
.rc-val{font-size:42px;font-weight:700;color:#fff;letter-spacing:-1px;line-height:1;}
.rc-unit{font-size:16px;color:rgba(255,255,255,.6);font-weight:400;margin-left:4px;}
.rc-divider{border:none;border-top:1px solid rgba(255,255,255,.1);margin:20px 0;}
.rc-rows{display:flex;flex-direction:column;gap:10px;}
.rc-row{display:flex;justify-content:space-between;align-items:center;}
.rc-row-label{font-size:12px;color:rgba(255,255,255,.55);}
.rc-row-val{font-size:13px;font-weight:600;color:#fff;}
.calc-btn{width:100%;background:linear-gradient(135deg,var(--g2),var(--g1));color:#fff;border:none;padding:15px;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;}
.calc-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg);}

/* Info panel */
.info-card{background:#fff;border:1px solid var(--gray200);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);}
.info-rows{display:flex;flex-direction:column;gap:10px;}
.info-row{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--gray600);}
.info-icon{width:20px;height:20px;background:var(--g-lt);border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;margin-top:1px;}

/* Cart / List elements */
.list-card{background:#fff;border:1px solid var(--gray200);border-radius:var(--radius);padding:20px;}
.list-items{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;}
.list-item{background:var(--gray50);border:1px solid var(--gray200);border-radius:8px;padding:12px;display:flex;justify-content:space-between;align-items:center;font-size:13px;}
.li-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;}
.li-title{font-weight:700;color:var(--gray800);}
.li-desc{color:var(--gray400);font-size:12px;}
.li-remove{color:var(--danger,#e11d48);background:rgba(225,29,72,.1);border:none;padding:6px;border-radius:6px;cursor:pointer;}
.li-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.li-qty-controls{display:flex;align-items:center;gap:0;border:1.5px solid var(--gray200);border-radius:8px;overflow:hidden;background:#fff;}
.li-qty-btn{width:28px;height:28px;border:none;background:var(--gray50);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--gray600);transition:all .15s;}
.li-qty-btn:hover{background:var(--g-lt);color:var(--g2);}
.li-qty-val{width:32px;text-align:center;font-size:13px;font-weight:700;color:var(--gray800);border-left:1px solid var(--gray200);border-right:1px solid var(--gray200);line-height:28px;}
.submit-list-btn{width:100%;background:var(--g2);color:#fff;border:none;padding:15px;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;}
.submit-list-btn:disabled{opacity:0.5;cursor:not-allowed;}

/* Custom Quality Toggle */
.custom-quality-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border: 1.5px dashed var(--gray200);
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--g2);
  cursor: pointer;
  background: transparent;
  transition: all .2s;
  margin-top: 4px;
}
.custom-quality-toggle:hover {
  border-color: var(--g3);
  background: var(--g-lt);
}
.custom-quality-wrap {
  grid-column: 1 / -1;
}
.custom-quality-input {
  width: 100%;
  background: #fff;
  border: 1.5px solid var(--gray200);
  color: var(--gray800);
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 10px;
  outline: none;
  transition: all .15s;
}
.custom-quality-input:focus {
  border-color: var(--g2);
  box-shadow: 0 0 0 3px rgba(31,90,55,.1);
}
.custom-quality-input::placeholder {
  color: var(--gray400);
  font-weight: 400;
}

/* Modal Form */
.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);display:none;justify-content:center;align-items:center;z-index:9999;}
.modal-overlay.active{display:flex;}
.modal-box{background:#fff;border-radius:16px;padding:30px;width:100%;max-width:500px;box-shadow:var(--shadow-xl);}
.modal-title{font-size:18px;font-weight:700;margin-bottom:20px;color:var(--gray800);}
.btn-submit-form{background:var(--g2);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-weight:600;width:100%;margin-top:20px;cursor:pointer;}

@media(max-width:900px){
  .hero-band{padding:40px 20px 36px;}
  .hero-band h1{font-size:clamp(22px,5vw,32px);}
  .hero-inner{flex-direction:column;gap:24px;}
  .hero-inner svg.d-none{display:none !important;}
  .hero-band{margin-top:64px;}
  .calc-grid{grid-template-columns:1fr;padding:20px;}
  .right-panel{position:static;}
  .quality-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .hero-stats{gap:20px;flex-wrap:wrap;}
  .hstat{flex:1;min-width:80px;}
  .calc-grid{padding:16px;}
  .material-tabs{padding:20px 16px 0;}
  .tabs{gap:6px;}
  .tab{padding:12px 14px;min-width:80px;}
  .modal-box{padding:20px;margin:16px;}
}

@media(max-width:640px){
  .hero-band{padding:32px 16px 28px;margin-top:56px;}
  .tabs{gap:6px;}
  .tab{padding:10px 14px;min-width:70px;}
  .tab-icon{font-size:18px;}
  .tab-name{font-size:11px;}
  .quality-grid{grid-template-columns:1fr;}
  .dim-row{grid-template-columns:1fr !important;}
  .li-qty-controls{margin-top:6px;}
  .list-item{flex-direction:column;align-items:flex-start;gap:8px;}
  .li-actions{width:100%;justify-content:flex-end;}
  .result-card{padding:20px;}
  .rc-val{font-size:32px;}
  .calc-grid{padding:12px !important;}
  .modal-box{margin:12px;padding:18px;}
  .hero-stats{gap:16px;}
  .hstat strong{font-size:20px;}
}

