/* Selector base para todos los campos que queremos estilizar */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="moda_masculina"], input[name*="moda_femenina"], input[name*="familia_ninos"], input[name*="familia_y_ninos"], input[name*="ocio"], input[name*="gastronomia"], input[name*="restauracion"], input[name*="tecnologia"], input[name*="salud_belleza"], input[name*="salud_y_belleza"], input[name*="deportes"], input[name*="deporte"], input[name*="promociones"], input[name*="promocion"], input[id*="moda_masculina"], input[id*="moda_femenina"], input[id*="familia_ninos"], input[id*="familia_y_ninos"], input[id*="ocio"], input[id*="gastronomia"], input[id*="restauracion"], input[id*="tecnologia"], input[id*="salud_belleza"], input[id*="salud_y_belleza"], input[id*="deportes"], input[id*="deporte"], input[id*="promociones"], input[id*="promocion"]) {
	position: relative;
	margin-bottom: 15px;
  width: 50%;
}

.form__loyalty .elementor-field-type-acceptance:has(input[name*="moda_masculina"], input[name*="moda_femenina"], input[name*="familia_ninos"], input[name*="familia_y_ninos"], input[name*="ocio"], input[name*="gastronomia"], input[name*="restauracion"], input[name*="tecnologia"], input[name*="salud_belleza"], input[name*="salud_y_belleza"], input[name*="deportes"], input[name*="deporte"], input[name*="promociones"], input[name*="promocion"], input[id*="moda_masculina"], input[id*="moda_femenina"], input[id*="familia_ninos"], input[id*="familia_y_ninos"], input[id*="ocio"], input[id*="gastronomia"], input[id*="restauracion"], input[id*="tecnologia"], input[id*="salud_belleza"], input[id*="salud_y_belleza"], input[id*="deportes"], input[id*="deporte"], input[id*="promociones"], input[id*="promocion"]) .elementor-field-subgroup {
	position: relative;
	display: flex;
	align-items: center;
}

/* Ocultar checkbox nativo pero mantenerlo accesible */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="moda_masculina"], input[name*="moda_femenina"], input[name*="familia_ninos"], input[name*="familia_y_ninos"], input[name*="ocio"], input[name*="gastronomia"], input[name*="restauracion"], input[name*="tecnologia"], input[name*="salud_belleza"], input[name*="salud_y_belleza"], input[name*="deportes"], input[name*="deporte"], input[name*="promociones"], input[name*="promocion"], input[id*="moda_masculina"], input[id*="moda_femenina"], input[id*="familia_ninos"], input[id*="familia_y_ninos"], input[id*="ocio"], input[id*="gastronomia"], input[id*="restauracion"], input[id*="tecnologia"], input[id*="salud_belleza"], input[id*="salud_y_belleza"], input[id*="deportes"], input[id*="deporte"], input[id*="promociones"], input[id*="promocion"]) .elementor-acceptance-field {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	pointer-events: none;
}

/* Contenedor principal del campo */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="moda_masculina"], input[name*="moda_femenina"], input[name*="familia_ninos"], input[name*="familia_y_ninos"], input[name*="ocio"], input[name*="gastronomia"], input[name*="restauracion"], input[name*="tecnologia"], input[name*="salud_belleza"], input[name*="salud_y_belleza"], input[name*="deportes"], input[name*="deporte"], input[name*="promociones"], input[name*="promocion"], input[id*="moda_masculina"], input[id*="moda_femenina"], input[id*="familia_ninos"], input[id*="familia_y_ninos"], input[id*="ocio"], input[id*="gastronomia"], input[id*="restauracion"], input[id*="tecnologia"], input[id*="salud_belleza"], input[id*="salud_y_belleza"], input[id*="deportes"], input[id*="deporte"], input[id*="promociones"], input[id*="promocion"]) .elementor-field-label {
	display: flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
	margin-bottom: 0;
	border: 2px solid #e0e0e0;
	border-radius: 8px;
	transition: all 0.3s ease;
	background: #fff;
	position: relative;
	width: 100%;
  font-weight: 600;
}

.form__loyalty .elementor-field-type-acceptance:has(input[name*="moda_masculina"], input[name*="moda_femenina"], input[name*="familia_ninos"], input[name*="familia_y_ninos"], input[name*="ocio"], input[name*="gastronomia"], input[name*="restauracion"], input[name*="tecnologia"], input[name*="salud_belleza"], input[name*="salud_y_belleza"], input[name*="deportes"], input[name*="deporte"], input[name*="promociones"], input[name*="promocion"], input[id*="moda_masculina"], input[id*="moda_femenina"], input[id*="familia_ninos"], input[id*="familia_y_ninos"], input[id*="ocio"], input[id*="gastronomia"], input[id*="restauracion"], input[id*="tecnologia"], input[id*="salud_belleza"], input[id*="salud_y_belleza"], input[id*="deportes"], input[id*="deporte"], input[id*="promociones"], input[id*="promocion"]) .elementor-field-label:hover {
	border-color: #9aa0a6;
	background: #f8f9fa;
}

/* Icono/imagen usando ::before basado en el atributo name o id del input */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="moda_masculina"], input[name*="moda_femenina"], input[id*="moda_masculina"], input[id*="moda_femenina"], input[name*="familia_ninos"], input[name*="familia_y_ninos"], input[id*="familia_ninos"], input[id*="familia_y_ninos"], input[name*="ocio"], input[id*="ocio"], input[name*="gastronomia"], input[name*="restauracion"], input[id*="gastronomia"], input[id*="restauracion"], input[name*="tecnologia"], input[id*="tecnologia"], input[name*="salud_belleza"], input[name*="salud_y_belleza"], input[id*="salud_belleza"], input[id*="salud_y_belleza"], input[name*="deportes"], input[name*="deporte"], input[id*="deportes"], input[id*="deporte"], input[name*="promociones"], input[name*="promocion"], input[id*="promociones"], input[id*="promocion"]) .elementor-field-label::before {
	content: '';
	width: 60px;
	height: 60px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	flex-shrink: 0;
}

/* Moda masculina */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="moda_masculina"], input[id*="moda_masculina"]) .elementor-field-label::before {
	background-image: var(--midrocket-moda);
}

/* Moda femenina */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="moda_femenina"], input[id*="moda_femenina"]) .elementor-field-label::before {
	background-image: var(--midrocket-moda);
}

/* Familia y niños */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="familia_ninos"], input[name*="familia_y_ninos"], input[id*="familia_ninos"], input[id*="familia_y_ninos"]) .elementor-field-label::before {
	background-image: var(--midrocket-familia);
}

/* Ocio */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="ocio"], input[id*="ocio"]) .elementor-field-label::before {
	background-image: var(--midrocket-ocio);
}

/* Gastronomia */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="gastronomia"], input[id*="gastronomia"]) .elementor-field-label::before {
	background-image: var(--midrocket-restauracion);
}

/* Restauracion */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="restauracion"], input[id*="restauracion"]) .elementor-field-label::before {
	background-image: var(--midrocket-restauracion);
}

/* Tecnologia */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="tecnologia"], input[id*="tecnologia"]) .elementor-field-label::before {
	background-image: var(--midrocket-tecnologia);
}

/* Salud y belleza */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="salud_belleza"], input[name*="salud_y_belleza"], input[id*="salud_belleza"], input[id*="salud_y_belleza"]) .elementor-field-label::before {
	background-image: var(--midrocket-salud);
}

/* Deportes */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="deportes"], input[name*="deporte"], input[id*="deportes"], input[id*="deporte"]) .elementor-field-label::before {
	background-image: var(--midrocket-deporte);
}

/* Promociones */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="promociones"], input[name*="promocion"], input[id*="promociones"], input[id*="promocion"]) .elementor-field-label::before {
	background-image: var(--midrocket-promociones);
}

/* Checkbox personalizado a la derecha */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="moda_masculina"], input[name*="moda_femenina"], input[name*="familia_ninos"], input[name*="familia_y_ninos"], input[name*="ocio"], input[name*="gastronomia"], input[name*="restauracion"], input[name*="tecnologia"], input[name*="salud_belleza"], input[name*="salud_y_belleza"], input[name*="deportes"], input[name*="deporte"], input[name*="promociones"], input[name*="promocion"], input[id*="moda_masculina"], input[id*="moda_femenina"], input[id*="familia_ninos"], input[id*="familia_y_ninos"], input[id*="ocio"], input[id*="gastronomia"], input[id*="restauracion"], input[id*="tecnologia"], input[id*="salud_belleza"], input[id*="salud_y_belleza"], input[id*="deportes"], input[id*="deporte"], input[id*="promociones"], input[id*="promocion"]) .elementor-field-label::after {
	content: '';
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	border: 2px solid #ccc;
	border-radius: 4px;
	background: #fff;
	transition: all 0.3s ease;
	flex-shrink: 0;
}

/* Estado checked - checkbox relleno con check */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="moda_masculina"]:checked, input[name*="moda_femenina"]:checked, input[name*="familia_ninos"]:checked, input[name*="familia_y_ninos"]:checked, input[name*="ocio"]:checked, input[name*="gastronomia"]:checked, input[name*="restauracion"]:checked, input[name*="tecnologia"]:checked, input[name*="salud_belleza"]:checked, input[name*="salud_y_belleza"]:checked, input[name*="deportes"]:checked, input[name*="deporte"]:checked, input[name*="promociones"]:checked, input[name*="promocion"]:checked, input[id*="moda_masculina"]:checked, input[id*="moda_femenina"]:checked, input[id*="familia_ninos"]:checked, input[id*="familia_y_ninos"]:checked, input[id*="ocio"]:checked, input[id*="gastronomia"]:checked, input[id*="restauracion"]:checked, input[id*="tecnologia"]:checked, input[id*="salud_belleza"]:checked, input[id*="salud_y_belleza"]:checked, input[id*="deportes"]:checked, input[id*="deporte"]:checked, input[id*="promociones"]:checked, input[id*="promocion"]:checked) .elementor-field-label::after {
	background: #9aa0a6;
	border-color: #9aa0a6;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 14px;
}

/* Estado checked para el label */
.form__loyalty .elementor-field-type-acceptance:has(input[name*="moda_masculina"]:checked, input[name*="moda_femenina"]:checked, input[name*="familia_ninos"]:checked, input[name*="familia_y_ninos"]:checked, input[name*="ocio"]:checked, input[name*="gastronomia"]:checked, input[name*="restauracion"]:checked, input[name*="tecnologia"]:checked, input[name*="salud_belleza"]:checked, input[name*="salud_y_belleza"]:checked, input[name*="deportes"]:checked, input[name*="deporte"]:checked, input[name*="promociones"]:checked, input[name*="promocion"]:checked, input[id*="moda_masculina"]:checked, input[id*="moda_femenina"]:checked, input[id*="familia_ninos"]:checked, input[id*="familia_y_ninos"]:checked, input[id*="ocio"]:checked, input[id*="gastronomia"]:checked, input[id*="restauracion"]:checked, input[id*="tecnologia"]:checked, input[id*="salud_belleza"]:checked, input[id*="salud_y_belleza"]:checked, input[id*="deportes"]:checked, input[id*="deporte"]:checked, input[id*="promociones"]:checked, input[id*="promocion"]:checked) .elementor-field-label {
	border-color: #9aa0a6;
	background: #e8f4f8;
}

@media (max-width: 768px) {
  .form__loyalty .elementor-field-type-acceptance:has(input[name*="moda_masculina"], input[name*="moda_femenina"], input[name*="familia_ninos"], input[name*="familia_y_ninos"], input[name*="ocio"], input[name*="gastronomia"], input[name*="restauracion"], input[name*="tecnologia"], input[name*="salud_belleza"], input[name*="salud_y_belleza"], input[name*="deportes"], input[name*="deporte"], input[name*="promociones"], input[name*="promocion"], input[id*="moda_masculina"], input[id*="moda_femenina"], input[id*="familia_ninos"], input[id*="familia_y_ninos"], input[id*="ocio"], input[id*="gastronomia"], input[id*="restauracion"], input[id*="tecnologia"], input[id*="salud_belleza"], input[id*="salud_y_belleza"], input[id*="deportes"], input[id*="deporte"], input[id*="promociones"], input[id*="promocion"]) {
    width: 100%;
  }
}