.pricing-page-wrapper {
  max-width: 900px;
  margin: 40px auto;
  padding: 0 20px;
}

.pricing-explorer {
  max-width: 800px;
  margin: 0 auto;
}

.email-section {
  margin-bottom: 30px;
}

.email-row {
  display: flex;
  align-items: flex-end;
  gap: 15px;
}

.email-row label {
  font-weight: 600;
  margin-bottom: 6px;
}

.discount-note {
  font-size: 13px;
  color: #2e7d32;
  font-weight: 500;
  margin-left: 8px;
}

.email-input-group {
  display: flex;
  gap: 10px;
  align-items: center;
  flex: 1;
}

.email-input-group input {
  flex: 1;
  max-width: 320px;
  padding: 9px 12px;
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.btn-submit {
  background: #222;
  color: white;
  padding: 9px 20px;
  font-size: 15px;
  border: none;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

.btn-submit:hover {
  background: #444;
}

.email-message {
  margin-top: 10px;
  padding: 12px;
  border-radius: 6px;
  font-size: 14px;
}

.mold-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.input-group label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  margin-bottom: 6px;
}

.info-icon {
  cursor: help;
  font-size: 14px;
  color: #666;
}

.input-group input,
.input-group select {
  width: 100%;
  padding: 9px 12px;
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

.output {
  margin-top: 30px;
  padding: 20px;
  background: white;
  border: 1px solid #ddd;
  border-radius: 6px;
}

.price {
  font-size: 32px;
  font-weight: 700;
  color: #222;
}

.part-price-value {
  font-size: 32px;
  font-weight: 700;
  color: #222;
}

/* Mobile responsiveness */
@media (max-width: 600px) {
  .pricing-page-wrapper {
    margin: 20px auto;
    padding: 0 12px;
  }

  .email-row {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .email-input-group {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .email-input-group input {
    max-width: none;
    width: 100%;
  }

  .btn-submit {
    width: 100%;
  }

  .mold-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .price,
  .part-price-value {
    font-size: 26px;
  }
}

.debug-badge {
  display: inline-block;
  margin: 0 0 18px;
  padding: 6px 14px;
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 999px;
  color: #856404;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.3px;
}

/* Reciprocal "Start a Quote" callout (links back to the RFQ page) */
.start-quote-cta {
  background: #e8f0fe;
  border: 1px solid #c5d9f9;
  border-radius: 8px;
  padding: 14px 16px;
  margin: 14px 0 20px;
  font-size: 15px;
  color: #1a3a6b;
}
.start-quote-cta p { margin: 0; }
.start-quote-link {
  color: #0d47a1;
  font-weight: 700;
  text-decoration: underline;
  white-space: nowrap;
}
.start-quote-link:hover { text-decoration: underline; }

/* "Load a CAD file" section (bottom of Mold Pricing Explorer) */
.cad-load {
  margin-top: 30px;
  padding: 20px;
  background: #f7f9fc;
  border: 1px solid #dde6f2;
  border-radius: 8px;
}
.cad-load h3 {
  margin: 0 0 6px;
  font-size: 17px;
  color: #1a3a6b;
}
.cad-load .help-text {
  margin: 0 0 14px;
  font-size: 13px;
  color: #555;
}
.cad-load-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cad-load-row input[type="file"] {
  flex: 1;
}
.cad-result {
  margin-top: 12px;
  font-size: 14px;
  min-height: 18px;
}