/* ================================
   PAGE CALENDRIER DE SOINS
   ================================ */

.calendrier-img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  object-fit: cover;
}

/* Section formulaire + résultat en 2 colonnes */
.features.form-section .container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 25px;
  flex-wrap: wrap;
}

/* Formulaire à gauche */
.form-card {
  flex: 1 1 320px;
  max-width: 380px;
  padding: 24px;
}

.form-card input,
.form-card select {
  width: 100%;
  padding: 8px 10px;
  margin-top: 4px;
  margin-bottom: 14px;
  background: var(--bg-header);
  border: 1px solid var(--border-main);
  border-radius: 6px;
  color: var(--text-main);
  font-size: 14px;
}

.form-card label {
  font-size: 13px;
  color: #d4a017;
  margin-top: 4px;
  display: block;
}

.age-row {
  display: flex;
  gap: 10px;
}

.age-row > div {
  flex: 1;
}

.sub-label {
  font-size: 0.75rem;
  margin-bottom: 2px;
  display: block;
  color: var(--text-muted-2);
}

/* Autocomplétion race */
.autocomplete-wrapper {
  position: relative;
  width: 100%;
}

.suggestions-box {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: var(--bg-card);
  border: 1px solid var(--card-border);
  border-radius: 0 0 6px 6px;
  max-height: 180px;
  overflow-y: auto;
  display: none;
  z-index: 50;
}

.suggestions-box div {
  padding: 8px 10px;
  cursor: pointer;
  font-size: 0.95rem;
  color: var(--text-secondary);
}

.suggestions-box div:hover {
  background: var(--dropdown-hover-bg);
}

/* Résultat à droite */
.result-right {
  flex: 1 1 320px;
  max-width: 480px;
  padding: 24px;
  background: var(--bg-card);
  border: 1px solid var(--card-border);
  border-radius: 10px;
  min-height: 260px;
  color: var(--text-main);
  line-height: 1.5;
}

.result-right p {
  color: var(--text-secondary);
  font-size: 14px;
}

/* Erreur */
.error {
  display: none;
  color: #c62828;
  font-weight: bold;
  padding: 10px;
  background: #ffebee;
  border-left: 4px solid #c62828;
  border-radius: 4px;
  margin-bottom: 10px;
  font-size: 0.9rem;
}

/* Responsive */
@media (max-width: 768px) {
  .features.form-section .container {
    display: block;
  }
  .form-card,
  .result-right {
    max-width: 100%;
    margin-bottom: 20px;
  }
}
