/* 1. Montserrat Regular (400) */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://zelvinto.com/wp-content/themes/prespa/assets/fonts/montserrat-regular.woff2') format('woff2');
}

/* 2. Montserrat Bold (700) */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://zelvinto.com/wp-content/themes/prespa/assets/fonts/montserrat-bold.woff2') format('woff2');
}

/* Global Styles */
body {
  font-family: 'Montserrat', sans-serif;
  background-color: #FFFFFF !important;
}

.page .entry-title { 
  display: none; 
}

.main-navigation ul li a:hover {
  color: #0073aa;
  background-color: #f0f0f0;
}

/* Accordion/Details Styling */
details > summary {
  list-style: none;
}

details > summary::-webkit-details-marker {
  display: none;
}

details > summary::after {
  content: '+';
  float: right;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  transition: transform .2s;
}

details[open] > summary::after {
  transform: rotate(45deg);
}

/* Account and Calculator Containers */
div.um-account {
  border: 2px solid #447DCF;
  padding: 25px;
  border-radius: 8px;
  background-color: #fff;
}

.npv-calculator {
  max-width: 100%;
  padding: 20px;
  background: #F5F7FA;
  border-radius: 10px;
  border: 1px solid #e0e0e0;
}

.npv-calculator .calculator-title {
  color: #4A90E2;
  text-align: center;
  margin-bottom: 20px;
  font-size: 1.75rem;
  font-weight: 600;
}

.npv-calculator .form-group {
  margin-bottom: 15px;
}

.npv-calculator label {
  font-weight: 500;
  color: #333;
  display: block;
  margin-bottom: 5px;
}

.npv-calculator input {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 5px;
  transition: border-color .3s;
}

.npv-calculator input:focus {
  border-color: #4A90E2;
  outline: none;
  box-shadow: 0 0 0 2px rgba(74, 144, 226, .2);
}

.npv-calculator .button-group {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.npv-calculator button {
  flex: 1;
  padding: 12px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  color: #fff;
  font-weight: 600;
}

.npv-calculator #calculateBtn, .calculator-section button {
  background: linear-gradient(90deg, #4A90E2, #50C878);
  transition: background .3s, transform .2s, box-shadow .2s;
}

.npv-calculator #calculateBtn:hover, .calculator-section button:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(74, 144, 226, .4);
  background: linear-gradient(90deg, #357ABD, #38B26A);
}

.npv-calculator #resetBtn {
  background-color: #6c757d;
}

.npv-calculator #resetBtn:hover {
  background-color: #5a6268;
}

.npv-calculator .results {
  margin-top: 20px;
  padding: 15px;
  background-color: #e6ffed;
  border-radius: 5px;
  display: none;
}

.npv-calculator .results.show {
  display: block;
}

.npv-calculator .results table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
}

.npv-calculator .results th, .npv-calculator .results td {
  padding: 10px;
  text-align: right;
  border-bottom: 1px solid #cce8d4;
}

.npv-calculator .results th {
  background-color: #d1f7e0;
  font-weight: 600;
}

.npv-calculator .results p {
  font-size: 1.1rem;
}

.npv-calculator .error {
  color: #dc3545;
  font-size: 12px;
  display: none;
  margin-top: 4px;
}