/* =====================================================================
   PÁGINAS INTERNAS: catálogo, login, registro, mis cursos, certificados,
   recuperar contraseña, mi cuenta. Reglas por ID de widget (únicos en el
   sitio), así que este archivo se carga en todas las páginas sin efectos
   cruzados.
   ===================================================================== */

/* ---- Títulos de página: grandes, tracking apretado ---- */
html.emp-skin
  :is(
    .elementor-element-8c40bab,
    .elementor-element-4805b55,
    .elementor-element-2279f24,
    .elementor-element-5844fbd,
    .elementor-element-61f685a,
    .elementor-element-bc53d83,
    .elementor-element-c63df0f,
    .elementor-element-e757e34
  )
  .elementor-heading-title {
  display: block;
  margin-inline: 0 !important;
  color: var(--emp-ink) !important;
  font-size: var(--emp-h2) !important;
  font-weight: 600 !important;
  letter-spacing: -0.04em !important;
  line-height: 0.98 !important;
}

/* ---- Bajadas (widgets "heading" usados como párrafo) ---- */
html.emp-skin
  :is(
    .elementor-element-211559f,
    .elementor-element-feee03e,
    .elementor-element-2bdc4b9,
    .elementor-element-c11634d,
    .elementor-element-8753f92,
    .elementor-element-c44b19c
  )
  .elementor-heading-title {
  display: block;
  max-width: 52ch;
  margin-inline: 0 !important;
  color: var(--emp-muted) !important;
  font-size: var(--emp-lead) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.55 !important;
}

/* =====================================================================
   CATÁLOGO ("Cursos Online", 1357)
   ===================================================================== */
html.emp-skin :is(.elementor-element-157e590, .elementor-element-bbef898) > .elementor-container {
  max-width: var(--emp-wrap) !important;
}
html.emp-skin :is(.elementor-element-157e590, .elementor-element-bbef898) > .elementor-container > .elementor-column > .elementor-widget-wrap {
  padding: 0 !important;
}
html.emp-skin .elementor-element-157e590 {
  padding: clamp(3.5rem, 7vw, 6rem) var(--emp-gutter) clamp(2.5rem, 4vw, 3.5rem) !important;
}
html.emp-skin .elementor-element-157e590 .elementor-widget-heading > .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}
html.emp-skin .elementor-element-8c40bab {
  margin-bottom: 1.5rem !important;
}
html.emp-skin .elementor-element-8c40bab .elementor-heading-title {
  max-width: 11em;
}
html.emp-skin .elementor-element-bbef898 {
  padding: 0 var(--emp-gutter) var(--emp-section) !important;
}

/* =====================================================================
   INGRESO Y REGISTRO: pantalla dividida con foto, como un producto premium
   ===================================================================== */

/* ---- Login (1191): foto a la izquierda, formulario a la derecha ---- */
html.emp-skin .elementor-element-3a0816e {
  padding: clamp(2rem, 4vw, 3.5rem) var(--emp-gutter) clamp(4rem, 8vw, 6rem) !important;
}
html.emp-skin .elementor-element-3a0816e > .elementor-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
  max-width: var(--emp-wrap) !important;
}
html.emp-skin .elementor-element-3a0816e > .elementor-container::before {
  content: '';
  display: block;
  min-height: clamp(520px, 72vh, 720px);
  border-radius: 8px;
  background: var(--emp-img-acceso) 62% center / cover no-repeat, var(--emp-blush-soft);
}
html.emp-skin .elementor-element-2687195 {
  width: 100% !important;
  max-width: 440px;
}
html.emp-skin .elementor-element-2687195 > .elementor-widget-wrap {
  padding: 0 !important;
  margin: 0 !important; /* traía 132px a cada lado */
}
/* El widget de login venía con un ancho fijo de 180px. */
html.emp-skin .elementor-element-2687195 .elementor-widget {
  width: 100% !important;
  max-width: none !important;
}
html.emp-skin .elementor-element-4805b55 {
  margin-bottom: 2.25rem !important;
}
html.emp-skin .elementor-element-4805b55 .elementor-heading-title {
  font-size: clamp(2.25rem, 4vw, 3.5rem) !important;
  text-align: left !important;
}

/* ---- Registro (1182): la columna de texto se vuelve una tarjeta con foto ---- */
html.emp-skin .elementor-element-d085d51 {
  padding: clamp(2rem, 4vw, 3.5rem) var(--emp-gutter) clamp(4rem, 8vw, 6rem) !important;
}
html.emp-skin .elementor-element-d085d51 > .elementor-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: stretch;
  max-width: var(--emp-wrap) !important;
}
html.emp-skin .elementor-element-d085d51 > .elementor-container > .elementor-column {
  width: auto !important;
  min-width: 0;
}
html.emp-skin .elementor-element-7b80008 > .elementor-widget-wrap {
  position: relative;
  isolation: isolate;
  min-height: clamp(560px, 76vh, 760px);
  align-content: flex-end !important;
  padding: clamp(2rem, 4vw, 3rem) !important;
  border-radius: 8px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.82) 100%), var(--emp-img-acceso) 62% center / cover no-repeat !important;
}
html.emp-skin .elementor-element-7b80008 .elementor-widget-heading > .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}
html.emp-skin .elementor-element-7b80008 .elementor-element {
  margin: 0 !important;
  text-align: left !important;
}
html.emp-skin .elementor-element-2279f24 {
  margin-bottom: 1.25rem !important;
}
html.emp-skin .elementor-element-2279f24 .elementor-heading-title {
  max-width: 9em;
  color: var(--emp-white) !important;
  font-size: clamp(2.5rem, 4.4vw, 4rem) !important;
}
html.emp-skin :is(.elementor-element-feee03e, .elementor-element-2bdc4b9) .elementor-heading-title {
  color: var(--emp-on-dark) !important;
}
html.emp-skin .elementor-element-feee03e {
  margin-bottom: 1rem !important;
}
html.emp-skin .elementor-element-2bdc4b9 .elementor-heading-title a {
  color: var(--emp-white) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
html.emp-skin .elementor-element-16f75b7 > .elementor-widget-wrap {
  padding: clamp(0rem, 2vw, 1.5rem) 0 !important;
  align-content: center !important;
}

/* Letra chica de condiciones del registro */
html.emp-skin .condiciones .elementor-heading-title {
  color: var(--emp-muted) !important;
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
}

/* =====================================================================
   "MIS CURSOS" y "MIS CERTIFICADOS" sin sesión: aviso tipográfico con aire
   ===================================================================== */
html.emp-skin :is(.elementor-element-2365cd5, .elementor-element-c3b2c5c, .elementor-element-cb048fe, .elementor-element-d40f072) {
  padding: clamp(4rem, 8vw, 7rem) var(--emp-gutter) !important;
}
html.emp-skin
  :is(.elementor-element-2365cd5, .elementor-element-c3b2c5c, .elementor-element-cb048fe, .elementor-element-d40f072)
  > .elementor-container {
  max-width: var(--emp-wrap) !important;
}
html.emp-skin :is(.elementor-element-5844fbd, .elementor-element-61f685a, .elementor-element-c63df0f, .elementor-element-e757e34) {
  margin-bottom: 1.25rem !important;
}
html.emp-skin :is(.elementor-element-5844fbd, .elementor-element-61f685a, .elementor-element-c63df0f, .elementor-element-e757e34) .elementor-heading-title {
  max-width: 13em;
}
html.emp-skin :is(.elementor-element-be6d4b2, .elementor-element-39ca63b, .elementor-element-2f40a02) {
  margin-top: 2rem !important;
}

/* ---- Etiquetas de formulario: chicas, en mayúsculas, gris ---- */
html.emp-skin
  :is(
    .elementor-field-group:not(.elementor-field-type-acceptance):not(.elementor-field-type-checkbox):not(
        .elementor-field-type-radio
      )
      > .elementor-field-label,
    .elementor-login .elementor-field-label,
    .woocommerce form .form-row > label:not(.checkbox):not(.woocommerce-form__label-for-checkbox)
  ) {
  margin-bottom: 0.5rem !important;
  color: var(--emp-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
html.emp-skin .elementor-form .elementor-field-group,
html.emp-skin .elementor-login .elementor-field-group {
  margin-bottom: 1.125rem !important;
}
/* Botón de envío a lo ancho, como en la beta */
html.emp-skin :is(.elementor-login, .elementor-element-603dcb4, .elementor-element-5ee76da) .elementor-field-type-submit .elementor-button {
  width: 100%;
  justify-content: center;
  padding: 1.125rem 1.5rem !important;
  font-size: 1.0625rem !important;
}

/* Botones de formulario cargados en MAYÚSCULAS ("CREAR CUENTA") → tipo oración */
html.emp-skin .elementor-field-type-submit .elementor-button-text {
  text-transform: lowercase !important;
}
html.emp-skin .elementor-field-type-submit .elementor-button-text::first-letter {
  text-transform: uppercase;
}

/* ---- Mi cuenta (WooCommerce) sin sesión: tarjeta de ingreso ---- */
html.emp-skin .woocommerce form.woocommerce-form-login {
  max-width: 480px;
  margin: clamp(2rem, 5vw, 4rem) auto !important;
  padding: clamp(1.75rem, 4vw, 2.75rem) !important;
  border: 1px solid var(--emp-line) !important;
  border-radius: 8px !important;
  background: var(--emp-white) !important;
}

/* ---- Links dentro de texto: tinta subrayada, no azul ---- */
html.emp-skin
  :where(
    .elementor-widget-text-editor,
    .elementor-field-group,
    .elementor-login,
    .condiciones,
    .woocommerce-privacy-policy-text,
    .woocommerce-terms-and-conditions-wrapper,
    .woocommerce-form-login,
    .lost_password
  )
  a:where(:not(.elementor-button, .button)) {
  color: var(--emp-ink) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px;
}
html.emp-skin
  :where(
    .elementor-widget-text-editor,
    .elementor-field-group,
    .elementor-login,
    .condiciones,
    .woocommerce-privacy-policy-text,
    .woocommerce-terms-and-conditions-wrapper,
    .woocommerce-form-login,
    .lost_password
  )
  a:where(:not(.elementor-button, .button)):hover {
  color: var(--emp-brand) !important;
}
/* En el footer (fondo negro) los links de texto van claros */
html.emp-skin .elementor-location-footer .elementor-widget-text-editor a {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width: 900px) {
  html.emp-skin :is(.elementor-element-3a0816e, .elementor-element-d085d51) > .elementor-container {
    grid-template-columns: 1fr;
  }
  /* En el celular la foto del login no suma: el formulario va primero. */
  html.emp-skin .elementor-element-3a0816e > .elementor-container::before {
    display: none;
  }
  html.emp-skin .elementor-element-2687195 {
    max-width: none;
  }
  html.emp-skin .elementor-element-7b80008 > .elementor-widget-wrap {
    min-height: 340px;
  }
}

/* Mis certificados: bajada */
html.emp-skin .elementor-element-bcc96ed,
html.emp-skin .elementor-element-bcc96ed p {
  max-width: 60ch;
  color: var(--emp-muted) !important;
  font-size: var(--emp-lead) !important;
  line-height: 1.55 !important;
}

/* Catálogo: la bajada trae un salto de línea entre sus dos oraciones. Sin
   tope de ancho, cada oración ocupa un renglón en escritorio (el límite
   de 52ch la partía de nuevo en el medio). */
html.emp-skin .elementor-element-211559f .elementor-heading-title {
  max-width: none !important;
  text-wrap: pretty;
}
