/*
  Calculadora de Hipoteca
  ------------------------
  Todas las clases llevan el prefijo "apr-" para no chocar con Bootstrap 5
  ni con el resto de estilos de la plantilla.
*/

:root {
  --apr-color-primary: #1B6B2A;
  --apr-color-primary-dark: #14501f;
  --apr-color-primary-soft: #e8f3ea;
  --apr-color-border: #dee2e6;
  --apr-color-text-muted: #6c757d;
}

.apr-calc {
  border: 1px solid var(--apr-color-border);
  border-radius: 0.75rem;
}

.apr-calc__title {
  font-weight: 700;
  margin-bottom: 1.25rem;
}

/* --- Campos (precio, ahorro, plazo, interés) --- */

.apr-calc__field {
  margin-bottom: 1.25rem;
}

.apr-calc__field-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.apr-calc__field-header label {
  font-weight: 500;
  margin-bottom: 0;
}

.apr-calc__input-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.apr-calc__input {
  width: 7.5rem;
  text-align: right;
}

.apr-calc__input--small {
  width: 5rem;
}

.apr-calc__suffix {
  color: var(--apr-color-text-muted);
}

.apr-calc__percent {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--apr-color-primary);
  min-width: 2.5rem;
  text-align: right;
}

/* Sliders en color corporativo */
.apr-calc__range.form-range::-webkit-slider-thumb {
  background-color: var(--apr-color-primary);
}
.apr-calc__range.form-range::-moz-range-thumb {
  background-color: var(--apr-color-primary);
}
.apr-calc__range.form-range::-webkit-slider-runnable-track {
  background-color: var(--apr-color-primary-soft);
}
.apr-calc__range.form-range::-moz-range-track {
  background-color: var(--apr-color-primary-soft);
}

.apr-calc__alert {
  margin-top: 0.75rem;
  font-size: 0.875rem;
}

/* --- Resultados --- */

.apr-calc__divider {
  margin: 1.5rem 0;
}

.apr-calc__result-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.4rem 0;
}

.apr-calc__result-row--highlight {
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--apr-color-primary);
  border-top: 1px solid var(--apr-color-border);
  margin-top: 0.5rem;
  padding-top: 0.75rem;
}

.apr-calc__info-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  height: 1.1rem;
  margin-left: 0.25rem;
  padding: 0;
  border: 1px solid var(--apr-color-primary);
  border-radius: 50%;
  background: transparent;
  color: var(--apr-color-primary);
  font-size: 0.7rem;
  line-height: 1;
}

.apr-calc__cta-btn {
  margin-top: 1rem;
  background-color: var(--apr-color-primary);
  border-color: var(--apr-color-primary);
  color: #fff;
  font-weight: 600;
}
.apr-calc__cta-btn:hover,
.apr-calc__cta-btn:focus {
  background-color: var(--apr-color-primary-dark);
  border-color: var(--apr-color-primary-dark);
  color: #fff;
}

.apr-calc__disclaimer {
  margin: 0.75rem 0 0;
  font-size: 0.75rem;
  color: var(--apr-color-text-muted);
}

/* --- Modal de desglose de gastos --- */

.apr-calc__modal-subtitle {
  font-size: 0.875rem;
  color: var(--apr-color-text-muted);
}

.apr-calc__modal-section-title {
  margin: 1rem 0 0.35rem;
  font-weight: 700;
}

.apr-calc__modal-row {
  display: flex;
  justify-content: space-between;
  padding: 0.15rem 0;
  font-size: 0.9rem;
}

.apr-calc__modal-row--total {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--apr-color-border);
  font-weight: 700;
  color: var(--apr-color-primary);
}

.apr-calc__modal-note {
  margin-top: 1rem;
  font-size: 0.75rem;
  color: var(--apr-color-text-muted);
}
