/* =========================================================
   FIXERGO - FORMULARIO DE SOPORTE
   Archivo: support-form.css
   ========================================================= */


/* =========================================================
   SECCIÓN PRINCIPAL
   ========================================================= */

.support-form-section {
  background: #f4f7fb;
  padding: 80px 0;
  font-family: "Poppins", sans-serif;
}


/* =========================================================
   ENCABEZADO
   ========================================================= */

.support-form-section .support-form-heading {
  max-width: 750px;
  margin: 0 auto 45px;
}

.support-form-section .support-form-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  background: #eaf3ff;
  color: #1166cc;

  padding: 8px 16px;

  border-radius: 30px;

  font-size: 14px;
  font-weight: 600;

  margin-bottom: 15px;
}

.support-form-section .support-form-heading h1 {
  color: #172433;

  font-size: 38px;
  font-weight: 700;

  margin-bottom: 15px;
}

.support-form-section .support-form-heading p {
  color: #697586;

  font-size: 16px;
  line-height: 1.7;

  margin: 0;
}


/* =========================================================
   TARJETA GENERAL
   ========================================================= */

.support-form-section .support-form-card {
  background: #ffffff;

  border-radius: 16px;

  overflow: hidden;

  box-shadow:
    0 10px 40px rgba(18, 38, 63, 0.08);

  border: 1px solid #e5eaf0;
}


/* =========================================================
   PANEL IZQUIERDO
   ========================================================= */

.support-form-section .support-form-info {
  height: 100%;

  background: #f0f6fd;

  padding: 40px 30px;

  border-right: 1px solid #e1e8f0;
}

.support-form-section .support-info-header {
  display: flex;
  align-items: flex-start;
  gap: 15px;

  margin-bottom: 40px;
}

.support-form-section .support-info-header > i {
  color: #1675dc;

  font-size: 30px;
}

.support-form-section .support-info-header h2 {
  color: #172433;

  font-size: 20px;
  font-weight: 700;

  margin-bottom: 7px;
}

.support-form-section .support-info-header p {
  color: #697586;

  font-size: 13px;
  line-height: 1.6;

  margin: 0;
}


/* =========================================================
   PASOS
   ========================================================= */

.support-form-section .support-step {
  display: flex;

  gap: 15px;

  margin-bottom: 35px;
}

.support-form-section .support-step-icon {
  width: 45px;
  min-width: 45px;
  height: 45px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: #ffffff;

  color: #1675dc;

  font-size: 20px;

  box-shadow:
    0 5px 15px rgba(22, 117, 220, 0.08);
}

.support-form-section .support-step span {
  color: #1675dc;

  font-size: 11px;
  font-weight: 700;

  text-transform: uppercase;
}

.support-form-section .support-step h3 {
  color: #172433;

  font-size: 15px;
  font-weight: 700;

  margin: 3px 0 5px;
}

.support-form-section .support-step p {
  color: #697586;

  font-size: 12px;
  line-height: 1.6;

  margin: 0;
}


/* =========================================================
   NOTA INFORMATIVA
   ========================================================= */

.support-form-section .support-info-note {
  display: flex;

  gap: 13px;

  background: #dfeeff;

  padding: 20px;

  border-radius: 10px;

  margin-top: 15px;
}

.support-form-section .support-info-note > i {
  color: #1675dc;

  font-size: 24px;
}

.support-form-section .support-info-note strong {
  display: block;

  color: #174f92;

  font-size: 14px;

  margin-bottom: 5px;
}

.support-form-section .support-info-note p {
  color: #49647e;

  font-size: 12px;
  line-height: 1.6;

  margin: 0;
}


/* =========================================================
   CONTENEDOR DEL FORMULARIO
   ========================================================= */

.support-form-section .support-form-content {
  padding: 40px;
}


/* =========================================================
   TÍTULO FORMULARIO
   ========================================================= */

.support-form-section .support-form-title {
  display: flex;

  align-items: flex-start;

  gap: 15px;

  margin-bottom: 30px;
}

.support-form-section .support-form-title > i {
  color: #1675dc;

  font-size: 27px;
}

.support-form-section .support-form-title h2 {
  color: #172433;

  font-size: 22px;
  font-weight: 700;

  margin-bottom: 5px;
}

.support-form-section .support-form-title p {
  color: #7c8795;

  font-size: 12px;

  margin: 0;
}

.support-form-section .support-form-title span {
  color: #dc3545;
}


/* =========================================================
   SUBTÍTULOS
   ========================================================= */

.support-form-section .support-form-subtitle {
  border-bottom: 1px solid #e5eaf0;

  padding-bottom: 10px;

  margin: 25px 0 20px;
}

.support-form-section .support-form-subtitle h3 {
  color: #27384a;

  font-size: 15px;
  font-weight: 600;

  margin: 0;
}


/* =========================================================
   CAMPOS
   ========================================================= */

.support-form-section .support-field {
  margin-bottom: 22px;
}

.support-form-section .support-field label {
  display: block;

  color: #293746;

  font-size: 13px;
  font-weight: 600;

  margin-bottom: 8px;
}

.support-form-section .support-field label > span {
  color: #dc3545;
}

.support-form-section .support-field label small {
  color: #8895a4;

  font-weight: 400;
}


/* =========================================================
   INPUTS
   ========================================================= */

.support-form-section .form-control,
.support-form-section .form-select {
  min-height: 48px;

  border: 1px solid #d7dee7;

  border-radius: 7px;

  color: #27384a;

  font-size: 13px;

  box-shadow: none;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.support-form-section .form-control::placeholder {
  color: #a5afbb;
}

.support-form-section .form-control:focus,
.support-form-section .form-select:focus {
  border-color: #1675dc;

  box-shadow:
    0 0 0 3px rgba(22, 117, 220, 0.10);
}


/* =========================================================
   INPUT CON ICONO
   ========================================================= */

.support-form-section .support-input-group {
  position: relative;
}

.support-form-section .support-input-group > i {
  position: absolute;

  top: 50%;
  left: 15px;

  transform: translateY(-50%);

  color: #8492a2;

  font-size: 16px;

  z-index: 2;
}

.support-form-section .support-input-group .form-control {
  padding-left: 43px;
}


/* =========================================================
   TEXTAREA
   ========================================================= */

.support-form-section textarea.form-control {
  min-height: 150px;

  resize: vertical;

  padding: 15px;

  line-height: 1.6;
}

.support-form-section .support-description-footer {
  display: flex;

  justify-content: space-between;

  align-items: center;

  margin-top: 6px;
}

.support-form-section .support-counter {
  color: #8995a4;

  font-size: 11px;

  margin-left: auto;
}


/* =========================================================
   ERRORES
   ========================================================= */

.support-form-section .support-error {
  display: block;

  color: #dc3545;

  font-size: 11px;

  margin-top: 5px;

  min-height: 16px;
}

.support-form-section .support-field.has-error .form-control,
.support-form-section .support-field.has-error .form-select {
  border-color: #dc3545;
}

.support-form-section .support-field.has-success .form-control,
.support-form-section .support-field.has-success .form-select {
  border-color: #198754;
}


/* =========================================================
   ARCHIVOS
   ========================================================= */

.support-form-section .support-file-area {
  position: relative;

  display: flex;

  align-items: center;

  gap: 15px;

  padding: 22px;

  border: 2px dashed #ced7e2;

  border-radius: 8px;

  background: #fafcff;

  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}

.support-form-section .support-file-area:hover {
  border-color: #1675dc;

  background: #f4f9ff;
}

.support-form-section .support-file-area > i {
  color: #1675dc;

  font-size: 30px;
}

.support-form-section .support-file-area strong {
  display: block;

  color: #293746;

  font-size: 13px;

  margin-bottom: 3px;
}

.support-form-section .support-file-area p {
  color: #8a96a5;

  font-size: 11px;

  margin: 0;
}

.support-form-section .support-file-area input[type="file"] {
  position: absolute;

  inset: 0;

  width: 100%;
  height: 100%;

  opacity: 0;

  cursor: pointer;
}

.support-form-section .support-file-selected {
  color: #4e6276;

  font-size: 12px;

  margin-top: 7px;
}


/* =========================================================
   SEGURIDAD
   ========================================================= */

.support-form-section .support-security {
  display: flex;

  align-items: center;

  gap: 13px;

  background: #edf9f3;

  border-radius: 8px;

  padding: 15px 18px;

  margin: 10px 0 25px;
}

.support-form-section .support-security > i {
  color: #169b62;

  font-size: 24px;
}

.support-form-section .support-security strong {
  display: block;

  color: #168150;

  font-size: 12px;

  margin-bottom: 2px;
}

.support-form-section .support-security p {
  color: #5e786c;

  font-size: 10px;

  margin: 0;
}


/* =========================================================
   MENSAJE DEL FORMULARIO
   ========================================================= */

.support-form-section .support-form-message {
  display: none;

  padding: 12px 15px;

  border-radius: 7px;

  font-size: 12px;

  margin-bottom: 18px;
}

.support-form-section .support-form-message.success {
  display: block;

  background: #dff5e9;

  color: #146c43;

  border: 1px solid #badbcc;
}

.support-form-section .support-form-message.error {
  display: block;

  background: #f8d7da;

  color: #842029;

  border: 1px solid #f5c2c7;
}


/* =========================================================
   BOTONES
   ========================================================= */

.support-form-section .support-form-actions {
  display: flex;

  justify-content: flex-end;

  align-items: center;

  gap: 12px;
}

.support-form-section .support-btn-clear,
.support-form-section .support-btn-submit {
  min-height: 46px;

  padding: 10px 25px;

  border-radius: 7px;

  font-size: 13px;
  font-weight: 600;

  transition: all 0.2s ease;
}

.support-form-section .support-btn-clear {
  background: #ffffff;

  border: 1px solid #cfd7e2;

  color: #536273;
}

.support-form-section .support-btn-clear:hover {
  background: #f2f4f7;

  border-color: #b9c3cf;
}


/* BOTÓN PRINCIPAL */

.support-form-section .support-btn-submit {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  gap: 9px;

  min-width: 190px;

  background: #20a464;

  border: 1px solid #20a464;

  color: #ffffff;
}

.support-form-section .support-btn-submit:hover {
  background: #198754;

  border-color: #198754;

  transform: translateY(-1px);

  box-shadow:
    0 5px 15px rgba(25, 135, 84, 0.20);
}

.support-form-section .support-btn-submit:disabled {
  opacity: 0.65;

  cursor: not-allowed;

  transform: none;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {

  .support-form-section {
    padding: 60px 0;
  }

  .support-form-section .support-form-info {
    border-right: 0;

    border-bottom: 1px solid #e1e8f0;
  }

}


@media (max-width: 767.98px) {

  .support-form-section {
    padding: 45px 0;
  }

  .support-form-section .support-form-heading {
    margin-bottom: 30px;
  }

  .support-form-section .support-form-heading h1 {
    font-size: 28px;
  }

  .support-form-section .support-form-heading p {
    font-size: 14px;
  }

  .support-form-section .support-form-info {
    padding: 30px 22px;
  }

  .support-form-section .support-form-content {
    padding: 30px 22px;
  }

  .support-form-section .support-form-title h2 {
    font-size: 19px;
  }

  .support-form-section .support-form-actions {
    flex-direction: column-reverse;
  }

  .support-form-section .support-btn-clear,
  .support-form-section .support-btn-submit {
    width: 100%;
  }

}


@media (max-width: 575.98px) {

  .support-form-section .support-form-card {
    border-radius: 10px;
  }

  .support-form-section .support-form-heading h1 {
    font-size: 25px;
  }

  .support-form-section .support-file-area {
    align-items: flex-start;

    padding: 18px;
  }

}