/* style.css */

/* Import Open Sans & Roboto from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&family=Roboto:wght@300;400;500;700&display=swap');

/* Base styles */
body {
  font-family: 'Roboto', sans-serif;
  font-weight: 300;           /* Roboto Light */
  font-size: 17px;            /* Desktop base */
  color: #323031;             /* Dark text */
  background-color: #ffffff;
  min-height: 100vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 1rem;
}

.form-control-lg {
    
    font-size: 18px;
}

.calculator-card {
  max-width: 576px;
  width: 100%;
  background: #fff;
  border-radius: 1rem;
  box-shadow:
    0 10px 15px -3px rgba(0,0,0,0.1),
    0 4px 6px -2px rgba(0,0,0,0.05);
  padding: 1.5rem;
}

/* Headings */
h2 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 25px;
  color: #323031;
  margin-bottom: 0.5rem;
}

h3 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 500;
  font-size: 22px;
  color: #4b5563;
  margin-top: 0.5rem;
}

/* Input focus */
.form-control:focus {
  border-color: #a5b4fc;
  box-shadow: 0 0 0 0.25rem rgba(99,102,241,0.25);
}

/* Results styling */
#results p {
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

#results .details-section {
  padding-left: 1rem;
}

#results .details-section div {
  display: flex;
  justify-content: space-between;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}
#results .details-section div:last-child {
  margin-bottom: 0;
}

#results .vat-line,
#results .subtotal-line,
#results .total-line {
  display: flex;
  justify-content: space-between;
}

#results .vat-line {
  font-weight: 600;
  margin-top: 0.5rem;
  padding-left: 1rem;
  font-size: 0.875rem;
}

#results .subtotal-line {
  font-weight: 700;
  margin-top: 0.75rem;
  font-size: 1rem;
}

#results .transfer-subtotal {
  color: #4338ca;
}

#results .bond-subtotal {
  color: #15803d;
}

#results .total-line {
  margin-top: 1rem;
  font-size: 1.25rem;
  text-align: center;
  font-weight: 800;
}

#results hr {
  margin: 1rem 0;
  border-top-width: 2px;
}

/* Buttons */
#actionButtons .btn {
  flex: 1;
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
  font-size: 17px;
  border-width: 1px;
  padding: 10px 5px;
  color: #fff;
  transition: background-color .2s ease, color .2s ease;
}

.btn-email {
  background-color: #a77d35;
  border-color: #a77d35;
}
.btn-email:hover,
.btn-email:focus {
  background-color: #8f6a2d;
  border-color: #8f6a2d;
  color: #fff;    /* keep text white */
}

.btn-pdf {
  background-color: #323031;
  border-color: #323031;
}
.btn-pdf:hover,
.btn-pdf:focus {
  background-color: #1f1e1f;
  border-color: #1f1e1f;
  color: #fff;    /* keep text white */
}


/* Responsive tweaks for mobile portrait */
@media (max-width: 767px) and (orientation: portrait) {
  body {
    font-size: 16px;
  }
  h2 {
    font-size: 18px;
  }
  h3,
  #results h3 {
    font-size: 18px;
  }
}
