/* ============================================================
   On-Premise Pricing Calculator
   Styled to match MailArchiva's existing visual language.
   ============================================================ */

.calculator {
  max-width: 640px;
  margin: 1.5rem 0;
  padding: 1.75rem;
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 1rem;
  box-shadow: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .05);
  float: none;
}

.calculator .calculator-title {
  margin: 0 0 1.25rem;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  color: #1d2939;
}

.calculator .calc-fields {
  display: grid;
  gap: .75rem;
}

.calculator .form-label {
  margin-bottom: 0;
  font-weight: 600;
  color: #344054;
}

.calculator .form-control {
  padding: .65rem 1rem;
  font-size: 1rem;
  border-color: #d0d5dd;
  border-radius: .75rem;
}

.calculator .form-control:focus {
  border-color: #2f8bd6;
  box-shadow: 0 0 0 4px rgba(47, 139, 214, .15);
}

.calculator .btn {
  margin: 0;
}

/* Hidden until the visitor calculates */

.calculator .freemium-note, .calculator .price-info, .calculator .quote-block, .calculator .custom-quote-note, .calculator .three-year, .calculator .disclaimer {
  display: none;
}

.calculator .show {
  display: block;
}

/* Freemium note */

.calculator .freemium-note {
  margin-top: 1.25rem;
  padding: .875rem 1rem;
  font-size: .9rem;
  color: #175a96;
  background: #eef6fc;
  border: 1px solid #d4e8f7;
  border-radius: .75rem;
}

/* Custom quote note (for deployments over 500 mailboxes) */

.calculator .custom-quote-note {
  margin-top: 1.25rem;
  padding: .875rem 1rem;
  color: #344054;
  background: #f9fafb;
  border: 1px solid #eaecf0;
  border-radius: .75rem;
}

.calculator .custom-quote-note .custom-quote-title {
  margin: 0 0 .35rem;
  font-weight: 700;
  color: #1d2939;
}

.calculator .custom-quote-note p:last-child {
  margin-bottom: 0;
}

/* Result card */

.calculator .price-info {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid #eaecf0;
}

.calculator .price-row {
  padding: .875rem 0;
  border-bottom: 1px solid #f2f4f7;
}

.calculator .price-row:last-of-type {
  border-bottom: 0;
}

.calculator .calc-mailboxes {
  margin: 0 0 .75rem;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: #344054;
}

.calculator .price-label {
  margin: 0 0 .35rem;
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #667085;
}

.calculator .license-price {
  margin: 0;
  font-family: "Space Grotesk", sans-serif;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #101828;
}

.calculator .per-mailbox {
  margin: .5rem 0 0;
  font-size: .9375rem;
  font-weight: 600;
  color: #2071b8;
}

.calculator .support-price {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: #667085;
}

.calculator .support-note {
  margin: .5rem 0 0;
  font-size: .875rem;
  line-height: 1.5;
  color: #667085;
}

.calculator .calc-includes {
  list-style: none;
  margin: .5rem 0 0;
  padding: 0;
}

.calculator .calc-includes li {
  position: relative;
  margin: .25rem 0;
  padding-left: 1.4rem;
  font-size: .9rem;
  color: #475467;
}

.calculator .calc-includes li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 700;
  color: #2071b8;
}

/* Quote CTA */

.calculator .quote-block {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid #eaecf0;
}

.calculator .quote-support {
  margin: .75rem 0 0;
  font-size: .875rem;
  line-height: 1.5;
  color: #667085;
  text-align: center;
}

/* 3-year cost detail */

.calculator .three-year {
  margin-top: 1.25rem;
  padding: .875rem 1rem;
  font-size: .875rem;
  color: #475467;
  background: #f9fafb;
  border: 1px solid #eaecf0;
  border-radius: .75rem;
}

.calculator .three-year summary {
  font-weight: 600;
  color: #344054;
  cursor: pointer;
  outline: none;
}

.calculator .three-year p {
  margin: .45rem 0 0;
  line-height: 1.6;
}

.calculator .three-year .three-year-total {
  font-weight: 700;
  color: #1d2939;
}

/* Disclaimer */

.calculator .disclaimer {
  margin: 1rem 0 0;
  font-size: .8125rem;
  line-height: 1.5;
  color: #98a2b3;
  text-align: center;
}

@media (max-width: 575.98px) {
  .calculator {
    padding: 1.25rem;
  }
}

@media (max-width: 575.98px) {
  .calculator .license-price {
    font-size: 1.75rem;
  }
}

