/* Base */
.fc-form {
  font-family: var(--global-body-font-family, 'Inter', Arial, sans-serif);
  color: var(--global-palette3, #0f172a);
}

.fc-form.container {
  max-width: 960px;
}

.fc-form .card {
  border: 1px solid #e4e8f0;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 14px 40px rgba(4, 29, 73, 0.08);
}

.fc-form .card-body {
  padding: 2rem;
}

.fc-form h2 {
  font-weight: 700;
  letter-spacing: -0.01em;
  margin-bottom: 1rem;
  color: var(--global-palette2, #0b2545);
}

.fc-form .form-label {
  font-weight: 600;
  color: var(--global-palette3, #0f172a);
}

.fc-form .form-control,
.fc-form .form-select,
.fc-form textarea {
  background-color: #fff;
  color: var(--global-palette3, #0f172a);
  border: 1px solid #d4dae5;
  border-radius: 10px;
  padding: 0.75rem 0.85rem;
  min-height: 48px;
}

.fc-form .form-control::placeholder,
.fc-form textarea::placeholder {
  color: #9aa4b5;
}

.fc-form .form-control:focus,
.fc-form .form-select:focus,
.fc-form textarea:focus {
  border-color: var(--global-palette1, #0f52ba);
  box-shadow: 0 0 0 0.16rem rgba(15, 82, 186, 0.15);
}

.fc-form textarea {
  min-height: 140px;
}

/* Botón */
.fc-form .btn-primary {
  background: linear-gradient(135deg, var(--global-palette1, #0f52ba), #0b7acb);
  border-color: transparent;
  color: var(--global-palette-btn, #ffffff);
  padding: 0.75rem 1.2rem;
  border-radius: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.fc-form .btn-primary:hover,
.fc-form .btn-primary:focus {
  transform: translateY(-1px);
  box-shadow: 0 10px 25px rgba(11, 122, 203, 0.25);
  filter: brightness(0.97);
}

.fc-form .fc-btn-spinner {
  margin-left: 0.35rem;
}

/* intl-tel-input */
.iti {
  width: 100%;
  box-sizing: border-box;
}
.iti__selected-dial-code {
  font-weight: 700;
}
.iti--separate-dial-code .iti__flag-container {
  border-radius: 10px 0 0 10px;
}
.iti--allow-dropdown input[type=tel] {
  padding-left: 0.85rem !important;
}

/* Hints */
.fc-form .form-text {
  color: #6c7686;
}

/* Honeypot oculto */
.fc-hp {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}

/* Responsive grid fallback cuando no hay Bootstrap */
.fc-form .row {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1rem;
}
.fc-form .col-md-6 {
  grid-column: auto;
}
.fc-form .col-12 {
  grid-column: 1 / -1;
}

@media (min-width: 768px) {
  .fc-form .row {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767.98px) {
  .fc-form .btn-primary {
    width: 100%;
    justify-content: center;
  }
}

/* Admin cards tweaks */
.fc-card,
.fc-form .card {
  word-break: break-word;
}
.fc-consultas-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}
.fc-card .fc-actions {
  flex-wrap: wrap;
}
.fc-card .fc-actions .button {
  flex: 0 1 auto;
}
