/* === overrides para sitio mechanism === */
.mech-site .brand-mark.mech {
  background: linear-gradient(135deg, #0e7490, #06b6d4);
  font-size: 11px;
}
.mech-site .cta { background: #0e7490; }
.mech-site .cta:hover { background: #155e75; }
.mech-site .buy:hover { background: #0e7490; }
.mech-site header nav a:hover { color: #0e7490; }

.cat-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e8e1d8;
}
.cat-nav button {
  background: white;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 13px;
  cursor: pointer;
  font-weight: 600;
  color: #4a423a;
  transition: all .15s;
}
.cat-nav button:hover { border-color: #0e7490; color: #0e7490; }
.cat-nav button.active {
  background: #0e7490;
  color: white;
  border-color: #0e7490;
}

.mech-grid .card .badge {
  background: #e0f2fe;
  color: #075985;
}
.mech-grid .card .free-badge {
  background: #e3f4ea;
  color: #2d6a48;
}

.material-table {
  width: 100%;
  font-size: 12px;
  border-collapse: collapse;
  margin: 8px 0;
}
.material-table td {
  padding: 4px 0;
  border-bottom: 1px solid #f0eae3;
}
.material-table td:first-child { color: #6b6259; font-weight: 600; }
.material-table td:last-child { text-align: right; font-variant-numeric: tabular-nums; }

.calc-label {
  font-size: 11px;
  color: #6b6259;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}

.variant-select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 10px;
  font-size: 14px;
  background: white;
  color: #1a1816;
  font-family: inherit;
  font-weight: 500;
  cursor: pointer;
}
.variant-select:focus {
  outline: none;
  border-color: #0e7490;
  box-shadow: 0 0 0 3px rgba(14,116,144,0.1);
}

.material-detail-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-top: 8px;
}
.material-detail-table th {
  text-align: left;
  padding: 8px 6px;
  border-bottom: 2px solid #e0f2fe;
  color: #0e7490;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.material-detail-table td {
  padding: 8px 6px;
  border-bottom: 1px solid #f0eae3;
  font-variant-numeric: tabular-nums;
}
.material-detail-table tr:last-child td { border-bottom: none; }
.material-detail-table tr:hover { background: #f0f9ff; }
