/* Botón volver y formulario corridos a la derecha, alineados entre sí */
#view-cv .cv-shift { padding-left: calc(clamp(140px, 18vw, 340px) + 3vw) !important; }

/* ── MÓVIL: Envía tu CV — título alineado a la izquierda y formulario apilado ── */
@media (max-width: 779px) {
  #view-cv .page-pm {
    padding-left: max(clamp(32px, 10vw, 40px), env(safe-area-inset-left)) !important;
    padding-right: max(clamp(32px, 10vw, 40px), env(safe-area-inset-right)) !important;
  }

  #view-cv .page-pm:first-child {
    padding-top: 22px !important;
  }

  #view-cv .cv-shift {
    flex-direction: column !important;
    align-items: stretch !important;
    /* El espacio entre el titular y el bloque de formulario se comparte
       con Oportunidades; el titular no suma un margen adicional. */
    gap: 14px !important;
    padding-top: 22px !important;
    padding-bottom: 36px !important;
  }

  #view-cv .left-title {
    width: 100% !important;
    align-items: flex-start !important;
    gap: 2px;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
  }

  #view-cv .left-title > span {
    text-align: left !important;
    font-size: clamp(26px, 7.4vw, 32px);
    line-height: 1.08;
    letter-spacing: -0.03em;
  }

  #view-cv .cv-shift > div:last-child {
    width: 100%;
  }

  #view-cv form > div[style*="1fr 1fr 1fr"] {
    grid-template-columns: 1fr 1fr !important;
  }

  #view-cv form > div[style*="1fr 1fr 1fr"] > :last-child {
    grid-column: 1 / -1;
  }

  #view-cv .cv-field {
    height: 42px;
    border-radius: 12px;
    font-size: 13px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
  }

  #view-cv textarea.cv-field {
    height: 110px;
  }

  #view-cv form > div:last-child {
    justify-content: stretch !important;
  }

  #view-cv form > div:last-child .btn-dark {
    width: 100%;
    text-align: center;
  }
}

/* Móvil: selects personalizados del formulario más delgados y en una línea */
@media (max-width: 779px) {
  #view-cv .cs-btn {
    padding: 11px 38px 11px 16px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    line-height: 20px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
  }

  #view-cv .cs-arrow {
    right: 15px !important;
  }

  /* Permite que los selects personalizados se adapten a las dos columnas
     incluso en pantallas angostas, sin invadir el margen lateral. */
  #view-cv form > div[style*="grid-template-columns"] > div,
  #view-cv .cs-btn {
    min-width: 0 !important;
  }

  #view-cv .cs-btn {
    width: 100% !important;
  }

  /* Retícula tipográfica compartida con Oportunidades. */
  #view-cv .cv-field,
  #view-cv .cs-btn {
    line-height: 20px !important;
  }

  #view-cv textarea.cv-field {
    line-height: 1.4;
  }

  #view-cv .cv-shift > div:last-child > p {
    line-height: 1.2;
  }

  #view-cv [data-cms="form.subtitulo"] {
    /* Etiqueta del formulario: una línea de 20 px y separación de 12 px
       antes de los controles, igual que el resto de la retícula móvil. */
    line-height: 20px !important;
    margin-bottom: 12px !important;
  }

  #view-cv #cv-file-name,
  #view-cv label[for="cv-privacy"] {
    line-height: 1.35;
  }

  #view-cv .btn-dark {
    line-height: 1;
  }
}
