body { font-family: 'Montserrat', sans-serif; background-color: #ffffff; color: #1F2933; }
.serif-title { font-family: 'Playfair Display', serif; }

.nav-link { position: relative; }
.nav-link::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 2px; background: #0B6B3A; border-radius: 2px; transition: width 0.25s cubic-bezier(.4,0,.2,1); }
.nav-link:hover::after { width: 100%; }
.active-nav { position: relative; }
.active-nav::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 100%; height: 2px; background: #0B6B3A; border-radius: 2px; }

.btn-primary {
  background: linear-gradient(135deg, #006B3F 0%, #0B6B3A 100%);
  color: white; font-weight: 700; border-radius: 12px;
  transition: all 0.2s; box-shadow: 0 4px 14px rgba(11,107,58,0.25);
}
.btn-primary:hover {
  background: linear-gradient(135deg, #005530 0%, #006B3F 100%);
  box-shadow: 0 6px 20px rgba(11,107,58,0.35); transform: translateY(-1px);
}

.section-pill {
  display: inline-flex; align-items: center; gap: 7px;
  background: linear-gradient(135deg, #EAF6EF, #d4eddf);
  color: #0B6B3A; font-size: 10px; font-weight: 800;
  letter-spacing: 0.12em; text-transform: uppercase;
  padding: 6px 14px; border-radius: 99px; margin-bottom: 14px;
  border: 1px solid #2B8B57;
}

.shadow-card {
  box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 16px rgba(0,0,0,0.06);
  transition: box-shadow 0.35s cubic-bezier(.4,0,.2,1), transform 0.35s cubic-bezier(.4,0,.2,1);
}

.section-divider { background: linear-gradient(90deg, transparent, #EAF6EF 30%, #EAF6EF 70%, transparent); height: 1px; }

.footer-link { position: relative; }
.footer-link::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 1.5px; background: #2B8B57; border-radius: 2px; transition: width 0.2s; }
.footer-link:hover::after { width: 100%; }

.hero-mask { background: linear-gradient(90deg, #ffffff 0%, #ffffff 35%, rgba(255,255,255,0) 65%); }
.progress-bar-bg { background-color: #EAF6EF; height: 8px; border-radius: 4px; overflow: hidden; }
.progress-bar-fill { background: linear-gradient(90deg, #0B6B3A, #2B8B57); height: 100%; border-radius: 4px; }
.mission-card-radio:checked + .mission-card-label { border-color: #0B6B3A; background-color: #EAF6EF; }
.faq-item { transition: all 0.3s ease; }
input::placeholder { color: #94a3b8; font-size: 0.875rem; }
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }


.form-field.field-invalid,
input.field-invalid, select.field-invalid {
  border-color: #dc2626 !important;
  background: #fef2f2 !important;
}
input.field-valid, select.field-valid { border-color: #0B6B3A !important; }
.field-error-msg {
  display: none; align-items: center; gap: 4px;
  color: #dc2626; font-size: 10px; font-weight: 600; margin-top: 5px;
}
.field-error-msg::before { content: '⚠'; font-size: 10px; }
.checkbox-error-text {
  display: none; color: #dc2626; font-size: 10px; font-weight: 700; margin-top: 4px;
}
.upload-error-box { border-color: #dc2626 !important; background: #fef2f2 !important; }
#vol-form-toast {
  position: fixed; bottom: 28px; left: 50%; transform: translateX(-50%);
  background: #dc2626; color: #fff; padding: 13px 22px; border-radius: 14px;
  font-size: 12px; font-weight: 700; z-index: 99999;
  box-shadow: 0 8px 28px rgba(0,0,0,0.22); max-width: 340px; text-align: center;
  animation: toast-in 0.3s cubic-bezier(.4,0,.2,1) forwards;
}
@keyframes toast-in { from { opacity:0; transform: translate(-50%, 16px); } to { opacity:1; transform: translate(-50%, 0); } }
/* ============================================
   Choices.js — да изглежда като другите полета
   ============================================ */
   .choices {
    margin-bottom: 0;
    font-size: 0.875rem; /* text-sm */
  }
  
  .choices__inner {
    background-color: #ffffff;
    border: 1px solid #e5e7eb; /* border-gray-200 */
    border-radius: 0.75rem; /* rounded-xl */
    padding: 0.5rem 0.75rem;
    min-height: 42px;
    font-size: 0.875rem;
    display: flex;
    align-items: center;
    transition: border-color 0.2s ease;
  }
  
  .choices.is-focused .choices__inner,
  .choices.is-open .choices__inner {
    border-color: #0B6B3A; /* brand-green */
    box-shadow: 0 0 0 1px #0B6B3A;
  }
  
  .choices__list--single {
    padding: 0;
  }
  
  .choices__list--single .choices__item {
    color: #1F2933;
    font-weight: 500;
  }
  
  .choices__placeholder {
    color: #94a3b8;
    opacity: 1;
  }
  
  .choices__list--dropdown,
  .choices__list[aria-expanded] {
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    margin-top: 6px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    overflow: hidden;
  }
  
  .choices__list--dropdown .choices__item--selectable,
  .choices__list[aria-expanded] .choices__item--selectable {
    padding: 10px 14px;
    font-size: 0.875rem;
  }
  
  .choices__list--dropdown .choices__item--selectable.is-highlighted,
  .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
    background-color: #EAF6EF; /* brand-accent */
    color: #0B6B3A;
  }
  
  .choices__input {
    background-color: #ffffff;
    font-size: 0.875rem;
    margin-bottom: 0;
    padding: 8px 12px;
  }
  
  .choices[data-type*="select-one"] .choices__inner {
    padding-bottom: 0.5rem;
  }
  
  .choices[data-type*="select-one"]::after {
    border-color: #94a3b8 transparent transparent transparent;
  }
  
  .choices[data-type*="select-one"].is-open::after {
    border-color: transparent transparent #94a3b8 transparent;
  }
  
  /* Валидационни състояния (същите като field-invalid/field-valid при другите инпути) */
  .choices.field-invalid .choices__inner {
    border-color: #dc2626 !important;
    background: #fef2f2 !important;
  }
  
  .choices.field-valid .choices__inner {
    border-color: #0B6B3A !important;
  }