/* =========================================================
   V7 MASTER Workspace Design System Migration 1.3
   Sprint 1 – Detail Unification Layer
   VISUAL LAYER ONLY: no JS, no data model, no calculation logic.
   Purpose: unified headers, cards, inputs, buttons, price/detail rows.
   ========================================================= */
:root{
  --v7-detail-radius:16px;
  --v7-detail-radius-sm:12px;
  --v7-detail-border:#d7e3d8;
  --v7-detail-border-soft:#e8f0ea;
  --v7-detail-bg:rgba(255,255,255,.94);
  --v7-detail-bg-soft:rgba(238,244,239,.58);
  --v7-detail-green:#00663b;
  --v7-detail-green-2:#08743f;
  --v7-detail-text:#07131f;
  --v7-detail-muted:#66756d;
  --v7-detail-shadow:0 12px 32px rgba(16,70,43,.055);
  --v7-detail-shadow-hover:0 18px 42px rgba(16,70,43,.08);
}

/* ---------- common rhythm ---------- */
body{letter-spacing:-.005em;}
button,input,select,textarea{font-family:Urbanist,Arial,sans-serif !important;}

/* ---------- sidebar detail lock ---------- */
.sidebar .nav-item,
.sidebar-nav .nav-item{
  transition:background .16s ease, color .16s ease, box-shadow .16s ease !important;
}
.sidebar .nav-item.active,
.sidebar-nav .nav-item.active{
  background:#eef4ef !important;
  color:#00663b !important;
}

/* ---------- commercial center details ---------- */
.hero-title h1,
.title{
  font-weight:560 !important;
  letter-spacing:-.04em !important;
}
.title-line{opacity:.9 !important;}
.section-heading h2{
  font-weight:650 !important;
  letter-spacing:.075em !important;
}
.badge-button{
  border-radius:14px !important;
}
.badge-button img{
  border-radius:12px !important;
}
.badge-button strong{
  font-weight:620 !important;
  color:#0a1a14 !important;
  letter-spacing:-.015em !important;
}
.badge-button small{
  font-weight:520 !important;
  color:#708078 !important;
}
.quote-button{
  border-radius:13px !important;
  font-weight:700 !important;
  letter-spacing:.005em !important;
  box-shadow:0 16px 34px rgba(0,102,59,.16) !important;
}

/* ---------- product workspace layout detail lock ---------- */
.wrap{
  max-width:1360px !important;
  padding-top:16px !important;
}
.top{
  align-items:center !important;
  gap:18px !important;
}
.pill{
  min-width:auto !important;
  padding:0 18px !important;
  font-size:14px !important;
  font-weight:650 !important;
}

/* Card system: same visual effect everywhere */
.card,
.metric,
.freightDisclaimer{
  backdrop-filter:saturate(120%) blur(0px);
}
.card{
  border-color:var(--v7-detail-border) !important;
  border-radius:var(--v7-detail-radius) !important;
  box-shadow:var(--v7-detail-shadow) !important;
}
.card:hover{
  box-shadow:var(--v7-detail-shadow-hover) !important;
}
.productStampCard,
.contactCard,
.summary-left,
.right>.card{
  background:var(--v7-detail-bg) !important;
}

/* Headers unified */
.sectionTitle{
  display:flex !important;
  align-items:center !important;
  min-height:24px !important;
  margin:0 0 13px !important;
  font-size:17px !important;
  font-weight:700 !important;
  letter-spacing:.055em !important;
  color:var(--v7-detail-green) !important;
}
.summary-left .sectionTitle,
.contactCard .sectionTitle{
  margin-bottom:12px !important;
}

/* Rows unified */
.miniRows,
#summaryRows{
  border-top:1px solid var(--v7-detail-border-soft) !important;
}
.miniRow,.sumRow{
  min-height:28px !important;
  align-items:center !important;
  border-bottom:1px solid var(--v7-detail-border-soft) !important;
  font-size:13px !important;
  padding:6px 0 !important;
}
.miniRow span,.sumRow span{
  color:#314138 !important;
  font-weight:500 !important;
}
.miniRow b,.sumRow b{
  font-weight:680 !important;
  color:#07131f !important;
}
.sumRow.total{
  min-height:52px !important;
  padding:12px 14px !important;
  border-radius:14px !important;
  margin-top:11px !important;
  font-size:17px !important;
  font-weight:650 !important;
}
.sumRow.total b{
  font-size:18px !important;
  font-weight:750 !important;
}

/* Metrics / price blocks unified */
.calcMetrics{
  gap:9px !important;
}
.metric{
  min-height:58px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  border-color:#dcebe1 !important;
  border-radius:13px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(238,244,239,.42)) !important;
}
.metric span{
  font-size:11px !important;
  font-weight:600 !important;
  color:#5f7169 !important;
}
.metric b{
  font-size:15px !important;
  font-weight:730 !important;
  color:#083820 !important;
}

/* Form system unified */
.field label{
  font-size:12px !important;
  font-weight:620 !important;
  color:#20382f !important;
}
.input,.select{
  height:42px !important;
  border-color:#cfe1d5 !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.98) !important;
  font-weight:560 !important;
  color:#07131f !important;
}
.input::placeholder{color:#8a9791 !important;font-weight:450 !important;}
.input[readonly],.select[readonly]{background:#fbfdfb !important;}
.input:focus,.select:focus{
  border-color:#75f38d !important;
  box-shadow:0 0 0 4px rgba(168,251,206,.30) !important;
}

/* Button system unified */
.primary,.secondary,.pill,.calcBtn,.quote-button{
  transition:transform .14s ease, box-shadow .14s ease, filter .14s ease, background .14s ease !important;
}
.primary:hover,.secondary:hover,.pill:hover,.calcBtn:hover,.quote-button:hover{
  transform:translateY(-1px) !important;
}
.primary{
  height:46px !important;
  border-radius:13px !important;
  font-weight:750 !important;
  letter-spacing:.005em !important;
}
.secondary{
  height:46px !important;
  border-radius:13px !important;
  font-weight:700 !important;
}
.calcBtn{
  border-radius:16px !important;
  font-weight:750 !important;
}

/* Logistics detail unification */
.address,.contact{
  gap:9px !important;
}
.logButtons{
  gap:9px !important;
}
.checks{
  align-items:center !important;
  gap:15px !important;
}
.checks label{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  font-weight:650 !important;
}
.mapbox{
  height:92px !important;
  border-radius:16px !important;
}
.mapbox span{
  padding:9px 15px !important;
  font-weight:750 !important;
  letter-spacing:.01em !important;
}
.freightDisclaimer{
  border-radius:12px !important;
  font-weight:620 !important;
  line-height:1.38 !important;
}

/* Offer form detail unification */
.contactCard{
  padding:16px !important;
}
.submitRow{
  align-items:center !important;
}
.security{
  font-weight:560 !important;
  color:#4f7d5e !important;
}
.engineBadge{
  font-weight:650 !important;
  letter-spacing:.005em !important;
  white-space:nowrap !important;
}

/* Product image card */
.stamp{
  box-shadow:none !important;
  background:#fff !important;
}

/* Compact but breathable on standard displays */
@media(min-width:1101px){
  .right{gap:14px !important;}
  .leftStack{gap:14px !important;}
  .productStampCard{min-height:0 !important;}
}
@media(max-width:720px){
  .sectionTitle{font-size:15px !important;}
  .sumRow.total{font-size:15px !important;}
}
