.elementor-11170101 .elementor-element.elementor-element-fee3072{margin-top:0px;margin-bottom:0px;}.elementor-11170101 .elementor-element.elementor-element-c9612ef{text-align:center;}.elementor-11170101 .elementor-element.elementor-element-c9612ef .elementor-heading-title{font-family:"Albert Sans", sans-serif;font-size:17px;font-weight:400;}.elementor-11170101 .elementor-element.elementor-element-8b934d0 .elementor-form-fields-wrapper{row-gap:10px;margin:0 calc(-10px / 2);}.elementor-11170101 .elementor-element.elementor-element-8b934d0 .elementor-field-group{padding:0 calc(10px / 2);}.elementor-11170101 .elementor-element.elementor-element-8b934d0 .elementor-field-group > .elementor-field-label{margin-bottom:5px;}.elementor-11170101 .elementor-element.elementor-element-8b934d0 .elementor-field-option .elementor-field-label{padding-inline-start:5px;}.elementor-11170101 .elementor-element.elementor-element-a20bdea{margin-top:0px;margin-bottom:0px;}.elementor-11170101 .elementor-element.elementor-element-f4652dd{text-align:center;}.elementor-11170101 .elementor-element.elementor-element-f4652dd .elementor-heading-title{font-family:"Albert Sans", sans-serif;font-size:23px;font-weight:200;text-transform:uppercase;}.elementor-11170101 .elementor-element.elementor-element-0db92d8 .elementor-title{font-family:"Albert Sans", sans-serif;}.elementor-11170101 .elementor-element.elementor-element-0db92d8 .elementor-price-wrapper{font-family:"Albert Sans", sans-serif;font-weight:600;}/* Start custom CSS for contact-form, class: .elementor-element-8b934d0 */@media (max-width: 767px) {
  .register-centered-form {
    padding-left: 15px;
    padding-right: 20px; /* margen moderado para no cortar texto */
    box-sizing: border-box;
    overflow-x: hidden;
  }

  .register-centered-form * {
    max-width: 100%;
    box-sizing: border-box;
    word-break: break-word;
  }

  /* Específicamente para textos largos tipo protección de datos */
  .register-centered-form .elementor-field-option,
  .register-centered-form small,
  .register-centered-form em,
  .register-centered-form p {
    display: block;
    width: 100%;
    font-size: 9px;
    line-height: 1.3;
    margin-right: 0;
  }

  html, body {
    overflow-x: hidden;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-fee3072 *//* Estilo CSS para formulario de registro de PrestaShop */

/* Ajuste del margen inferior a 50px */

.register-centered-container {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 50px;
    min-height: auto; /* Eliminamos min-height para que no fuerce espacio extra */
    padding-bottom: 50px; /* Establecemos exactamente 50px de margen inferior */
    padding-left: 20px;
    padding-right: 20px;
    background-color: #fff;
}

/* Asegurar que no hay otros elementos añadiendo espacio adicional */
.register-centered-container > * {
    margin-bottom: 0 !important;
}

/* Para adaptaciones de Elementor específicas */
.elementor-section.register-centered-container {
    padding-bottom: 50px !important;
    margin-bottom: 0 !important;
}


/* Resolver problema con las columnas de Elementor */
.register-centered-container .elementor-column-wrap,
.register-centered-container .elementor-widget-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
}

/* Formulario */
.register-centered-form {
    width: 100%;
    max-width: 700px;
    background-color: #fff;
    border-radius: 0;
    border: 1px solid #000;
    box-shadow: none;
    padding: 25px;
    text-align: center;
    font-family: 'Albert Sans', sans-serif;
}

/* Asegurar que los widgets dentro del formulario ocupen todo el ancho */
.register-centered-form .elementor-widget {
    width: 100%;
}

/* Título */
.register-centered-form h1 {
    color: #333;
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 5px;
    font-family: 'Albert Sans', sans-serif;
}

/* Subtítulo o instrucciones */
.register-centered-form .register-subtitle {
    color: #666;
    font-size: 12px;
    margin-bottom: 10px;
    font-family: 'Albert Sans', sans-serif;
}

/* Campos de formulario */
.register-centered-form input[type="email"],
.register-centered-form input[type="password"],
.register-centered-form input[type="text"],
.register-centered-form input[type="tel"],
.register-centered-form input[type="date"],
.register-centered-form select {
    width: 100%;
    padding: 8px 12px;
    margin-bottom: 6px;
    border: 1px solid #ddd;
    border-radius: 0;
    font-size: 12px;
    font-family: 'Albert Sans', sans-serif;
    background-color: #f8f8f8;
    transition: all 0.3s;
    height: 35px;
}

.register-centered-form input:focus,
.register-centered-form select:focus {
    border-color: #000;
    background-color: #fff;
    box-shadow: none;
    outline: none;
}

/* Labels */
.register-centered-form label {
    display: block;
    text-align: left;
    font-size: 12px;
    color: #333;
    margin-bottom: 3px;
    font-family: 'Albert Sans', sans-serif;
}

/* Estructura de columnas para el formulario */
.register-form-columns {
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px;
    margin-right: -10px;
}

.register-form-column {
    flex: 1;
    min-width: 280px;
    padding: 0 10px;
}

/* Grupos de campos */
.register-centered-form .form-group,
.register-centered-form .field-group {
    margin-bottom: 10px;
    text-align: left;
}

/* Para dispositivos muy pequeños */
@media (max-width: 650px) {
    .register-form-column {
        flex: 100%;
    }
}

/* Campos especiales que deben ocupar todo el ancho */
.register-centered-form .elementor-field-type-checkbox,
.register-centered-form .elementor-field-type-acceptance,
.register-centered-form .terms-checkbox,
.register-centered-form .elementor-field-type-submit,
.register-centered-form .form-group.full-width,
.register-centered-form .register-button-container {
    flex: 0 0 100% !important;
    width: 100% !important;
}

/* Botón de registro */
.register-centered-form .register-button {
    width: 50%;
    padding: 8px;
    background-color: #000;
    color: white;
    border: none;
    border-radius: 0;
    font-size: 12px;
    font-weight: 500;
    font-family: 'Albert Sans', sans-serif;
    cursor: pointer;
    transition: all 0.3s;
    margin-top: 10px;
    margin-bottom: 15px;
    height: 35px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.register-centered-form .register-button:hover {
    background-color: #333;
}

/* Checkbox de términos y condiciones */
.register-centered-form .terms-checkbox {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    text-align: left;
}

.register-centered-form .terms-checkbox input[type="checkbox"] {
    margin-right: 6px;
    margin-top: 2px;
}

.register-centered-form .terms-checkbox label {
    font-size: 12px;
    color: #666;
    font-family: 'Albert Sans', sans-serif;
}

/* Enlaces en el formulario */
.register-centered-form a {
    color: #000;
    text-decoration: none;
    transition: all 0.3s;
    font-family: 'Albert Sans', sans-serif;
    font-size: 12px;
}

.register-centered-form a:hover {
    text-decoration: underline;
}

/* Enlace para volver a inicio de sesión */
.register-centered-form .login-link-container {
    margin-top: 20px;
    text-align: center;
    border-top: 1px solid #eee;
    padding-top: 15px;
}

.register-centered-form .login-link {
    font-size: 12px;
    color: #000;
    text-decoration: none;
    font-family: 'Albert Sans', sans-serif;
}

/* Mensajes de error */
.register-centered-form .error-message,
.register-centered-form .alert,
.register-centered-form .help-block {
    color: #d9534f;
    font-size: 12px;
    margin-top: 2px;
    text-align: left;
    font-family: 'Albert Sans', sans-serif;
}

/* Mensajes informativos */
.register-centered-form .info-message,
.register-centered-form .alert-info {
    color: #5bc0de;
    font-size: 12px;
    margin-top: 5px;
    margin-bottom: 10px;
    text-align: left;
    font-family: 'Albert Sans', sans-serif;
}

/* Adaptaciones para Elementor */
.register-centered-form .elementor-field-group {
    margin-bottom: 6px;
}

.register-centered-form .elementor-field {
    width: 100% !important;
    padding: 8px 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-family: 'Albert Sans', sans-serif !important;
    background-color: #f8f8f8 !important;
    transition: all 0.3s !important;
    height: 35px !important;
}

.register-centered-form .elementor-field:focus {
    border-color: #000 !important;
    background-color: #fff !important;
    box-shadow: none !important;
    outline: none !important;
}

.register-centered-form .elementor-field-label {
    display: block !important;
    text-align: left !important;
    font-size: 12px !important;
    color: #333 !important;
    margin-bottom: 3px !important;
    font-family: 'Albert Sans', sans-serif !important;
}

.register-centered-form .elementor-button {
    width: 50% !important;
    padding: 8px !important;
    background-color: #000 !important;
    color: white !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-family: 'Albert Sans', sans-serif !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
    margin-top: 10px !important;
    margin-bottom: 15px !important;
    height: 35px !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.register-centered-form .elementor-button:hover {
    background-color: #333 !important;
}

/* Adaptaciones para el checkbox en Elementor */
.register-centered-form .elementor-field-type-checkbox,
.register-centered-form .elementor-field-type-acceptance {
    display: flex;
    align-items: flex-start;
    text-align: left;
    margin-bottom: 10px !important;
}

.register-centered-form .elementor-field-type-checkbox input[type="checkbox"],
.register-centered-form .elementor-field-type-acceptance input[type="checkbox"] {
    margin-right: 6px;
    margin-top: 2px;
}

.register-centered-form .elementor-field-type-checkbox .elementor-field-label,
.register-centered-form .elementor-field-type-acceptance .elementor-field-label {
    font-size: 12px !important;
    font-family: 'Albert Sans', sans-serif !important;
    color: #666 !important;
}

/* Adaptaciones para PrestaShop */
#customer-form .form-control,
#registration-form .form-control,
#account-creation_form .form-control {
    width: 100%;
    padding: 8px 12px;
    margin-bottom: 6px;
    border: 1px solid #ddd;
    border-radius: 0;
    font-size: 12px;
    font-family: 'Albert Sans', sans-serif;
    background-color: #f8f8f8;
    transition: all 0.3s;
    height: 35px;
}

#customer-form .form-control:focus,
#registration-form .form-control:focus,
#account-creation_form .form-control:focus {
    border-color: #000;
    background-color: #fff;
    box-shadow: none;
    outline: none;
}

#customer-form label,
#registration-form label,
#account-creation_form label {
    display: block;
    text-align: left;
    font-size: 12px;
    color: #333;
    margin-bottom: 3px;
    font-family: 'Albert Sans', sans-serif;
}

#customer-form .form-group,
#registration-form .form-group,
#account-creation_form .form-group {
    margin-bottom: 10px;
}

#customer-form .btn-primary,
#registration-form .btn-primary,
#account-creation_form .btn-primary {
    width: 50%;
    padding: 8px;
    background-color: #000;
    color: white;
    border: none;
    border-radius: 0;
    font-size: 12px;
    font-family: 'Albert Sans', sans-serif;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
    margin-top: 10px;
    margin-bottom: 15px;
    height: 35px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

#customer-form .btn-primary:hover,
#registration-form .btn-primary:hover,
#account-creation_form .btn-primary:hover {
    background-color: #333;
}

/* Manejo de columnas para campos en dispositivos grandes */
@media (min-width: 768px) {
    .register-centered-form .register-two-columns {
        display: flex;
        justify-content: space-between;
    }
    
    .register-centered-form .register-two-columns .form-group,
    .register-centered-form .register-two-columns .elementor-field-group {
        width: 48%;
    }
    
    /* Estilos específicos para Elementor con estructura de dos columnas */
    .register-centered-form .elementor-field-group {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* Ajustes para Elementor Grid */
.register-centered-form .elementor-form-fields-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px;
    margin-right: -10px;
}

.register-centered-form .elementor-field-group {
    flex: 1 0 280px;
    padding: 0 10px;
}

/* Responsive */
@media (max-width: 480px) {
    .register-centered-form {
        padding: 20px;
    }
}

/* Estilos para la etiqueta small y para cuando aparece como texto literal */

/* Para la etiqueta small correctamente implementada */
.register-centered-form small,
.login-centered-form small,
.elementor-field-option small {
    font-size: 10px !important;
    color: #888 !important;
    font-family: 'Albert Sans', sans-serif !important;
    display: block !important;
    margin-top: 2px !important;
    font-style: italic !important;
    text-align: left !important;
    line-height: 1.3 !important;
}

/* Para cuando aparece como texto literal */
.register-centered-form em,
.login-centered-form em,
.elementor-field-option em {
    font-size: 10px !important;
    color: #888 !important;
    font-family: 'Albert Sans', sans-serif !important;
    display: block !important;
    margin-top: 2px !important;
    font-style: italic !important;
    text-align: left !important;
    line-height: 1.3 !important;
}

/* Para asegurar que los textos literales aparezcan correctamente */
.elementor-field-option em:after {
    content: "Puedes darte de baja en cualquier momento.";
}

/* Ocultar el texto literal HTML */
.elementor-field-option em:empty:after {
    content: "Puedes darte de baja en cualquier momento.";
}

.elementor-field-option em {
    font-size: 0; /* Oculta el texto original */
}

/* Para dejarlo con margen a la izquierda alineado con el texto del checkbox */
.elementor-field-option small,
.elementor-field-option em {
    margin-left: 23px !important;
}

/* Alineación horizontal del checkbox con su texto */

.elementor-field-group.elementor-field-type-checkbox,
.js-input-column.elementor-field-type-checkbox {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    text-align: left !important;
    margin-bottom: 10px !important;
}

.elementor-field-group.elementor-field-type-checkbox .elementor-field-option,
.js-input-column.elementor-field-type-checkbox .elementor-field-option {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    width: 100% !important;
}

.elementor-field-group.elementor-field-type-checkbox input[type="checkbox"],
.js-input-column.elementor-field-type-checkbox input[type="checkbox"] {
    margin-top: 3px !important; /* Ajusta según el tamaño de tu texto */
    margin-right: 8px !important;
    flex-shrink: 0 !important;
}

.elementor-field-group.elementor-field-type-checkbox .elementor-field-label,
.js-input-column.elementor-field-type-checkbox .elementor-field-label {
    margin: 0 !important;
    text-align: left !important;
    font-size: 12px !important;
    font-family: 'Albert Sans', sans-serif !important;
    line-height: 1.4 !important;
}

/* Para el mensaje "Puedes darte de baja en cualquier momento" */
.elementor-field-group.elementor-field-type-checkbox small,
.elementor-field-group.elementor-field-type-checkbox em,
.js-input-column.elementor-field-type-checkbox small,
.js-input-column.elementor-field-type-checkbox em {
    display: block !important;
    margin-left: 22px !important; /* Alinea con el texto del label */
    margin-top: 2px !important;
    font-size: 10px !important;
    color: #888 !important;
    font-style: italic !important;
    line-height: 1.2 !important;
}

/* Para asegurarnos que no haya espacios adicionales que desalineen */
.elementor-field-type-checkbox .elementor-field-subgroup {
    margin: 0 !important;
    padding: 0 !important;
}

/* Importar fuente Albert Sans (si no está ya importada) */
@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:wght@300;400;500;600&display=swap');

/* Estilos para los requisitos de contraseña */

.password-requirements,
.password-hint,
.password-rules,
.elementor-field-password-requirements,
[class*="password-requirements"],
[class*="password-hint"],
[class*="password-rules"] {
    font-size: 11px !important;
    color: #666 !important;
    font-family: 'Albert Sans', sans-serif !important;
    margin-top: 2px !important;
    text-align: left !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
}

/* Para listas de requisitos de contraseña */
.password-requirements ul,
.password-hint ul,
.password-rules ul,
.elementor-field-password-requirements ul,
[class*="password-requirements"] ul,
[class*="password-hint"] ul,
[class*="password-rules"] ul {
    list-style-type: none !important;
    padding-left: 0 !important;
    margin-top: 3px !important;
    margin-bottom: 0 !important;
}

.password-requirements li,
.password-hint li,
.password-rules li,
.elementor-field-password-requirements li,
[class*="password-requirements"] li,
[class*="password-hint"] li,
[class*="password-rules"] li {
    font-size: 11px !important;
    margin-bottom: 2px !important;
    position: relative !important;
    padding-left: 15px !important;
}

/* Marcadores para requisitos cumplidos o no cumplidos */
.password-requirements li:before,
.password-hint li:before,
.password-rules li:before,
.elementor-field-password-requirements li:before,
[class*="password-requirements"] li:before,
[class*="password-hint"] li:before,
[class*="password-rules"] li:before {
    content: "•" !important;
    position: absolute !important;
    left: 5px !important;
    top: 0 !important;
}

/* Requisitos cumplidos */
.password-requirements li.valid,
.password-hint li.valid,
.password-rules li.valid,
.elementor-field-password-requirements li.valid,
[class*="password-requirements"] li.valid,
[class*="password-hint"] li.valid,
[class*="password-rules"] li.valid {
    color: #4CAF50 !important;
}

/* Requisitos no cumplidos */
.password-requirements li.invalid,
.password-hint li.invalid,
.password-rules li.invalid,
.elementor-field-password-requirements li.invalid,
[class*="password-requirements"] li.invalid,
[class*="password-hint"] li.invalid,
[class*="password-rules"] li.invalid {
    color: #888 !important;
}/* End custom CSS */