/* --- Fix highlight label saat field fokus --- */
.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Saat salah satu input/textarea/select di dalam .form-group fokus,
   warnai label yang bersangkutan */
.form-group:focus-within > label {
  color: var(--primary-color);
  font-weight: 600;
}

/* Opsional: garis tepi input saat fokus agar konsisten */
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--primary-color);
  outline: none;
}

.request-analysis-section {
     padding: 100px;
}

.toast{
  position: sticky; top: 10px; z-index: 1000;
  background: #ffefef; border: 1px solid #f5c2c7; color: #842029;
  padding: 12px 14px; border-radius: 8px; margin-bottom: 12px; line-height: 1.4;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
.toast.hidden{ display:none; }
.toast .title{ font-weight: 700; margin-bottom: 4px; }
.toast ul{ margin: 6px 0 0 18px; padding:0; }

.is-invalid{ border-color: #dc3545 !important; outline: none; }
.error-text{ color:#dc3545; font-size: 12px; margin-top:6px; display:block; }
.form-group:focus-within > label{ color:#0042a5; font-weight:600; } /* highlight label saat fokus */


/* Phones (breakpoint 600px) */
@media (max-width: 600px) {
     .request-analysis-section {
          padding: 60px 20px;
     }
}
